@labelbee/lb-components 1.20.0-alpha.9 → 1.20.0
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/audioAnnotate/textInput/index.js +1 -1
- package/dist/components/videoAnnotate/index.js +1 -1
- package/dist/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
- package/dist/components/videoPlayer/VideoTagLayer.js +1 -1
- package/dist/components/videoPlayer/components/controller/index.js +1 -1
- package/dist/components/videoPlayer/index.js +1 -1
- package/dist/components/videoPlayer/utils.js +1 -1
- package/dist/index.css +2 -261
- package/dist/index.js +1 -1
- package/dist/store/annotation/reducer.js +1 -1
- package/dist/types/App.d.ts +2 -2
- package/dist/types/components/audioAnnotate/index.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloud2DView.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloud3DView.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudBackView.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudListener.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudSegment.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudSegment2DView.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudSegmentListener.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudSideView.d.ts +1 -1
- package/dist/types/components/pointCloudView/PointCloudTopView.d.ts +3 -3
- package/dist/types/components/pointCloudView/index.d.ts +3 -3
- package/dist/types/components/videoAnnotate/index.d.ts +7 -18
- package/dist/types/components/{videoAnnotate/videoTagTool → videoPlayer}/TagToolInstanceAdaptor.d.ts +10 -6
- package/dist/types/components/videoPlayer/VideoTagLayer.d.ts +0 -1
- package/dist/types/components/videoPlayer/components/controller/index.d.ts +2 -4
- package/dist/types/components/videoPlayer/index.d.ts +0 -11
- package/dist/types/components/videoPlayer/utils.d.ts +0 -6
- package/dist/types/index.d.ts +1 -1
- package/dist/types/views/MainView/sidebar/TextToolSidebar/index.d.ts +1 -2
- package/dist/utils/audio.js +1 -1
- package/dist/views/MainView/LLMLayout/index.js +1 -1
- package/dist/views/MainView/index.js +1 -1
- package/dist/views/MainView/sidebar/TextToolSidebar/index.js +1 -1
- package/dist/views/MainView/sidebar/index.js +1 -1
- package/es/components/audioAnnotate/textInput/index.js +1 -1
- package/es/components/videoAnnotate/index.js +1 -1
- package/es/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
- package/es/components/videoPlayer/VideoTagLayer.js +1 -1
- package/es/components/videoPlayer/components/controller/index.js +1 -1
- package/es/components/videoPlayer/index.js +1 -1
- package/es/components/videoPlayer/utils.js +1 -1
- package/es/index.css +2 -261
- package/es/index.js +1 -1
- package/es/store/annotation/reducer.js +1 -1
- package/es/utils/audio.js +1 -1
- package/es/views/MainView/index.js +1 -1
- package/es/views/MainView/sidebar/TextToolSidebar/index.js +1 -1
- package/es/views/MainView/sidebar/index.js +1 -1
- package/package.json +4 -6
- package/dist/assets/annotation/video/icon_timePoint.svg.js +0 -1
- package/dist/assets/annotation/video/icon_videoCut.svg.js +0 -1
- package/dist/assets/annotation/video/icon_videoCutting.svg.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/VideoClipToolContext.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/ToolTipForClip.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/annotatedList/index.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/annotatedList/index.module.scss.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.module.scss.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.module.scss.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.module.scss.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.module.scss.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/videoTrack/index.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/components/videoTrack/index.module.scss.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/constant.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/index.js +0 -1
- package/dist/components/videoAnnotate/videoClipTool/index.module.scss.js +0 -1
- package/dist/components/videoAnnotate/videoTagTool/TagToolInstanceAdaptor.js +0 -1
- package/dist/components/videoAnnotate/videoTextTool/index.js +0 -1
- package/dist/components/videoPlayer/VideoTextLayer.js +0 -2
- package/dist/types/components/videoAnnotate/videoClipTool/VideoClipToolContext.d.ts +0 -27
- package/dist/types/components/videoAnnotate/videoClipTool/components/ToolTipForClip.d.ts +0 -8
- package/dist/types/components/videoAnnotate/videoClipTool/components/annotatedList/index.d.ts +0 -7
- package/dist/types/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.d.ts +0 -14
- package/dist/types/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.d.ts +0 -18
- package/dist/types/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.d.ts +0 -6
- package/dist/types/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.d.ts +0 -3
- package/dist/types/components/videoAnnotate/videoClipTool/components/videoTrack/index.d.ts +0 -11
- package/dist/types/components/videoAnnotate/videoClipTool/constant.d.ts +0 -26
- package/dist/types/components/videoAnnotate/videoClipTool/index.d.ts +0 -131
- package/dist/types/components/videoAnnotate/videoTextTool/index.d.ts +0 -56
- package/dist/types/components/videoPlayer/VideoTextLayer.d.ts +0 -2
- package/es/assets/annotation/video/icon_timePoint.svg.js +0 -1
- package/es/assets/annotation/video/icon_videoCut.svg.js +0 -1
- package/es/assets/annotation/video/icon_videoCutting.svg.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/VideoClipToolContext.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/ToolTipForClip.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/annotatedList/index.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/annotatedList/index.module.scss.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.module.scss.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.module.scss.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.module.scss.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.module.scss.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/videoTrack/index.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/components/videoTrack/index.module.scss.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/constant.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/index.js +0 -1
- package/es/components/videoAnnotate/videoClipTool/index.module.scss.js +0 -1
- package/es/components/videoAnnotate/videoTagTool/TagToolInstanceAdaptor.js +0 -1
- package/es/components/videoAnnotate/videoTextTool/index.js +0 -1
- package/es/components/videoPlayer/VideoTextLayer.js +0 -2
- /package/dist/components/{videoAnnotate/videoTagTool → videoPlayer}/TagToolInstanceAdaptorI18nProvider.js +0 -0
- /package/dist/types/components/{videoAnnotate/videoTagTool → videoPlayer}/TagToolInstanceAdaptorI18nProvider.d.ts +0 -0
- /package/es/components/{videoAnnotate/videoTagTool → videoPlayer}/TagToolInstanceAdaptorI18nProvider.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var styles={videoTimeSlices:"index-module_videoTimeSlices__v-2k1",timeSliceWrapper:"index-module_timeSliceWrapper__kebC3",active:"index-module_active__cIGVq",timeSliceItemText:"index-module_timeSliceItemText__FJFwH",timeSliceItemAttribute:"index-module_timeSliceItemAttribute__--3E1"};module.exports=styles;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var audio=require("../../../../../utils/audio.js"),lbAnnotation=require("@labelbee/lb-annotation"),icons=require("@ant-design/icons"),React=require("react"),index$1=require("../resizableSnippet/index.js"),constant=require("../../constant.js"),ToolTipForClip=require("../ToolTipForClip.js"),index_module=require("./index.module.scss.js"),utils=require("../../../../videoPlayer/utils.js"),VideoClipToolContext=require("../../VideoClipToolContext.js"),index=require("../../../../videoPlayer/index.js"),reactI18next=require("react-i18next");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,a,e)=>a in r?__defProp(r,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[a]=e,__spreadValues=(r,a)=>{for(var e in a||(a={}))__hasOwnProp.call(a,e)&&__defNormalProp(r,e,a[e]);if(__getOwnPropSymbols)for(var e of __getOwnPropSymbols(a))__propIsEnum.call(a,e)&&__defNormalProp(r,e,a[e]);return r},__spreadProps=(r,a)=>__defProps(r,__getOwnPropDescs(a));const getDisplayContent=(r,a)=>{const{t:e}=reactI18next.useTranslation(),{attribute:u,textAttribute:n}=r;return[lbAnnotation.AttributeUtils.getAttributeShowText(u,a)||e("NoAttribute"),n?`${e("textTool")}: ${n}`:""].filter(m=>m).join("\uFF0C")},sortTrack=(r,a)=>{const e=(r||[]).filter(n=>n).map(()=>[]);r.forEach(n=>{if(n.id!==a){const l=e.findIndex(m=>{const i=n.start,s=n.end;return m.every(p=>{const v=[p.start,p.end],d=[i,s];return!lbAnnotation.MathUtils.isInRange(i,v)&&!lbAnnotation.MathUtils.isInRange(s,v)&&!lbAnnotation.MathUtils.isInRange(p.start,d)&&!lbAnnotation.MathUtils.isInRange(p.end,d)})});l>-1&&e[l].push(n)}});const u=fillArrayLen(e.filter(n=>n.length>0));return u==null?void 0:u.map(n=>({data:n,id:utils.hashCode(n==null?void 0:n.map(l=>l.id).join("_"))}))},fillArrayLen=(r,a=2)=>{let e=r;return e.length-a<0&&(e=e.concat(Array.from({length:a-e.length}))),e},VideoTrack=r=>{var a;const{currentTime:e,readonly:u,onTrackResizeStart:n}=r,{result:l,selectedAttribute:m,attributeList:i,selectedID:s,clipStatus:p,contextToCancel:v}=React.useContext(VideoClipToolContext.VideoClipToolContext),{duration:d}=React.useContext(index.VideoPlayerCtx),y=React.useRef(null),k=e/d,T=(t,o=4)=>`${utils.decimalReserved(t*100,o)}%`,x=t=>{if(t){const o=lbAnnotation.AttributeUtils.getAttributeColor(t.attribute,i),f=Math.max((t.end||e)-t.start,0)/d,c={backgroundColor:o,left:T(t.start/d,2),width:T(t.end?Math.max(f,.001):f,2),position:"absolute",borderRadius:5};return t.type===constant.ETimeSliceType.Time&&(delete c.width,delete c.backgroundColor,c.top="50%",c.transform="translate(-50%)",c.color=o),c}return{}},b=lbAnnotation.AttributeUtils.getAttributeColor(m,i),g=((a=y.current)==null?void 0:a.clientWidth)||0,C=utils.decimalReserved(Math.max(g*k,0),0),E=utils.decimalReserved(Math.min(C,Math.floor(g-68)),0),_=t=>{if(t)return t.type===constant.ETimeSliceType.Time?React__default.default.createElement(ToolTipForClip,{slot:React__default.default.createElement(icons.EnvironmentFilled,{style:x(t)}),item:__spreadProps(__spreadValues({},t),{end:t.end===null?e:t.end}),attributeList:i}):React__default.default.createElement(index$1,{track:t,currentTime:e,style:x(t),onResize:(o,f)=>r.onTrackResize(t.id,o,f),onTrackResizeStart:n,onClipping:p===constant.EClipStatus.Clipping,isSelected:t.id===s,readonly:u,attributeList:i})},P=React.useMemo(()=>{const t=sortTrack(l,s);return t==null?void 0:t.map((o,f)=>{var c;return React__default.default.createElement("div",{className:index_module.track,key:(o==null?void 0:o.id)||f},(c=o.data)==null?void 0:c.map(h=>_(h)))})},[l,s,d,JSON.stringify(i)]),j=React.useMemo(()=>{const t=l.find(o=>(o==null?void 0:o.id)===s);return s&&t?React__default.default.createElement("div",{className:index_module.track,key:t==null?void 0:t.id},_(t)):null},[l,s,d,e,JSON.stringify(i)]);return React__default.default.createElement("div",{className:index_module.videoTrackContainer,ref:y,onContextMenu:v},React__default.default.createElement("div",{className:index_module.timeTrack}),React__default.default.createElement("div",{className:index_module.videoTrack},j,P),React__default.default.createElement("div",{className:index_module.timeline,style:{transform:`translate3d(${C}px, 0px, 0px)`,backgroundColor:b}}),React__default.default.createElement("div",{className:index_module.displayTime,style:{backgroundColor:b,transform:`translateX(${E}px, 0px, 0px)`}},audio.timeFormat(e)))};var VideoTrack$1=VideoTrack;exports.default=VideoTrack$1,exports.getDisplayContent=getDisplayContent;
|
package/dist/components/videoAnnotate/videoClipTool/components/videoTrack/index.module.scss.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var styles={videoTrackContainer:"index-module_videoTrackContainer__0oBy3",timeTrack:"index-module_timeTrack__f--CU",videoTrack:"index-module_videoTrack__auEud",track:"index-module_track__N8mLd",timeline:"index-module_timeline__GppcX",displayTime:"index-module_displayTime__h0Lg7",textOverflow:"index-module_textOverflow__jf6jA"};module.exports=styles;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.EPageChanges=void 0,function(t){t[t.AHEAD=1]="AHEAD",t[t.BACK=-1]="BACK"}(exports.EPageChanges||(exports.EPageChanges={})),exports.EDirection=void 0,function(t){t.Left="left",t.Right="right"}(exports.EDirection||(exports.EDirection={})),exports.EClipStatus=void 0,function(t){t[t.Clipping=0]="Clipping",t[t.Stop=1]="Stop"}(exports.EClipStatus||(exports.EClipStatus={})),exports.ETimeSliceType=void 0,function(t){t[t.Period=0]="Period",t[t.Time=1]="Time"}(exports.ETimeSliceType||(exports.ETimeSliceType={}));const TIME_SLICE_TYPE={[0]:"\u7247\u6BB5",[1]:"\u65F6\u95F4\u70B9"},SLICE_MIN_TIME=.05,PER_SLICE_CHANGE=.05;exports.PER_SLICE_CHANGE=PER_SLICE_CHANGE,exports.SLICE_MIN_TIME=SLICE_MIN_TIME,exports.TIME_SLICE_TYPE=TIME_SLICE_TYPE;
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
"use strict";var styles={clipContainer:"index-module_clipContainer__L8DlL",containerWrapper:"index-module_containerWrapper__49TNa",clipping:"index-module_clipping__M-9B2"};module.exports=styles;
|
|
@@ -1 +0,0 @@
|
|
|
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=(e=!0,t)=>{const i=t?this.state.tagResult.map(l=>((l==null?void 0:l.result[t])&&delete l.result[t],l)):[];this.setState({tagResult:i},()=>this.emitEvent("render"))},this.exportData=()=>{var e,t,i,l,o,n,r;const a=(t=(e=this.videoPlayer)==null?void 0:e.duration)!=null?t:0,d=(i=this.videoPlayer)==null?void 0:i.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,c=(o=(l=this.videoPlayer)==null?void 0:l.videoWidth)!=null?o:0,v=(r=(n=this.videoPlayer)==null?void 0:n.videoHeight)!=null?r:0;return[this.state.tagResult,{valid:this.state.valid,duration:a,frames:u,videoWidth:c,videoHeight:v}]},this.emitEvent=e=>{this.fns[e]&&this.fns[e]()},this.combineResult=(e,t={})=>{var i,l;const{isMulti:o}=e,{key:n,value:r}=e.value;if(o){let a=(l=(i=t[n])==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 t[n]=Array.from(d).join(";"),___default.default.pickBy(t,u=>u)}return t[n]=t[n]===r?void 0:r,___default.default.pickBy(t,a=>a)},this.setResult=e=>{this.setState({tagResult:e}),this.fns.render&&this.fns.render()},this.setLabel=(e,t)=>{this.setLabelBySelectedList(e,t)},this.keydown=e=>{const t=utils.getKeyCodeNumber(e.keyCode);if(t){const i=t-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=e=>{this.setState({valid:e}),e===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=e=>{var t;const{imgList:i,imgIndex:l,step:o}=e;if(!i[l])return;const n=index.jsonParser(i[l].result),r=n[`step_${o}`];this.setState({tagResult:(t=r==null?void 0:r.result)!=null?t:[],valid:(n==null?void 0:n.valid)===void 0?!0:n.valid})},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,e){this.fns[s]=e}on(s,e){this.singleOn(s,e)}unbindAll(s){delete this.fns[s]}getTagResultByCode(s,e){var t,i,l;try{const o=(i=(t=this.config)==null?void 0:t.inputList)!=null?i:[],n=o.length>1,r=e!==void 0?s:0,a=e!==void 0?e:s,d=n?o[r]:o[0],u=((l=d.subSelected)!=null?l:[])[a];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(o){return}}setLabelBySelectedList(s,e){var t,i,l,o;const n=this.getTagResultByCode(s,e);if(n){const r=this.combineResult(n,(i=(t=this.state.tagResult[0])==null?void 0:t.result)!=null?i:{}),a=[{sourceID:lbAnnotation.CommonToolUtils.getSourceID(),id:(o=(l=this.currentTagResult)==null?void 0:l.id)!=null?o:lbAnnotation.uuid(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:e,imgList:t,pageForward:i,pageJump:l,pageBackward:o}=this.props,{tagResult:n,valid:r}=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:e,imgList:t,pageBackward:o,pageForward:i,pageJump:l,valid:r,setVideoRef:a=>{this.videoPlayer=a},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),React__default.default.createElement(VideoTagLayer.VideoTagLayer,{result:n,inputList:(s=this.config)==null?void 0:s.inputList,hasPromptLayer:!!this.props.drawLayerSlot}))}}exports.TagToolInstanceAdaptor=TagToolInstanceAdaptor;
|
|
@@ -1 +0,0 @@
|
|
|
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(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_);class VideoTextTool extends React__default.default.Component{constructor(e){super(e);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,l,s,r,i,n,o;const d=(l=(t=this.videoPlayer)==null?void 0:t.duration)!=null?l:0,u=(s=this.videoPlayer)==null?void 0:s.getVideoPlaybackQuality(),h=u==null?void 0:u.totalVideoFrames,v=(i=(r=this.videoPlayer)==null?void 0:r.videoWidth)!=null?i:0,p=(o=(n=this.videoPlayer)==null?void 0:n.videoHeight)!=null?o: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.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,l,s)=>{var r;const i=___default.default.cloneDeep(s!=null?s:{});i.value=Object.assign((r=i.value)!=null?r:{},{[t]:l}),this.setState({result:i},()=>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 l,s;const{imgList:r,imgIndex:i,step:n}=t;if(!r[i])return;const o=index.jsonParser(r[i].result),d=o[`step_${n}`];this.setState({result:(s=(l=d==null?void 0:d.result)==null?void 0:l[0])!=null?s:{},valid:(o==null?void 0:o.valid)===void 0?!0:o.valid},()=>this.updateSidebar())},this.state={result:{},valid:!0,showText:!0}}get config(){var e;return index.jsonParser((e=this.props.stepInfo)==null?void 0:e.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get valid(){return this.state.valid}get textList(){return[this.state.result]}getColor(e=this.config,t=""){return lbUtils.toolStyleConverter.getColorByConfig({attribute:t,config:e})}singleOn(e,t){this.fns[e]=t}on(e,t){this.singleOn(e,t)}unbindAll(e){delete this.fns[e]}componentDidMount(){this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){this.props.onUnmounted()}shouldComponentUpdate(e){return e.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(e),!0}render(){var e,t;const{imgIndex:l,imgList:s,pageForward:r,pageJump:i,pageBackward:n}=this.props,{result:o,valid:d,showText:u}=this.state;return React__default.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},u&&o.value&&React__default.default.createElement(VideoTextLayer.VideoTextLayer,{value:o.value,toolColor:(t=(e=this.getColor(this.config))==null?void 0:e.valid)==null?void 0:t.fill,configList:this.config.configList,hasPromptLayer:!!this.props.drawLayerSlot}),React__default.default.createElement(index$1.VideoPlayer,{imgIndex:l,imgList:s,pageBackward:n,pageForward:r,pageJump:i,valid:d,setVideoRef:h=>{this.videoPlayer=h},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}))}}exports.VideoTextTool=VideoTextTool;
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React);const VideoTextLayer=t=>{const{toolColor:n,value:a,configList:l,showEmptyValue:u,hasPromptLayer:i}=t,c=React.useRef(null),d=e=>{var r;const o=l==null?void 0:l.find(p=>p.key===e);return(r=o==null?void 0:o.label)!=null?r:e},s=e=>e.endsWith(`
|
|
2
|
-
`)?e+" ":e;return React__default.default.createElement("div",{ref:c,style:{position:"absolute",right:0,top:i?40:0,zIndex:22,maxWidth:416,fontFamily:"SourceHanSansCN-Regular",background:n,color:"white",wordBreak:"break-all",lineHeight:"24px",whiteSpace:"pre-wrap",maxHeight:"80%",overflowY:"auto",opacity:.9}},Object.keys(a).filter(e=>u?!0:a[e]).map(e=>React__default.default.createElement("div",{key:e,style:{padding:"8px 16px"}},React__default.default.createElement("div",null,`${d(e)}:`),React__default.default.createElement("div",null,s(a[e])||"(\u7A7A)"))))};exports.VideoTextLayer=VideoTextLayer;
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @author whq <752342314@qq.com>
|
|
3
|
-
* @file Store for VideoClipTool
|
|
4
|
-
* @date 2023-12-12
|
|
5
|
-
*/
|
|
6
|
-
import React from 'react';
|
|
7
|
-
import { EClipStatus } from './constant';
|
|
8
|
-
import { IInputList, IVideoTimeSlice } from '@labelbee/lb-utils';
|
|
9
|
-
interface IVideoClipToolContext {
|
|
10
|
-
result: IVideoTimeSlice[];
|
|
11
|
-
selectedID: string;
|
|
12
|
-
attributeList: IInputList[];
|
|
13
|
-
videoPlayer?: any;
|
|
14
|
-
clipStatus: EClipStatus;
|
|
15
|
-
selectedAttribute?: string;
|
|
16
|
-
contextToCancel?: (e: any) => void;
|
|
17
|
-
}
|
|
18
|
-
export declare const VideoClipToolContext: React.Context<IVideoClipToolContext>;
|
|
19
|
-
export declare const VideoClipToolContextProvider: React.Provider<IVideoClipToolContext>;
|
|
20
|
-
interface IVideoClipAnnotatedListContext {
|
|
21
|
-
onSelectedTimeSlice: (timeSlice: IVideoTimeSlice) => void;
|
|
22
|
-
removeTimeSlice: (timeSlice: IVideoTimeSlice) => void;
|
|
23
|
-
updateSelectedSliceTimeProperty: (val: number, key: 'start' | 'end') => void;
|
|
24
|
-
}
|
|
25
|
-
export declare const VideoClipAnnotatedListContext: React.Context<IVideoClipAnnotatedListContext>;
|
|
26
|
-
export declare const VideoClipAnnotatedListContextProvider: React.Provider<IVideoClipAnnotatedListContext>;
|
|
27
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { IVideoTimeSlice, IInputList } from '@labelbee/lb-utils';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
declare const ToolTipForClip: (props: {
|
|
4
|
-
slot: React.ReactElement | undefined;
|
|
5
|
-
item: IVideoTimeSlice;
|
|
6
|
-
attributeList: IInputList[];
|
|
7
|
-
}) => React.JSX.Element | null;
|
|
8
|
-
export default ToolTipForClip;
|
package/dist/types/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface IProps {
|
|
3
|
-
track: any;
|
|
4
|
-
currentTime: number;
|
|
5
|
-
attributeList: any[];
|
|
6
|
-
readonly: boolean;
|
|
7
|
-
onClipping: boolean;
|
|
8
|
-
onTrackResizeStart: () => void;
|
|
9
|
-
onResize: (direction: any, changedPercentage: number) => void;
|
|
10
|
-
style: React.CSSProperties;
|
|
11
|
-
isSelected?: boolean;
|
|
12
|
-
}
|
|
13
|
-
declare const ResizableSnippet: (props: IProps) => React.JSX.Element;
|
|
14
|
-
export default ResizableSnippet;
|
package/dist/types/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file 视频截取工具,片段截取时间范围
|
|
3
|
-
* @author lijingchi <lijingchi1@sensetime.com>
|
|
4
|
-
* @createdate 2022-11-07
|
|
5
|
-
*/
|
|
6
|
-
import { IVideoTimeSlice } from '@labelbee/lb-utils';
|
|
7
|
-
import React from 'react';
|
|
8
|
-
/**
|
|
9
|
-
* 选中的片段进行时间更新的输入模块
|
|
10
|
-
* @returns
|
|
11
|
-
*/
|
|
12
|
-
declare const TimeSliceRange: ({ selectedTimeSlice, videoPlayer, updateTimeForSelected, disabled, }: {
|
|
13
|
-
selectedTimeSlice?: IVideoTimeSlice | undefined;
|
|
14
|
-
videoPlayer?: any;
|
|
15
|
-
updateTimeForSelected: (val: number, key: 'start' | 'end') => void;
|
|
16
|
-
disabled: boolean;
|
|
17
|
-
}) => React.JSX.Element | null;
|
|
18
|
-
export default TimeSliceRange;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
interface IProps {
|
|
3
|
-
currentTime: number;
|
|
4
|
-
onTrackResize: any;
|
|
5
|
-
readonly: boolean;
|
|
6
|
-
onTrackResizeStart: () => void;
|
|
7
|
-
}
|
|
8
|
-
/** 视频片段的显示内容 */
|
|
9
|
-
export declare const getDisplayContent: (i: any, attributeList: any) => string;
|
|
10
|
-
declare const VideoTrack: (props: IProps) => React.JSX.Element;
|
|
11
|
-
export default VideoTrack;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export declare enum EPageChanges {
|
|
2
|
-
/** 往前翻页 */
|
|
3
|
-
AHEAD = 1,
|
|
4
|
-
/** 往后翻页 */
|
|
5
|
-
BACK = -1
|
|
6
|
-
}
|
|
7
|
-
export declare enum EDirection {
|
|
8
|
-
Left = "left",
|
|
9
|
-
Right = "right"
|
|
10
|
-
}
|
|
11
|
-
export declare enum EClipStatus {
|
|
12
|
-
Clipping = 0,
|
|
13
|
-
Stop = 1
|
|
14
|
-
}
|
|
15
|
-
export declare enum ETimeSliceType {
|
|
16
|
-
/** 片段 */
|
|
17
|
-
Period = 0,
|
|
18
|
-
/** 时间点 */
|
|
19
|
-
Time = 1
|
|
20
|
-
}
|
|
21
|
-
export declare const TIME_SLICE_TYPE: {
|
|
22
|
-
[key: number]: string;
|
|
23
|
-
};
|
|
24
|
-
/** 最小允许片段时间 */
|
|
25
|
-
export declare const SLICE_MIN_TIME = 0.05;
|
|
26
|
-
export declare const PER_SLICE_CHANGE = 0.05;
|
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
import _ from 'lodash';
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { IVideoTimeSlice } from '@labelbee/lb-utils';
|
|
4
|
-
import { EClipStatus, EDirection } from './constant';
|
|
5
|
-
import { IVideoAnnotateProps } from '@/components/videoAnnotate';
|
|
6
|
-
interface IVideoClipProps extends IVideoAnnotateProps {
|
|
7
|
-
pageForward: () => void;
|
|
8
|
-
pageJump: (page: string) => void;
|
|
9
|
-
pageBackward: () => void;
|
|
10
|
-
onMounted: (instance: any) => void;
|
|
11
|
-
onUnmounted: () => void;
|
|
12
|
-
}
|
|
13
|
-
interface IState {
|
|
14
|
-
result: IVideoTimeSlice[];
|
|
15
|
-
selectedAttribute: string;
|
|
16
|
-
textValue: string;
|
|
17
|
-
clipStatus: EClipStatus;
|
|
18
|
-
selectedID: string;
|
|
19
|
-
loading: boolean;
|
|
20
|
-
videoError: boolean;
|
|
21
|
-
remainingTime: number;
|
|
22
|
-
currentTime: number;
|
|
23
|
-
configLoading: boolean;
|
|
24
|
-
valid: boolean;
|
|
25
|
-
}
|
|
26
|
-
declare class VideoClipTool extends React.Component<IVideoClipProps, IState> {
|
|
27
|
-
get videoUrl(): string;
|
|
28
|
-
get isClipping(): boolean;
|
|
29
|
-
/** 结果JSON */
|
|
30
|
-
get resultJSON(): string | undefined;
|
|
31
|
-
get disabled(): boolean;
|
|
32
|
-
get loading(): boolean;
|
|
33
|
-
get defaultTextAttribute(): string;
|
|
34
|
-
get defaultAttribute(): string;
|
|
35
|
-
get selectedSliceIndex(): number;
|
|
36
|
-
get exportContext(): {
|
|
37
|
-
selectedID: string;
|
|
38
|
-
result: IVideoTimeSlice[];
|
|
39
|
-
clipStatus: EClipStatus;
|
|
40
|
-
videoPlayer: any;
|
|
41
|
-
attributeList: any;
|
|
42
|
-
onSelectedTimeSlice: (i: IVideoTimeSlice) => void;
|
|
43
|
-
removeTimeSlice: (item: IVideoTimeSlice) => void;
|
|
44
|
-
updateSelectedSliceTimeProperty: (val: number, key: "end" | "start") => void;
|
|
45
|
-
};
|
|
46
|
-
fns: Map<string, any[]>;
|
|
47
|
-
videoPlayer?: any;
|
|
48
|
-
videoNode?: HTMLVideoElement;
|
|
49
|
-
videoRef?: HTMLVideoElement;
|
|
50
|
-
throttledUpdateTime: _.DebouncedFunc<(newValue: number) => void>;
|
|
51
|
-
constructor(props: IVideoClipProps);
|
|
52
|
-
get valid(): boolean;
|
|
53
|
-
/** 步骤信息 */
|
|
54
|
-
stepInfo: () => import("../../../types/step").IStepInfo;
|
|
55
|
-
componentDidMount(): void;
|
|
56
|
-
componentWillUnmount(): void;
|
|
57
|
-
shouldComponentUpdate(newProps: any, newState: IState): boolean;
|
|
58
|
-
emitEvent: (event: string) => void;
|
|
59
|
-
singleOn(event: string, func: () => void): void;
|
|
60
|
-
on(event: string, func: () => void): void;
|
|
61
|
-
unbindAll(eventName: string): void;
|
|
62
|
-
setValid: (valid: boolean) => void;
|
|
63
|
-
updateSidebar: () => void;
|
|
64
|
-
exportData: () => (IVideoTimeSlice[] | {
|
|
65
|
-
valid: boolean;
|
|
66
|
-
duration: number;
|
|
67
|
-
})[];
|
|
68
|
-
/**
|
|
69
|
-
* 微调选中截取片段的开始时间(start)
|
|
70
|
-
* @param changeTime
|
|
71
|
-
*/
|
|
72
|
-
updateSelectedSliceTimeStartByPer: (changeTime: number) => void;
|
|
73
|
-
/**
|
|
74
|
-
* 微调选中截取片段的最后时间(end)
|
|
75
|
-
* @param changeTime
|
|
76
|
-
*/
|
|
77
|
-
updateSelectedSliceTimeEndByPer: (changeTime: number) => void;
|
|
78
|
-
updateSelectedSliceTimeProperty: (val: number, key: 'start' | 'end') => void;
|
|
79
|
-
keyDownEvents: (e: KeyboardEvent) => void;
|
|
80
|
-
videoLoaded: (totalTime?: number) => void;
|
|
81
|
-
setVideoError: (videoError: boolean, errorType: any, curTime: number) => void;
|
|
82
|
-
clearResult: () => void;
|
|
83
|
-
/** 取消截取 */
|
|
84
|
-
cancelClipped: () => void;
|
|
85
|
-
/**
|
|
86
|
-
* 切换截取状态,如为开启则添加end为null的数据,否则将对应截取片段的时间补全
|
|
87
|
-
* @param curTime
|
|
88
|
-
* @returns
|
|
89
|
-
*/
|
|
90
|
-
toggleClipStatus: (curTime?: number) => void;
|
|
91
|
-
/** 添加时间点 */
|
|
92
|
-
addTime: () => void;
|
|
93
|
-
/**
|
|
94
|
-
* 视频右键操作
|
|
95
|
-
* @param e
|
|
96
|
-
*/
|
|
97
|
-
contextToCancel: (e: MouseEvent) => void;
|
|
98
|
-
/**
|
|
99
|
-
* 重新调整片段长度
|
|
100
|
-
* @param id
|
|
101
|
-
* @param direction
|
|
102
|
-
* @param changedPercent
|
|
103
|
-
*/
|
|
104
|
-
onTrackResize: (id: string, direction: EDirection, changedPercent: number) => void;
|
|
105
|
-
/**
|
|
106
|
-
* 渲染页面标注视频组件
|
|
107
|
-
* @returns
|
|
108
|
-
*/
|
|
109
|
-
renderMediaContent: () => React.JSX.Element;
|
|
110
|
-
/**
|
|
111
|
-
* 选中片段
|
|
112
|
-
* @param i
|
|
113
|
-
* @returns
|
|
114
|
-
*/
|
|
115
|
-
onSelectedTimeSlice: (i: IVideoTimeSlice) => void;
|
|
116
|
-
/** 根据数据删除片段 */
|
|
117
|
-
removeTimeSlice: (item: IVideoTimeSlice) => void;
|
|
118
|
-
setResult: (loading?: boolean, props?: any) => void;
|
|
119
|
-
/**
|
|
120
|
-
* 当前选中的属性改变
|
|
121
|
-
* @param attribute
|
|
122
|
-
*/
|
|
123
|
-
setDefaultAttribute: (attribute: string) => void;
|
|
124
|
-
/**
|
|
125
|
-
* 设置当前选中片段的文本
|
|
126
|
-
* @param textValue
|
|
127
|
-
*/
|
|
128
|
-
setTextAttribute: (textValue: string) => void;
|
|
129
|
-
render(): React.JSX.Element;
|
|
130
|
-
}
|
|
131
|
-
export default VideoClipTool;
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { IVideoAnnotateProps } from '@/components/videoAnnotate';
|
|
3
|
-
export interface IVideoTextInstanceAdaptorProps extends IVideoAnnotateProps {
|
|
4
|
-
pageForward: () => void;
|
|
5
|
-
pageJump: (page: string) => void;
|
|
6
|
-
pageBackward: () => void;
|
|
7
|
-
onMounted: (instance: any) => void;
|
|
8
|
-
onUnmounted: () => void;
|
|
9
|
-
}
|
|
10
|
-
interface IVideoTextInstanceAdaptorState {
|
|
11
|
-
result: any;
|
|
12
|
-
valid: boolean;
|
|
13
|
-
showText: boolean;
|
|
14
|
-
}
|
|
15
|
-
export declare class VideoTextTool extends React.Component<IVideoTextInstanceAdaptorProps, IVideoTextInstanceAdaptorState> {
|
|
16
|
-
fns: {
|
|
17
|
-
[key: string]: () => void;
|
|
18
|
-
};
|
|
19
|
-
videoPlayer?: HTMLVideoElement;
|
|
20
|
-
constructor(props: IVideoTextInstanceAdaptorProps);
|
|
21
|
-
get config(): any;
|
|
22
|
-
/** Just implementation, no actual logic */
|
|
23
|
-
get history(): {
|
|
24
|
-
initRecord: () => void;
|
|
25
|
-
pushHistory: () => void;
|
|
26
|
-
};
|
|
27
|
-
get valid(): boolean;
|
|
28
|
-
get textList(): any[];
|
|
29
|
-
getColor(config?: any, attribute?: string): any;
|
|
30
|
-
clearResult: (sendMsg?: boolean) => void;
|
|
31
|
-
exportData: () => (any[] | {
|
|
32
|
-
valid: boolean;
|
|
33
|
-
duration: number;
|
|
34
|
-
frames: number | undefined;
|
|
35
|
-
videoWidth: number;
|
|
36
|
-
videoHeight: number;
|
|
37
|
-
})[];
|
|
38
|
-
toggleShowText: (v: boolean) => void;
|
|
39
|
-
singleOn(event: string, func: () => void): void;
|
|
40
|
-
on(event: string, func: () => void): void;
|
|
41
|
-
unbindAll(eventName: string): void;
|
|
42
|
-
emitEvent: (event: string) => void;
|
|
43
|
-
updateSidebar: () => void;
|
|
44
|
-
updateTextValue: (key: string, text: string, result?: {
|
|
45
|
-
[key: string]: string;
|
|
46
|
-
} | undefined) => void;
|
|
47
|
-
setResult: (result: any) => void;
|
|
48
|
-
setValid: (valid: boolean) => void;
|
|
49
|
-
componentDidMount(): void;
|
|
50
|
-
componentWillUnmount(): void;
|
|
51
|
-
setResultFromImgList: (props: IVideoTextInstanceAdaptorProps) => void;
|
|
52
|
-
/** Observer imgIndex and set result */
|
|
53
|
-
shouldComponentUpdate(props: IVideoTextInstanceAdaptorProps): boolean;
|
|
54
|
-
render(): React.JSX.Element;
|
|
55
|
-
}
|
|
56
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var c="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: none%3b %7d .cls-2 %7b clip-path: url(%23clip-path)%3b %7d .cls-3 %7b fill: rgba(0%2c0%2c0%2c0)%3b %7d .cls-4 %7b clip-path: url(%23clip-path-2)%3b %7d .cls-5 %7b fill: %23bbb%3b %7d %3c/style%3e %3cclipPath id='clip-path'%3e %3cpath id='%e8%b7%af%e5%be%84_706' data-name='%e8%b7%af%e5%be%84 706' class='cls-1' d='M0%2c4H20V-16H0Z' transform='translate(0 16)'/%3e %3c/clipPath%3e %3cclipPath id='clip-path-2'%3e %3cpath id='%e8%b7%af%e5%be%84_708' data-name='%e8%b7%af%e5%be%84 708' class='cls-1' d='M9.019-14.953a6.887%2c6.887%2c0%2c0%2c1%2c2.653.525A6.81%2c6.81%2c0%2c0%2c1%2c13.843-13a6.656%2c6.656%2c0%2c0%2c1%2c1.467%2c2.125%2c6.522%2c6.522%2c0%2c0%2c1%2c.54%2c2.608%2c8.608%2c8.608%2c0%2c0%2c1-.924%2c3.831%2c12.094%2c12.094%2c0%2c0%2c1-2.038%2c2.9%2c16.4%2c16.4%2c0%2c0%2c1-3.46%2c2.81.811.811%2c0%2c0%2c1-.823%2c0%2c16.4%2c16.4%2c0%2c0%2c1-3.46-2.81%2c12.13%2c12.13%2c0%2c0%2c1-2.038-2.9%2c8.672%2c8.672%2c0%2c0%2c1-.92-3.832%2c6.522%2c6.522%2c0%2c0%2c1%2c.54-2.608A6.677%2c6.677%2c0%2c0%2c1%2c4.195-13%2c6.84%2c6.84%2c0%2c0%2c1%2c6.365-14.43%2c6.92%2c6.92%2c0%2c0%2c1%2c9.019-14.953Zm0%2c4.646a2.35%2c2.35%2c0%2c0%2c0-2.35%2c2.35%2c2.35%2c2.35%2c0%2c0%2c0%2c2.35%2c2.35%2c2.35%2c2.35%2c0%2c0%2c0%2c2.35-2.35A2.35%2c2.35%2c0%2c0%2c0%2c9.019-10.307Z' transform='translate(-2.188 14.953)'/%3e %3c/clipPath%3e %3c/defs%3e %3cg id='icon_timePoint' transform='translate(0 16)'%3e %3cg id='%e7%bb%84_1284' data-name='%e7%bb%84 1284' class='cls-2' transform='translate(0 -16)'%3e %3cpath id='%e8%b7%af%e5%be%84_705' data-name='%e8%b7%af%e5%be%84 705' class='cls-3' d='M-5-21H27.5V11.5H-5Z' transform='translate(-1.25 14.75)'/%3e %3c/g%3e %3cg id='%e7%bb%84_1285' data-name='%e7%bb%84 1285' class='cls-4' transform='translate(3.169 -14.172)'%3e %3cpath id='%e8%b7%af%e5%be%84_707' data-name='%e8%b7%af%e5%be%84 707' class='cls-5' d='M-2.812-19.953H22.6V8.141H-2.812Z' transform='translate(-3.064 14.077)'/%3e %3c/g%3e %3c/g%3e%3c/svg%3e";export{c as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var c="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20' height='20' viewBox='0 0 20 20'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: none%3b %7d .cls-2 %7b clip-path: url(%23clip-path)%3b %7d .cls-3 %7b fill: rgba(0%2c0%2c0%2c0)%3b %7d .cls-4 %7b clip-path: url(%23clip-path-2)%3b %7d .cls-5 %7b fill: %23bbb%3b %7d %3c/style%3e %3cclipPath id='clip-path'%3e %3cpath id='%e8%b7%af%e5%be%84_683' data-name='%e8%b7%af%e5%be%84 683' class='cls-1' d='M0%2c4H20V-16H0Z' transform='translate(0 16)'/%3e %3c/clipPath%3e %3cclipPath id='clip-path-2'%3e %3cpath id='%e8%b7%af%e5%be%84_685' data-name='%e8%b7%af%e5%be%84 685' class='cls-1' d='M5.959-3.6A3.049%2c3.049%2c0%2c0%2c0%2c2.91-.547%2c3.047%2c3.047%2c0%2c0%2c0%2c5.959%2c2.5%2c3.049%2c3.049%2c0%2c0%2c0%2c9.008-.549%2c3.047%2c3.047%2c0%2c0%2c0%2c5.959-3.6ZM6.011.924A1.578%2c1.578%2c0%2c0%2c1%2c4.435-.652%2c1.577%2c1.577%2c0%2c0%2c1%2c6.011-2.229%2c1.575%2c1.575%2c0%2c0%2c1%2c7.588-.654%2c1.578%2c1.578%2c0%2c0%2c1%2c6.011.924Zm7.121-4.73A3.075%2c3.075%2c0%2c0%2c0%2c10.058-.732%2c3.073%2c3.073%2c0%2c0%2c0%2c13.133%2c2.34%2c3.075%2c3.075%2c0%2c0%2c0%2c16.207-.734a3.076%2c3.076%2c0%2c0%2c0-3.074-3.072ZM13.211.869A1.577%2c1.577%2c0%2c0%2c1%2c11.635-.707a1.577%2c1.577%2c0%2c0%2c1%2c1.576-1.576A1.577%2c1.577%2c0%2c0%2c1%2c14.787-.707%2c1.577%2c1.577%2c0%2c0%2c1%2c13.211.869Zm2.26-15.555a3.853%2c3.853%2c0%2c0%2c1%2c.631%2c4.1L9.533-2.23s-4.518-5.2-6.357-7.777A4.217%2c4.217%2c0%2c0%2c1%2c3.279-15L9.533-7.012ZM9.533-3.965a.789.789%2c0%2c0%2c0%2c.789-.789.789.789%2c0%2c0%2c0-.789-.789.789.789%2c0%2c0%2c0-.789.789A.789.789%2c0%2c0%2c0%2c9.533-3.965Z' transform='translate(-2.384 15)'/%3e %3c/clipPath%3e %3c/defs%3e %3cg id='icon_videoCut' transform='translate(0 16)'%3e %3cg id='%e7%bb%84_1219' data-name='%e7%bb%84 1219' class='cls-2' transform='translate(0 -16)'%3e %3cpath id='%e8%b7%af%e5%be%84_682' data-name='%e8%b7%af%e5%be%84 682' class='cls-3' d='M-5-21H27.5V11.5H-5Z' transform='translate(-1.25 14.75)'/%3e %3c/g%3e %3cg id='%e7%bb%84_1220' data-name='%e7%bb%84 1220' class='cls-4' transform='translate(2.98 -14.75)'%3e %3cpath id='%e8%b7%af%e5%be%84_684' data-name='%e8%b7%af%e5%be%84 684' class='cls-5' d='M-2.616-20H23.926V10H-2.616Z' transform='translate(-3.634 13.75)'/%3e %3c/g%3e %3c/g%3e%3c/svg%3e";export{c as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var c="data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='72' height='24' viewBox='0 0 72 24'%3e %3cdefs%3e %3cstyle%3e .cls-1 %7b fill: none%3b %7d .cls-2 %7b fill: %23e02020%3b %7d .cls-3 %7b clip-path: url(%23clip-path)%3b %7d .cls-4 %7b fill: rgba(0%2c0%2c0%2c0)%3b %7d .cls-5 %7b clip-path: url(%23clip-path-2)%3b %7d .cls-6%2c .cls-7 %7b fill: white%3b %7d .cls-7 %7b font-size: 14px%3b font-family: SourceHanSansCN-Medium%2c Source Han Sans CN%3b font-weight: 500%3b %7d %3c/style%3e %3cclipPath id='clip-path'%3e %3cpath id='%e8%b7%af%e5%be%84_683' data-name='%e8%b7%af%e5%be%84 683' class='cls-1' d='M0-2H14V-16H0Z' transform='translate(0 16)'/%3e %3c/clipPath%3e %3cclipPath id='clip-path-2'%3e %3cpath id='%e8%b7%af%e5%be%84_685' data-name='%e8%b7%af%e5%be%84 685' class='cls-1' d='M4.884-7.02A2.133%2c2.133%2c0%2c0%2c0%2c2.752-4.886%2c2.132%2c2.132%2c0%2c0%2c0%2c4.884-2.754%2c2.133%2c2.133%2c0%2c0%2c0%2c7.016-4.888%2c2.132%2c2.132%2c0%2c0%2c0%2c4.884-7.02Zm.037%2c3.163a1.1%2c1.1%2c0%2c0%2c1-1.1-1.1%2c1.1%2c1.1%2c0%2c0%2c1%2c1.1-1.1%2c1.1%2c1.1%2c0%2c0%2c1%2c1.1%2c1.1A1.1%2c1.1%2c0%2c0%2c1%2c4.921-3.857ZM9.9-7.167a2.151%2c2.151%2c0%2c0%2c0-2.15%2c2.151A2.15%2c2.15%2c0%2c0%2c0%2c9.9-2.866a2.151%2c2.151%2c0%2c0%2c0%2c2.15-2.151A2.152%2c2.152%2c0%2c0%2c0%2c9.9-7.167ZM9.955-3.9A1.1%2c1.1%2c0%2c0%2c1%2c8.853-5a1.1%2c1.1%2c0%2c0%2c1%2c1.1-1.1%2c1.1%2c1.1%2c0%2c0%2c1%2c1.1%2c1.1A1.1%2c1.1%2c0%2c0%2c1%2c9.955-3.9Zm1.58-10.885a2.7%2c2.7%2c0%2c0%2c1%2c.441%2c2.869L7.383-6.064S4.224-9.705%2c2.937-11.507A2.953%2c2.953%2c0%2c0%2c1%2c3.01-15L7.383-9.41Zm-4.152%2c7.5a.552.552%2c0%2c0%2c0%2c.552-.552.552.552%2c0%2c0%2c0-.552-.552.552.552%2c0%2c0%2c0-.552.552A.552.552%2c0%2c0%2c0%2c7.383-7.278Z' transform='translate(-2.384 15)'/%3e %3c/clipPath%3e %3c/defs%3e %3cg id='icon_videoCutting' transform='translate(-32 -218)'%3e %3crect id='%e7%9f%a9%e5%bd%a2_414' data-name='%e7%9f%a9%e5%bd%a2 414' class='cls-2' width='72' height='24' rx='4' transform='translate(32 218)'/%3e %3cg id='%e7%bb%84_1232' data-name='%e7%bb%84 1232' transform='translate(3)'%3e %3cg id='%e7%bb%84_1230' data-name='%e7%bb%84 1230' transform='translate(36 239)'%3e %3cg id='%e7%bb%84_1219' data-name='%e7%bb%84 1219' class='cls-3' transform='translate(0 -16)'%3e %3cpath id='%e8%b7%af%e5%be%84_682' data-name='%e8%b7%af%e5%be%84 682' class='cls-4' d='M-5-21H17.75V1.75H-5Z' transform='translate(0.625 16.625)'/%3e %3c/g%3e %3cg id='%e7%bb%84_1220' data-name='%e7%bb%84 1220' class='cls-5' transform='translate(2.091 -15.123)'%3e %3cpath id='%e8%b7%af%e5%be%84_684' data-name='%e8%b7%af%e5%be%84 684' class='cls-6' d='M-2.616-20H15.945V.993H-2.616Z' transform='translate(-1.755 15.626)'/%3e %3c/g%3e %3c/g%3e %3ctext id='%e6%88%aa%e5%8f%96%e4%b8%ad' class='cls-7' transform='translate(52 235)'%3e%3ctspan x='0' y='0'%3e%e6%88%aa%e5%8f%96%e4%b8%ad%3c/tspan%3e%3c/text%3e %3c/g%3e %3c/g%3e%3c/svg%3e";export{c as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import{EClipStatus as i}from"./constant.js";const t=e.createContext({result:[],selectedID:"",attributeList:[],clipStatus:i.Stop}),r=t.Provider,o=e.createContext({onSelectedTimeSlice:()=>{},removeTimeSlice:()=>{},updateSelectedSliceTimeProperty:()=>{}});o.Provider;export{o as VideoClipAnnotatedListContext,t as VideoClipToolContext,r as VideoClipToolContextProvider};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{timeFormat as o,precisionMinus as v}from"../../../../utils/audio.js";import{AttributeUtils as F}from"@labelbee/lb-annotation";import{Tooltip as S}from"antd";import e from"react";import{ETimeSliceType as T}from"../constant.js";import{decimalReserved as u}from"../../../videoPlayer/utils.js";import{useTranslation as A}from"react-i18next";const $=m=>{var l,n;const{slot:s,item:t,attributeList:c}=m,{t:r}=A();if(!s)return null;const{type:d,attribute:p,textAttribute:b}=t;if(t.start===void 0||t.end===void 0)return null;const i=u(t.start,2),a=(n=u((l=t.end)!=null?l:0,2))!=null?n:0,f=e.createElement("div",null,e.createElement("div",null,d===T.Period?`${o(i,"ss:SS")}~${o(a,"ss:SS")}\uFF0C${v(a,i)}s`:o(i,"ss:SS")),e.createElement("div",null,`${r("Attribute")}\uFF1A${F.getAttributeShowText(p,c)||r("NoAttribute")}`),e.createElement("div",null,`${r("textTool")}\uFF1A${b}`));return e.createElement(S,{title:f},s)};export{$ as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{timeFormat as E}from"../../../../../utils/audio.js";import{classnames as d}from"../../../../../utils/index.js";import{CloseCircleFilled as y,EnvironmentFilled as S,ScissorOutlined as I}from"@ant-design/icons";import t,{useState as L,useEffect as g}from"react";import{EClipStatus as N,TIME_SLICE_TYPE as j,ETimeSliceType as v}from"../../constant.js";import A from"../timeSliceRange/index.js";import k from"../ToolTipForClip.js";import{getDisplayContent as b}from"../videoTrack/index.js";import l from"./index.module.scss.js";import{decimalReserved as F}from"../../../../videoPlayer/utils.js";import{LabelBeeContext as $}from"../../../../../store/ctx.js";import{connect as D}from"react-redux";import{useTranslation as C}from"react-i18next";const R=({type:e})=>e===v.Time?t.createElement(S,null):t.createElement(I,{rotate:270}),V=()=>{const{t:e}=C();return t.createElement("div",{className:l.noContent},t.createElement("div",null,e("NoClippedData")),t.createElement("div",null,t.createElement("span",{className:l.hotkey},"X"),e("ClipSlice")),t.createElement("div",null,t.createElement("span",{className:l.hotkey},"E"),e("TimeStamp")))},h=({children:e})=>{const n=e.length===0;return t.createElement("div",{className:d({[l.empty]:n,[l.timeSliceListContent]:!0})},n?t.createElement(V,null):e)},O=({timeSliceProps:e,index:n,exportContext:r})=>{const{selectedID:o,attributeList:a,onSelectedTimeSlice:s,removeTimeSlice:c}=r;return t.createElement("div",{key:n,className:d({[l.timeSliceItem]:!0,[l.timeSliceItemActivated]:e.id===o}),onClick:()=>{s(e)}},t.createElement(k,{slot:t.createElement("div",{className:l.timeSliceItemContent},t.createElement("div",{className:l.textOverflow},`${n+1}\u3001\u3010${j[e.type]}\u3011 ${b(e,a)}`),t.createElement("div",{className:d({[l.textOverflow]:!0})},t.createElement(R,{type:e.type}),t.createElement("span",{style:{marginLeft:10}},`${E(e.start,"ss:SS")} ${e.end&&e.type===v.Period?"~ "+E(e.end,"ss:SS")+", "+F(e.end-e.start,2)+"s":""}`))),item:e,attributeList:a}),t.createElement(y,{className:l.timeSliceItemDeleteIcon,onClick:u=>{u.stopPropagation(),c(e)}}))},_=e=>{const{toolInstance:n}=e,{selectedID:r,result:o,videoPlayer:a,clipStatus:s,updateSelectedSliceTimeProperty:c}=(n==null?void 0:n.exportContext)||{},[u,f]=L(0),{t:x}=C();g(()=>(n&&n.singleOn("changeClipSidebar",i=>{f(m=>m+1)}),()=>{var i;(i=n==null?void 0:n.unbindAll)==null||i.call(n,"changeClipSidebar")}),[n]);const T=o==null?void 0:o.find(i=>i.id===r),p=o==null?void 0:o.filter(i=>i.end!==null);return(n==null?void 0:n.exportContext)?t.createElement("div",null,t.createElement("div",{className:l.timeSliceListHeader},x("AnnotatedList")),t.createElement(h,null,p==null?void 0:p.map((i,m)=>t.createElement(O,{timeSliceProps:i,index:m,key:i.id,exportContext:(n==null?void 0:n.exportContext)||{}}))),t.createElement(A,{selectedTimeSlice:T,videoPlayer:a,updateTimeForSelected:c,disabled:s===N.Clipping})):null},w=({annotation:e})=>{const{toolInstance:n}=e;return{toolInstance:n}};var B=D(w,null,null,{context:$})(_);export{B as default};
|
package/es/components/videoAnnotate/videoClipTool/components/annotatedList/index.module.scss.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={timeSliceListContent:"index-module_timeSliceListContent__gvFHy",empty:"index-module_empty__wcFM6",noContent:"index-module_noContent__zjGb0",hotkey:"index-module_hotkey__dDkgv",timeSliceItem:"index-module_timeSliceItem__Xa-cQ",timeSliceItemActivated:"index-module_timeSliceItemActivated__Zlb3b",timeSliceAttribute:"index-module_timeSliceAttribute__Q5E-f",timeSliceItemContent:"index-module_timeSliceItemContent__Aqa8l",timeSliceItemDeleteIcon:"index-module_timeSliceItemDeleteIcon__nlQ6B"};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Resizable as D}from"re-resizable";import i,{useState as N}from"react";import W from"../ToolTipForClip.js";import{getDisplayContent as I}from"../videoTrack/index.js";import u from"./index.module.scss.js";import{decimalReserved as L}from"../../../../videoPlayer/utils.js";var k=Object.defineProperty,F=Object.defineProperties,H=Object.getOwnPropertyDescriptors,_=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable,w=(e,t,r)=>t in e?k(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,n=(e,t)=>{for(var r in t||(t={}))A.call(t,r)&&w(e,r,t[r]);if(_)for(var r of _(t))G.call(t,r)&&w(e,r,t[r]);return e},g=(e,t)=>F(e,H(t));const y=45,K=e=>{var t;const{track:r,currentTime:s,attributeList:l,readonly:O,onClipping:b,onTrackResizeStart:c}=e,{start:d,end:P}=r,R=P||s,[S,f]=N({width:0,height:0}),z=(o,E,j,h)=>{var v;const C=(h.width-S.width)/((v=j.parentNode)==null?void 0:v.clientWidth);f(h),e.onResize(E,C)},T=()=>{f({width:0,height:0}),c==null||c()},m=n({transform:"none",overflow:"hidden",textOverflow:"ellipsis",fontSize:12},e.style),x={top:!1,right:!0,left:!0,bottom:!1,topRight:!1,bottomRight:!1,bottomLeft:!1,topLeft:!1},p=i.createElement("div",{style:{margin:"10px 5px"}},i.createElement("div",{className:u.textOverflow},`${L(Math.max(R-d,1),0)}s`),i.createElement("div",{className:u.textOverflow},I(r,l)));let a;if(b||O||!e.isSelected){const o=g(n({},m),{height:y});e.isSelected&&s-d<0&&(o.width=100,o.backgroundColor="transparent"),a=i.createElement("div",{style:o},p)}else a=i.createElement(D,{size:{width:(t=e.style.width)!=null?t:0,height:y},minWidth:1,onResize:z,onResizeStart:T,enable:x,style:m},p);return i.createElement(W,{slot:a,item:g(n({},r),{end:r.end===null?s:r.end}),attributeList:l})};export{K as default};
|
package/es/components/videoAnnotate/videoClipTool/components/resizableSnippet/index.module.scss.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={textOverflow:"index-module_textOverflow__HcSP3"};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{classnames as h}from"../../../../../utils/index.js";import{Input as I,message as T}from"antd";import j from"lodash";import e,{useState as O,useEffect as y}from"react";import{ETimeSliceType as A,PER_SLICE_CHANGE as g}from"../../constant.js";import a from"./index.module.scss.js";import{precisionMinus as G,precisionAdd as M,timeFormat as l}from"../../../../../utils/audio.js";import{decimalReserved as _}from"../../../../videoPlayer/utils.js";import{useTranslation as v}from"react-i18next";const p=({initialVal:t,timeType:E="",videoPlayer:r,min:F,max:m,updateTime:i,disabled:c})=>{const[f,d]=O(""),{t:B}=v(),C=()=>{S(f).then(u=>{i(u)}).catch(u=>{T.error(u),x()})},R=u=>{const[s,o]=u.split(":");return~~s*60+parseFloat(o)},D=(u,s=!1)=>{if(F!==void 0&&u<F){const n=l(F,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u4FEE\u6539\u65F6\u95F4\u4E0D\u5141\u8BB8\u5C11\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5C11\u4E8E${n}`}if(m!==void 0&&u>m){const n=l(m,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u4FEE\u6539\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`}const o=r==null?void 0:r.duration;if(r&&o&&u>o){const n=l(o,"ss.SS");return s?`\u4FEE\u6539\u65F6\u95F4\u5931\u8D25, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`:`\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u8F93\u5165\u65F6\u95F4\u4E0D\u5141\u8BB8\u5927\u4E8E${n}`}},S=u=>new Promise((s,o)=>{if(u.match(/^\d+\:\d\d\.\d\d$/)){const n=R(u),N=D(n);if(N){o(N);return}s(n)}else o(new Error("\u5F53\u524D\u65F6\u95F4\u683C\u5F0F\u8F93\u5165\u6709\u8BEF, \u65F6\u95F4\u683C\u5F0F\u5E94\u4E3Axx:xx.xx"))}),x=()=>{j.isNumber(t)&&d(l(t,"ss.SS"))},$=()=>{if(!c&&r){const u=_(r==null?void 0:r.currentTime,2),s=D(u,!0);if(s){T.error(s);return}i(u)}};return y(()=>{x()},[t]),e.createElement("div",{className:a.inputWrapper},e.createElement(I,{placeholder:"00:00.00",value:f,onChange:u=>d(u.target.value),onBlur:C,onPressEnter:C,disabled:c}),e.createElement("span",{className:h({[a.getCurr]:!0,[a.disabled]:c!=null?c:!1}),onClick:$},B(E==="start"?"GetStartTime":"GetEndTime")))},w=({selectedTimeSlice:t,videoPlayer:E,updateTimeForSelected:r,disabled:F})=>{if(!t)return null;const{t:m}=v();return(t==null?void 0:t.type)===A.Period?e.createElement("div",{className:a.timeSliceInputContainer},e.createElement("div",{className:a.title},m("ClipTime")),e.createElement("div",{className:a.inputContainer},e.createElement(p,{initialVal:t.start,timeType:"start",videoPlayer:E,max:G(t.end,g),updateTime:i=>{r(i,"start")},disabled:F}),e.createElement("span",{className:a.spliter}),e.createElement(p,{initialVal:t.end,timeType:"end",videoPlayer:E,min:M(t.start,g),updateTime:i=>{r(i,"end")},disabled:F}))):e.createElement("div",{className:a.timeSliceInputContainer},e.createElement("div",{className:a.title},m("StampTime")),e.createElement(p,{initialVal:t.start,videoPlayer:E,updateTime:i=>{r(i,"start")}}))};export{w as default};
|
package/es/components/videoAnnotate/videoClipTool/components/timeSliceRange/index.module.scss.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={timeSliceInputContainer:"index-module_timeSliceInputContainer__579hr",title:"index-module_title__9kdsk",inputWrapper:"index-module_inputWrapper__uXmv-",getCurr:"index-module_getCurr__-dchP",disabled:"index-module_disabled__j6aK6",inputContainer:"index-module_inputContainer__PqtI8",spliter:"index-module_spliter__wXZhC"};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import e from"react";import t from"./index.module.scss.js";import s from"../../../../../assets/annotation/video/icon_videoCut.svg.js";import n from"../../../../../assets/annotation/video/icon_timePoint.svg.js";const i=({toggleClipStatus:o,addTime:a})=>e.createElement("div",{className:t.clipToolbar},e.createElement("span",{className:t.buttonWrapper},e.createElement("i",{className:t.cutButton,onClick:()=>{o==null||o()},style:{backgroundImage:s}}),"\u622A\u53D6"),e.createElement("span",{className:t.buttonWrapper},e.createElement("i",{className:t.localButton,onClick:a,style:{backgroundImage:n}}),"\u6807\u65F6\u95F4\u70B9"));export{i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var o={clipToolbar:"index-module_clipToolbar__amC2X",buttonWrapper:"index-module_buttonWrapper__o1C44",cutButton:"index-module_cutButton__M6mOs",localButton:"index-module_localButton__6D1-H"};export{o as default};
|
package/es/components/videoAnnotate/videoClipTool/components/videoTimeSlicesOverVideo/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{classnames as S}from"../../../../../utils/index.js";import{AttributeUtils as u,MathUtils as d}from"@labelbee/lb-annotation";import s from"react";import{CSSTransition as g,TransitionGroup as E}from"react-transition-group";import{TIME_SLICE_TYPE as h,ETimeSliceType as w}from"../../constant.js";import a from"./index.module.scss.js";var O=Object.defineProperty,P=Object.defineProperties,x=Object.getOwnPropertyDescriptors,f=Object.getOwnPropertySymbols,I=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable,T=(i,e,r)=>e in i?O(i,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):i[e]=r,A=(i,e)=>{for(var r in e||(e={}))I.call(e,r)&&T(i,r,e[r]);if(f)for(var r of f(e))j.call(e,r)&&T(i,r,e[r]);return i},N=(i,e)=>P(i,x(e));const C=i=>{const{attributeList:e,result:r,currentTime:m,extraStyle:_}=i,y=t=>{const{type:o,start:n,end:p}=t;let l=!1;return o===w.Time?l=d.isInRange(m,[n-.1,n+.1]):l=p===null||d.isInRange(m,[n,p]),l},b=[],c=[];r.forEach(t=>{(y(t)?c:b).push(t)});const v=c.sort((t,o)=>t.start-o.start).map(t=>N(A({},t),{withinTime:!0})).map(t=>s.createElement(g,{classNames:"fade",key:t.id,timeout:500},s.createElement("div",{className:S({[a.timeSliceWrapper]:!0,[a.active]:t.withinTime})},s.createElement("div",{className:a.timeSliceItemAttribute,style:{textAlign:"right"}},s.createElement("span",{style:{backgroundColor:u.getAttributeColor(t.attribute,e)}},`${h[t.type]}: ${u.getAttributeShowText(t.attribute,e)||"\u65E0\u5C5E\u6027"}`)),t.textAttribute&&s.createElement("div",{className:a.timeSliceItemText},`\u6587\u672C: ${t.textAttribute}`))));return s.createElement("div",{className:a.videoTimeSlices,style:_},s.createElement(E,{className:"fade-group"},v))};export{C as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={videoTimeSlices:"index-module_videoTimeSlices__v-2k1",timeSliceWrapper:"index-module_timeSliceWrapper__kebC3",active:"index-module_active__cIGVq",timeSliceItemText:"index-module_timeSliceItemText__FJFwH",timeSliceItemAttribute:"index-module_timeSliceItemAttribute__--3E1"};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{timeFormat as $}from"../../../../../utils/audio.js";import{AttributeUtils as b,MathUtils as g}from"@labelbee/lb-annotation";import{EnvironmentFilled as z}from"@ant-design/icons";import i,{useContext as R,useRef as D,useMemo as S}from"react";import X from"../resizableSnippet/index.js";import{ETimeSliceType as N,EClipStatus as U}from"../../constant.js";import W from"../ToolTipForClip.js";import u from"./index.module.scss.js";import{decimalReserved as x,hashCode as L}from"../../../../videoPlayer/utils.js";import{VideoClipToolContext as q}from"../../VideoClipToolContext.js";import{VideoPlayerCtx as B}from"../../../../videoPlayer/index.js";import{useTranslation as G}from"react-i18next";var H=Object.defineProperty,K=Object.defineProperties,Q=Object.getOwnPropertyDescriptors,w=Object.getOwnPropertySymbols,Y=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable,A=(o,r,t)=>r in o?H(o,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[r]=t,J=(o,r)=>{for(var t in r||(r={}))Y.call(r,t)&&A(o,t,r[t]);if(w)for(var t of w(r))Z.call(r,t)&&A(o,t,r[t]);return o},tt=(o,r)=>K(o,Q(r));const et=(o,r)=>{const{t}=G(),{attribute:p,textAttribute:n}=o;return[b.getAttributeShowText(p,r)||t("NoAttribute"),n?`${t("textTool")}: ${n}`:""].filter(y=>y).join("\uFF0C")},rt=(o,r)=>{const t=(o||[]).filter(n=>n).map(()=>[]);o.forEach(n=>{if(n.id!==r){const s=t.findIndex(y=>{const l=n.start,c=n.end;return y.every(f=>{const T=[f.start,f.end],m=[l,c];return!g.isInRange(l,T)&&!g.isInRange(c,T)&&!g.isInRange(f.start,m)&&!g.isInRange(f.end,m)})});s>-1&&t[s].push(n)}});const p=ot(t.filter(n=>n.length>0));return p==null?void 0:p.map(n=>({data:n,id:L(n==null?void 0:n.map(s=>s.id).join("_"))}))},ot=(o,r=2)=>{let t=o;return t.length-r<0&&(t=t.concat(Array.from({length:r-t.length}))),t},nt=o=>{var r;const{currentTime:t,readonly:p,onTrackResizeStart:n}=o,{result:s,selectedAttribute:y,attributeList:l,selectedID:c,clipStatus:f,contextToCancel:T}=R(q),{duration:m}=R(B),C=D(null),I=t/m,h=(e,a=4)=>`${x(e*100,a)}%`,k=e=>{if(e){const a=b.getAttributeColor(e.attribute,l),v=Math.max((e.end||t)-e.start,0)/m,d={backgroundColor:a,left:h(e.start/m,2),width:h(e.end?Math.max(v,.001):v,2),position:"absolute",borderRadius:5};return e.type===N.Time&&(delete d.width,delete d.backgroundColor,d.top="50%",d.transform="translate(-50%)",d.color=a),d}return{}},_=b.getAttributeColor(y,l),E=((r=C.current)==null?void 0:r.clientWidth)||0,P=x(Math.max(E*I,0),0),F=x(Math.min(P,Math.floor(E-68)),0),j=e=>{if(e)return e.type===N.Time?i.createElement(W,{slot:i.createElement(z,{style:k(e)}),item:tt(J({},e),{end:e.end===null?t:e.end}),attributeList:l}):i.createElement(X,{track:e,currentTime:t,style:k(e),onResize:(a,v)=>o.onTrackResize(e.id,a,v),onTrackResizeStart:n,onClipping:f===U.Clipping,isSelected:e.id===c,readonly:p,attributeList:l})},M=S(()=>{const e=rt(s,c);return e==null?void 0:e.map((a,v)=>{var d;return i.createElement("div",{className:u.track,key:(a==null?void 0:a.id)||v},(d=a.data)==null?void 0:d.map(O=>j(O)))})},[s,c,m,JSON.stringify(l)]),V=S(()=>{const e=s.find(a=>(a==null?void 0:a.id)===c);return c&&e?i.createElement("div",{className:u.track,key:e==null?void 0:e.id},j(e)):null},[s,c,m,t,JSON.stringify(l)]);return i.createElement("div",{className:u.videoTrackContainer,ref:C,onContextMenu:T},i.createElement("div",{className:u.timeTrack}),i.createElement("div",{className:u.videoTrack},V,M),i.createElement("div",{className:u.timeline,style:{transform:`translate3d(${P}px, 0px, 0px)`,backgroundColor:_}}),i.createElement("div",{className:u.displayTime,style:{backgroundColor:_,transform:`translateX(${F}px, 0px, 0px)`}},$(t)))};var at=nt;export{at as default,et as getDisplayContent};
|
package/es/components/videoAnnotate/videoClipTool/components/videoTrack/index.module.scss.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var e={videoTrackContainer:"index-module_videoTrackContainer__0oBy3",timeTrack:"index-module_timeTrack__f--CU",videoTrack:"index-module_videoTrack__auEud",track:"index-module_track__N8mLd",timeline:"index-module_timeline__GppcX",displayTime:"index-module_displayTime__h0Lg7",textOverflow:"index-module_textOverflow__jf6jA"};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var n;(function(o){o[o.AHEAD=1]="AHEAD",o[o.BACK=-1]="BACK"})(n||(n={}));var t;(function(o){o.Left="left",o.Right="right"})(t||(t={}));var i;(function(o){o[o.Clipping=0]="Clipping",o[o.Stop=1]="Stop"})(i||(i={}));var r;(function(o){o[o.Period=0]="Period",o[o.Time=1]="Time"})(r||(r={}));const u={[0]:"\u7247\u6BB5",[1]:"\u65F6\u95F4\u70B9"},A=.05,f=.05;export{i as EClipStatus,t as EDirection,n as EPageChanges,r as ETimeSliceType,f as PER_SLICE_CHANGE,A as SLICE_MIN_TIME,u as TIME_SLICE_TYPE};
|
|
@@ -1 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
var e={clipContainer:"index-module_clipContainer__L8DlL",containerWrapper:"index-module_containerWrapper__49TNa",clipping:"index-module_clipping__M-9B2"};export{e as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import h from"react";import{CommonToolUtils as p,uuid as f}from"@labelbee/lb-annotation";import{jsonParser as c}from"../../../utils/index.js";import{VideoPlayer as y}from"../../videoPlayer/index.js";import{VideoTagLayer as L}from"../../videoPlayer/VideoTagLayer.js";import g from"lodash";import{getKeyCodeNumber as b}from"../../videoPlayer/utils.js";class R 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,r,o,n;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=(r=(l=this.videoPlayer)==null?void 0:l.videoWidth)!=null?r:0,m=(n=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?n: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:r}=t,{key:o,value:n}=t.value;if(r){let a=(l=(i=e[o])==null?void 0:i.split(";"))!=null?l:[];a.includes(n)?a=a.filter(u=>u!==n):a.push(n);const d=new Set(a);return e[o]=Array.from(d).join(";"),g.pickBy(e,u=>u)}return e[o]=e[o]===n?void 0:n,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=>{var e;const{imgList:i,imgIndex:l,step:r}=t;if(!i[l])return;const o=c(i[l].result),n=o[`step_${r}`];this.setState({tagResult:(e=n==null?void 0:n.result)!=null?e:[],valid:(o==null?void 0:o.valid)===void 0?!0:o.valid})},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 r=(i=(e=this.config)==null?void 0:e.inputList)!=null?i:[],o=r.length>1,n=t!==void 0?s:0,a=t!==void 0?t:s,d=o?r[n]:r[0],u=((l=d.subSelected)!=null?l:[])[a];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(r){return}}setLabelBySelectedList(s,t){var e,i,l,r;const o=this.getTagResultByCode(s,t);if(o){const n=this.combineResult(o,(i=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?i:{}),a=[{sourceID:p.getSourceID(),id:(r=(l=this.currentTagResult)==null?void 0:l.id)!=null?r:f(8,62),result:n}];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:r}=this.props,{tagResult:o,valid:n}=this.state;return h.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},h.createElement(y,{imgIndex:t,imgList:e,pageBackward:r,pageForward:i,pageJump:l,valid:n,setVideoRef:a=>{this.videoPlayer=a},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),h.createElement(L,{result:o,inputList:(s=this.config)==null?void 0:s.inputList,hasPromptLayer:!!this.props.drawLayerSlot}))}}export{R as TagToolInstanceAdaptor};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import u from"react";import{jsonParser as p}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(e){super(e);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,l,s,o,i,n,r;const a=(l=(t=this.videoPlayer)==null?void 0:t.duration)!=null?l:0,d=(s=this.videoPlayer)==null?void 0:s.getVideoPlaybackQuality(),h=d==null?void 0:d.totalVideoFrames,v=(i=(o=this.videoPlayer)==null?void 0:o.videoWidth)!=null?i:0,m=(r=(n=this.videoPlayer)==null?void 0:n.videoHeight)!=null?r:0;return[[this.state.result],{valid:this.state.valid,duration:a,frames:h,videoWidth:v,videoHeight:m}]},this.toggleShowText=t=>{this.setState({showText:t})},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,l,s)=>{var o;const i=c.cloneDeep(s!=null?s:{});i.value=Object.assign((o=i.value)!=null?o:{},{[t]:l}),this.setState({result:i},()=>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 l,s;const{imgList:o,imgIndex:i,step:n}=t;if(!o[i])return;const r=p(o[i].result),a=r[`step_${n}`];this.setState({result:(s=(l=a==null?void 0:a.result)==null?void 0:l[0])!=null?s:{},valid:(r==null?void 0:r.valid)===void 0?!0:r.valid},()=>this.updateSidebar())},this.state={result:{},valid:!0,showText:!0}}get config(){var e;return p((e=this.props.stepInfo)==null?void 0:e.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get valid(){return this.state.valid}get textList(){return[this.state.result]}getColor(e=this.config,t=""){return y.getColorByConfig({attribute:t,config:e})}singleOn(e,t){this.fns[e]=t}on(e,t){this.singleOn(e,t)}unbindAll(e){delete this.fns[e]}componentDidMount(){this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){this.props.onUnmounted()}shouldComponentUpdate(e){return e.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(e),!0}render(){var e,t;const{imgIndex:l,imgList:s,pageForward:o,pageJump:i,pageBackward:n}=this.props,{result:r,valid:a,showText:d}=this.state;return u.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},d&&r.value&&u.createElement(f,{value:r.value,toolColor:(t=(e=this.getColor(this.config))==null?void 0:e.valid)==null?void 0:t.fill,configList:this.config.configList,hasPromptLayer:!!this.props.drawLayerSlot}),u.createElement(g,{imgIndex:l,imgList:s,pageBackward:n,pageForward:o,pageJump:i,valid:a,setVideoRef:h=>{this.videoPlayer=h},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}))}}export{x as VideoTextTool};
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import t,{useRef as y}from"react";const x=n=>{const{toolColor:i,value:l,configList:a,showEmptyValue:c,hasPromptLayer:u}=n,p=y(null),s=e=>{var o;const r=a==null?void 0:a.find(m=>m.key===e);return(o=r==null?void 0:r.label)!=null?o:e},d=e=>e.endsWith(`
|
|
2
|
-
`)?e+" ":e;return t.createElement("div",{ref:p,style:{position:"absolute",right:0,top:u?40:0,zIndex:22,maxWidth:416,fontFamily:"SourceHanSansCN-Regular",background:i,color:"white",wordBreak:"break-all",lineHeight:"24px",whiteSpace:"pre-wrap",maxHeight:"80%",overflowY:"auto",opacity:.9}},Object.keys(l).filter(e=>c?!0:l[e]).map(e=>t.createElement("div",{key:e,style:{padding:"8px 16px"}},t.createElement("div",null,`${s(e)}:`),t.createElement("div",null,d(l[e])||"(\u7A7A)"))))};export{x as VideoTextLayer};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|