@labelbee/lb-components 1.21.0-alpha.5 → 1.21.0-alpha.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),index=require("../../../utils/index.js"),index$1=require("../../videoPlayer/index.js"),VideoTagLayer=require("../../videoPlayer/VideoTagLayer.js"),_=require("lodash"),utils=require("../../videoPlayer/utils.js");function _interopDefaultLegacy(h){return h&&typeof h=="object"&&"default"in h?h:{default:h}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_);class TagToolInstanceAdaptor extends React__default.default.Component{constructor(s){super(s);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const i=e?this.state.tagResult.map(l=>((l==null?void 0:l.result[e])&&delete l.result[e],l)):[];this.setState({tagResult:i},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,i,l,n,r,a;const o=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(i=this.videoPlayer)==null?void 0:i.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,c=(n=(l=this.videoPlayer)==null?void 0:l.videoWidth)!=null?n:0,g=(a=(r=this.videoPlayer)==null?void 0:r.videoHeight)!=null?a:0;return[this.state.tagResult,{valid:this.state.valid,duration:o,frames:u,videoWidth:c,videoHeight:g}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var i,l;const{isMulti:n}=t,{key:r,value:a}=t.value;if(n){let o=(l=(i=e[r])==null?void 0:i.split(";"))!=null?l:[];o.includes(a)?o=o.filter(u=>u!==a):o.push(a);const d=new Set(o);return e[r]=Array.from(d).join(";"),___default.default.pickBy(e,u=>u)}return e[r]=e[r]===a?void 0:a,___default.default.pickBy(e,o=>o)},this.setResult=t=>{this.setState({tagResult:t}),this.fns.render&&this.fns.render()},this.setLabel=(t,e)=>{this.setLabelBySelectedList(t,e)},this.keydown=t=>{const e=utils.getKeyCodeNumber(t.keyCode);if(e){const i=e-1;if(this.config.inputList.length===1){this.labelSelectedList=[0,i],this.setLabel(0,i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],i],this.setLabel(this.labelSelectedList[0],i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[i],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{const{imgList:e,imgIndex:i,step:l}=t;if(!e[i])return;const n=index.jsonParser(e[i].result),r=n[`step_${l}`],a=this.getInitResultList();this.setState({tagResult:r?r==null?void 0:r.result:a,valid:(n==null?void 0:n.valid)===void 0?!0:n.valid},()=>this.emitEvent("render"))},this.getInitResultList=()=>lbAnnotation.TagUtils.getDefaultTagResult(this.config.inputList,[]),this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){var s;return index.jsonParser((s=this.props.stepInfo)==null?void 0:s.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var s;return(s=this.state.tagResult[0])!=null?s:{}}get valid(){return this.state.valid}singleOn(s,t){this.fns[s]=t}on(s,t){this.singleOn(s,t)}unbindAll(s){delete this.fns[s]}getTagResultByCode(s,t){var e,i,l;try{const n=(i=(e=this.config)==null?void 0:e.inputList)!=null?i:[],r=n.length>1,a=t!==void 0?s:0,o=t!==void 0?t:s,d=r?n[a]:n[0],u=((l=d.subSelected)!=null?l:[])[o];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(n){return}}setLabelBySelectedList(s,t){var e,i,l,n;const r=this.getTagResultByCode(s,t);if(r){const a=this.combineResult(r,(i=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?i:{}),o=[{sourceID:lbAnnotation.CommonToolUtils.getSourceID(),id:(n=(l=this.currentTagResult)==null?void 0:l.id)!=null?n:lbAnnotation.uuid(8,62),result:a}];this.setState({tagResult:o},()=>this.emitEvent("render"))}}componentDidMount(){document.addEventListener("keydown",this.keydown),this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){document.addEventListener("keydown",this.keydown),this.props.onUnmounted()}shouldComponentUpdate(s){return s.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(s),!0}render(){var s;const{imgIndex:t,imgList:e,pageForward:i,pageJump:l,pageBackward:n}=this.props,{tagResult:r,valid:a}=this.state;return React__default.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},React__default.default.createElement(index$1.VideoPlayer,{imgIndex:t,imgList:e,pageBackward:n,pageForward:i,pageJump:l,valid:a,setVideoRef:o=>{this.videoPlayer=o},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),React__default.default.createElement(VideoTagLayer.VideoTagLayer,{result:r,inputList:(s=this.config)==null?void 0:s.inputList,hasPromptLayer:!!this.props.drawLayerSlot}))}}exports.TagToolInstanceAdaptor=TagToolInstanceAdaptor;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),index=require("../../../utils/index.js"),index$1=require("../../videoPlayer/index.js"),VideoTagLayer=require("../../videoPlayer/VideoTagLayer.js"),_=require("lodash"),utils=require("../../videoPlayer/utils.js");function _interopDefaultLegacy(h){return h&&typeof h=="object"&&"default"in h?h:{default:h}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_);class TagToolInstanceAdaptor extends React__default.default.Component{constructor(s){super(s);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const l=e?this.state.tagResult.map(i=>((i==null?void 0:i.result[e])&&delete i.result[e],i)):[];this.setState({tagResult:l},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,l,i,n,r,a;const o=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(l=this.videoPlayer)==null?void 0:l.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,c=(n=(i=this.videoPlayer)==null?void 0:i.videoWidth)!=null?n:0,v=(a=(r=this.videoPlayer)==null?void 0:r.videoHeight)!=null?a:0;return[this.state.tagResult,{valid:this.state.valid,duration:o,frames:u,videoWidth:c,videoHeight:v}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var l,i;const{isMulti:n}=t,{key:r,value:a}=t.value;if(n){let o=(i=(l=e[r])==null?void 0:l.split(";"))!=null?i:[];o.includes(a)?o=o.filter(u=>u!==a):o.push(a);const d=new Set(o);return e[r]=Array.from(d).join(";"),___default.default.pickBy(e,u=>u)}return e[r]=e[r]===a?void 0:a,___default.default.pickBy(e,o=>o)},this.setResult=t=>{this.setState({tagResult:t}),this.fns.render&&this.fns.render()},this.setLabel=(t,e)=>{this.setLabelBySelectedList(t,e)},this.keydown=t=>{var e;const l=utils.getKeyCodeNumber(t.keyCode);if(l){const i=l-1;if(((e=this.config.inputList)==null?void 0:e.length)===1){this.labelSelectedList=[0,i],this.setLabel(0,i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],i],this.setLabel(this.labelSelectedList[0],i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[i],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{const{imgList:e,imgIndex:l,step:i}=t;if(!e[l])return;const n=index.jsonParser(e[l].result),r=n[`step_${i}`],a=this.getInitResultList();this.setState({tagResult:r?r==null?void 0:r.result:a,valid:(n==null?void 0:n.valid)===void 0?!0:n.valid},()=>this.emitEvent("render"))},this.getInitResultList=()=>{var t;return lbAnnotation.TagUtils.getDefaultTagResult((t=this.config.inputList)!=null?t:[],[])},this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){var s;return index.jsonParser((s=this.props.stepInfo)==null?void 0:s.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var s;return(s=this.state.tagResult[0])!=null?s:{}}get valid(){return this.state.valid}singleOn(s,t){this.fns[s]=t}on(s,t){this.singleOn(s,t)}unbindAll(s){delete this.fns[s]}getTagResultByCode(s,t){var e,l,i;try{const n=(l=(e=this.config)==null?void 0:e.inputList)!=null?l:[],r=(n==null?void 0:n.length)>1,a=t!==void 0?s:0,o=t!==void 0?t:s,d=r?n[a]:n[0],u=((i=d.subSelected)!=null?i:[])[o];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(n){return}}setLabelBySelectedList(s,t){var e,l,i,n;const r=this.getTagResultByCode(s,t);if(r){const a=this.combineResult(r,(l=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?l:{}),o=[{sourceID:lbAnnotation.CommonToolUtils.getSourceID(),id:(n=(i=this.currentTagResult)==null?void 0:i.id)!=null?n:lbAnnotation.uuid(8,62),result:a}];this.setState({tagResult:o},()=>this.emitEvent("render"))}}componentDidMount(){document.addEventListener("keydown",this.keydown),this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){document.addEventListener("keydown",this.keydown),this.props.onUnmounted()}shouldComponentUpdate(s){return s.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(s),!0}render(){var s;const{imgIndex:t,imgList:e,pageForward:l,pageJump:i,pageBackward:n}=this.props,{tagResult:r,valid:a}=this.state;return React__default.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},React__default.default.createElement(index$1.VideoPlayer,{imgIndex:t,imgList:e,pageBackward:n,pageForward:l,pageJump:i,valid:a,setVideoRef:o=>{this.videoPlayer=o},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),React__default.default.createElement(VideoTagLayer.VideoTagLayer,{result:r,inputList:(s=this.config)==null?void 0:s.inputList,hasPromptLayer:!!this.props.drawLayerSlot}))}}exports.TagToolInstanceAdaptor=TagToolInstanceAdaptor;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),index=require("../../../utils/index.js"),index$1=require("../../videoPlayer/index.js"),_=require("lodash"),VideoTextLayer=require("../../videoPlayer/VideoTextLayer.js"),lbUtils=require("@labelbee/lb-utils");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_);class VideoTextTool extends React__default.default.Component{constructor(i){super(i);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,e,a,s,r,o,l;const d=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,u=(a=this.videoPlayer)==null?void 0:a.getVideoPlaybackQuality(),h=u==null?void 0:u.totalVideoFrames,v=(r=(s=this.videoPlayer)==null?void 0:s.videoWidth)!=null?r:0,p=(l=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?l:0;return[[this.state.result],{valid:this.state.valid,duration:d,frames:h,videoWidth:v,videoHeight:p}]},this.toggleShowText=t=>{this.setState({showText:t})},this.singleOn=(t,e)=>{this.fns[t]=e},this.on=(t,e)=>{this.singleOn(t,e)},this.unbindAll=t=>{delete this.fns[t]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,e,a,s)=>{var r;const o=___default.default.cloneDeep(s!=null?s:{});o.value=Object.assign((r=o.value)!=null?r:{},{[t]:e}),this.setState({result:o},()=>a&&this.updateSidebar())},this.setResult=t=>{this.setState({result:t}),this.fns.render&&this.fns.render()},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({result:{}}),this.emitEvent("render")},this.setResultFromImgList=t=>{var e,a;const{imgList:s,imgIndex:r,step:o}=t;if(!s[r])return;const l=index.jsonParser(s[r].result),d=l[`step_${o}`];this.setState({result:(a=(e=d==null?void 0:d.result)==null?void 0:e[0])!=null?a:{},valid:(l==null?void 0:l.valid)===void 0?!0:l.valid},()=>this.updateSidebar())},this.state={result:{},valid:!0,showText:!0}}get config(){var i;return index.jsonParser((i=this.props.stepInfo)==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get valid(){return this.state.valid}get needConfirm(){var i;const{result:t}=this.state;return(i=this.config.configList)==null?void 0:i.some(e=>e.required&&!(t==null?void 0:t.value[e.key]))}get textList(){return[this.state.result]}getColor(i=this.config,t=""){return lbUtils.toolStyleConverter.getColorByConfig({attribute:t,config:i})}componentDidMount(){this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i,t;const{imgIndex:e,imgList:a,pageForward:s,pageJump:r,pageBackward:o}=this.props,{result:l,valid:d,showText:u}=this.state;return React__default.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},u&&l.value&&React__default.default.createElement(VideoTextLayer.VideoTextLayer,{value:l.value,toolColor:(t=(i=this.getColor(this.config))==null?void 0:i.valid)==null?void 0:t.fill,configList:this.config.configList,hasPromptLayer:!!this.props.drawLayerSlot}),React__default.default.createElement(index$1.VideoPlayer,{imgIndex:e,imgList:a,pageBackward:o,pageForward:s,pageJump:r,valid:d,setVideoRef:h=>{this.videoPlayer=h},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}))}}exports.VideoTextTool=VideoTextTool;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),index=require("../../../utils/index.js"),index$1=require("../../videoPlayer/index.js"),_=require("lodash"),VideoTextLayer=require("../../videoPlayer/VideoTextLayer.js"),lbUtils=require("@labelbee/lb-utils");function _interopDefaultLegacy(u){return u&&typeof u=="object"&&"default"in u?u:{default:u}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_);class VideoTextTool extends React__default.default.Component{constructor(i){super(i);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,e,s,r,l,o,a;const n=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(s=this.videoPlayer)==null?void 0:s.getVideoPlaybackQuality(),h=d==null?void 0:d.totalVideoFrames,v=(l=(r=this.videoPlayer)==null?void 0:r.videoWidth)!=null?l:0,f=(a=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?a:0;return[[this.state.result],{valid:this.state.valid,duration:n,frames:h,videoWidth:v,videoHeight:f}]},this.toggleShowText=t=>{this.setState({showText:t})},this.singleOn=(t,e)=>{this.fns[t]=e},this.on=(t,e)=>{this.singleOn(t,e)},this.unbindAll=t=>{delete this.fns[t]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,e,s,r)=>{var l;const o=___default.default.cloneDeep(r!=null?r:{});o.value=Object.assign((l=o.value)!=null?l:{},{[t]:e}),this.setState({result:o},()=>s&&this.updateSidebar())},this.setResult=t=>{this.setState({result:t}),this.fns.render&&this.fns.render()},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({result:{}}),this.emitEvent("render")},this.setResultFromImgList=t=>{var e,s;const{imgList:r,imgIndex:l,step:o}=t;if(!r[l])return;const a=index.jsonParser(r[l].result),n=a[`step_${o}`],d={value:this.getInitTextValue()};this.setState({result:n?(s=(e=n==null?void 0:n.result)==null?void 0:e[0])!=null?s:{}:d,valid:(a==null?void 0:a.valid)===void 0?!0:a.valid},()=>this.updateSidebar())},this.getInitTextValue=()=>{let t={};return this.config.configList.forEach(e=>{var s;t[e.key]=(s=e.default)!=null?s:""}),t},this.state={result:{},valid:!0,showText:!0}}get config(){var i;return index.jsonParser((i=this.props.stepInfo)==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get valid(){return this.state.valid}get needConfirm(){var i;const{result:t}=this.state;return(i=this.config.configList)==null?void 0:i.some(e=>e.required&&!(t==null?void 0:t.value[e.key]))}get textList(){return[this.state.result]}getColor(i=this.config,t=""){return lbUtils.toolStyleConverter.getColorByConfig({attribute:t,config:i})}componentDidMount(){this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i,t;const{imgIndex:e,imgList:s,pageForward:r,pageJump:l,pageBackward:o}=this.props,{result:a,valid:n,showText:d}=this.state;return React__default.default.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},d&&a.value&&React__default.default.createElement(VideoTextLayer.VideoTextLayer,{value:a.value,toolColor:(t=(i=this.getColor(this.config))==null?void 0:i.valid)==null?void 0:t.fill,configList:this.config.configList,hasPromptLayer:!!this.props.drawLayerSlot}),React__default.default.createElement(index$1.VideoPlayer,{imgIndex:e,imgList:s,pageBackward:o,pageForward:r,pageJump:l,valid:n,setVideoRef:h=>{this.videoPlayer=h},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}))}}exports.VideoTextTool=VideoTextTool;
@@ -50,6 +50,10 @@ export declare class VideoTextTool extends React.Component<IVideoTextInstanceAda
50
50
  componentDidMount(): void;
51
51
  componentWillUnmount(): void;
52
52
  setResultFromImgList: (props: IVideoTextInstanceAdaptorProps) => void;
53
+ /**
54
+ * 获取初始值
55
+ */
56
+ getInitTextValue: () => any;
53
57
  /** Observer imgIndex and set result */
54
58
  shouldComponentUpdate(props: IVideoTextInstanceAdaptorProps): boolean;
55
59
  render(): React.JSX.Element;
@@ -1 +1 @@
1
- import h from"react";import{TagUtils as p,CommonToolUtils as f,uuid as y}from"@labelbee/lb-annotation";import{jsonParser as c}from"../../../utils/index.js";import{VideoPlayer as L}from"../../videoPlayer/index.js";import{VideoTagLayer as R}from"../../videoPlayer/VideoTagLayer.js";import g from"lodash";import{getKeyCodeNumber as b}from"../../videoPlayer/utils.js";class S extends h.Component{constructor(s){super(s);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const i=e?this.state.tagResult.map(l=>((l==null?void 0:l.result[e])&&delete l.result[e],l)):[];this.setState({tagResult:i},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,i,l,n,o,r;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(i=this.videoPlayer)==null?void 0:i.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,v=(n=(l=this.videoPlayer)==null?void 0:l.videoWidth)!=null?n:0,m=(r=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?r:0;return[this.state.tagResult,{valid:this.state.valid,duration:a,frames:u,videoWidth:v,videoHeight:m}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var i,l;const{isMulti:n}=t,{key:o,value:r}=t.value;if(n){let a=(l=(i=e[o])==null?void 0:i.split(";"))!=null?l:[];a.includes(r)?a=a.filter(u=>u!==r):a.push(r);const d=new Set(a);return e[o]=Array.from(d).join(";"),g.pickBy(e,u=>u)}return e[o]=e[o]===r?void 0:r,g.pickBy(e,a=>a)},this.setResult=t=>{this.setState({tagResult:t}),this.fns.render&&this.fns.render()},this.setLabel=(t,e)=>{this.setLabelBySelectedList(t,e)},this.keydown=t=>{const e=b(t.keyCode);if(e){const i=e-1;if(this.config.inputList.length===1){this.labelSelectedList=[0,i],this.setLabel(0,i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],i],this.setLabel(this.labelSelectedList[0],i),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[i],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{const{imgList:e,imgIndex:i,step:l}=t;if(!e[i])return;const n=c(e[i].result),o=n[`step_${l}`],r=this.getInitResultList();this.setState({tagResult:o?o==null?void 0:o.result:r,valid:(n==null?void 0:n.valid)===void 0?!0:n.valid},()=>this.emitEvent("render"))},this.getInitResultList=()=>p.getDefaultTagResult(this.config.inputList,[]),this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){var s;return c((s=this.props.stepInfo)==null?void 0:s.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var s;return(s=this.state.tagResult[0])!=null?s:{}}get valid(){return this.state.valid}singleOn(s,t){this.fns[s]=t}on(s,t){this.singleOn(s,t)}unbindAll(s){delete this.fns[s]}getTagResultByCode(s,t){var e,i,l;try{const n=(i=(e=this.config)==null?void 0:e.inputList)!=null?i:[],o=n.length>1,r=t!==void 0?s:0,a=t!==void 0?t:s,d=o?n[r]:n[0],u=((l=d.subSelected)!=null?l:[])[a];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(n){return}}setLabelBySelectedList(s,t){var e,i,l,n;const o=this.getTagResultByCode(s,t);if(o){const r=this.combineResult(o,(i=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?i:{}),a=[{sourceID:f.getSourceID(),id:(n=(l=this.currentTagResult)==null?void 0:l.id)!=null?n:y(8,62),result:r}];this.setState({tagResult:a},()=>this.emitEvent("render"))}}componentDidMount(){document.addEventListener("keydown",this.keydown),this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){document.addEventListener("keydown",this.keydown),this.props.onUnmounted()}shouldComponentUpdate(s){return s.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(s),!0}render(){var s;const{imgIndex:t,imgList:e,pageForward:i,pageJump:l,pageBackward:n}=this.props,{tagResult:o,valid:r}=this.state;return h.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},h.createElement(L,{imgIndex:t,imgList:e,pageBackward:n,pageForward:i,pageJump:l,valid:r,setVideoRef:a=>{this.videoPlayer=a},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),h.createElement(R,{result:o,inputList:(s=this.config)==null?void 0:s.inputList,hasPromptLayer:!!this.props.drawLayerSlot}))}}export{S as TagToolInstanceAdaptor};
1
+ import h from"react";import{TagUtils as p,CommonToolUtils as f,uuid as y}from"@labelbee/lb-annotation";import{jsonParser as c}from"../../../utils/index.js";import{VideoPlayer as L}from"../../videoPlayer/index.js";import{VideoTagLayer as R}from"../../videoPlayer/VideoTagLayer.js";import g from"lodash";import{getKeyCodeNumber as b}from"../../videoPlayer/utils.js";class S extends h.Component{constructor(i){super(i);this.fns={},this.labelSelectedList=[],this.clearResult=(t=!0,e)=>{const l=e?this.state.tagResult.map(s=>((s==null?void 0:s.result[e])&&delete s.result[e],s)):[];this.setState({tagResult:l},()=>this.emitEvent("render"))},this.exportData=()=>{var t,e,l,s,n,o,r;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(l=this.videoPlayer)==null?void 0:l.getVideoPlaybackQuality(),u=d==null?void 0:d.totalVideoFrames,v=(n=(s=this.videoPlayer)==null?void 0:s.videoWidth)!=null?n:0,m=(r=(o=this.videoPlayer)==null?void 0:o.videoHeight)!=null?r:0;return[this.state.tagResult,{valid:this.state.valid,duration:a,frames:u,videoWidth:v,videoHeight:m}]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.combineResult=(t,e={})=>{var l,s;const{isMulti:n}=t,{key:o,value:r}=t.value;if(n){let a=(s=(l=e[o])==null?void 0:l.split(";"))!=null?s:[];a.includes(r)?a=a.filter(u=>u!==r):a.push(r);const d=new Set(a);return e[o]=Array.from(d).join(";"),g.pickBy(e,u=>u)}return e[o]=e[o]===r?void 0:r,g.pickBy(e,a=>a)},this.setResult=t=>{this.setState({tagResult:t}),this.fns.render&&this.fns.render()},this.setLabel=(t,e)=>{this.setLabelBySelectedList(t,e)},this.keydown=t=>{var e;const l=b(t.keyCode);if(l){const s=l-1;if(((e=this.config.inputList)==null?void 0:e.length)===1){this.labelSelectedList=[0,s],this.setLabel(0,s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500);return}this.labelSelectedList.length===1?(this.labelSelectedList=[this.labelSelectedList[0],s],this.setLabel(this.labelSelectedList[0],s),setTimeout(()=>{this.labelSelectedList=[],this.emitEvent("render")},500)):(this.labelSelectedList=[s],this.emitEvent("expend"))}},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({tagResult:[]}),this.emitEvent("render")},this.setResultFromImgList=t=>{const{imgList:e,imgIndex:l,step:s}=t;if(!e[l])return;const n=c(e[l].result),o=n[`step_${s}`],r=this.getInitResultList();this.setState({tagResult:o?o==null?void 0:o.result:r,valid:(n==null?void 0:n.valid)===void 0?!0:n.valid},()=>this.emitEvent("render"))},this.getInitResultList=()=>{var t;return p.getDefaultTagResult((t=this.config.inputList)!=null?t:[],[])},this.state={tagResult:[],labelSelectedList:[],valid:!0}}get config(){var i;return c((i=this.props.stepInfo)==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get currentTagResult(){var i;return(i=this.state.tagResult[0])!=null?i:{}}get valid(){return this.state.valid}singleOn(i,t){this.fns[i]=t}on(i,t){this.singleOn(i,t)}unbindAll(i){delete this.fns[i]}getTagResultByCode(i,t){var e,l,s;try{const n=(l=(e=this.config)==null?void 0:e.inputList)!=null?l:[],o=(n==null?void 0:n.length)>1,r=t!==void 0?i:0,a=t!==void 0?t:i,d=o?n[r]:n[0],u=((s=d.subSelected)!=null?s:[])[a];if(d&&u)return{value:{key:d.value,value:u.value},isMulti:d.isMulti}}catch(n){return}}setLabelBySelectedList(i,t){var e,l,s,n;const o=this.getTagResultByCode(i,t);if(o){const r=this.combineResult(o,(l=(e=this.state.tagResult[0])==null?void 0:e.result)!=null?l:{}),a=[{sourceID:f.getSourceID(),id:(n=(s=this.currentTagResult)==null?void 0:s.id)!=null?n:y(8,62),result:r}];this.setState({tagResult:a},()=>this.emitEvent("render"))}}componentDidMount(){document.addEventListener("keydown",this.keydown),this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){document.addEventListener("keydown",this.keydown),this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i;const{imgIndex:t,imgList:e,pageForward:l,pageJump:s,pageBackward:n}=this.props,{tagResult:o,valid:r}=this.state;return h.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},h.createElement(L,{imgIndex:t,imgList:e,pageBackward:n,pageForward:l,pageJump:s,valid:r,setVideoRef:a=>{this.videoPlayer=a},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}),h.createElement(R,{result:o,inputList:(i=this.config)==null?void 0:i.inputList,hasPromptLayer:!!this.props.drawLayerSlot}))}}export{S as TagToolInstanceAdaptor};
@@ -1 +1 @@
1
- import u from"react";import{jsonParser as v}from"../../../utils/index.js";import{VideoPlayer as g}from"../../videoPlayer/index.js";import c from"lodash";import{VideoTextLayer as f}from"../../videoPlayer/VideoTextLayer.js";import{toolStyleConverter as y}from"@labelbee/lb-utils";class x extends u.Component{constructor(i){super(i);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,e,n,s,o,r,l;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(n=this.videoPlayer)==null?void 0:n.getVideoPlaybackQuality(),h=d==null?void 0:d.totalVideoFrames,p=(o=(s=this.videoPlayer)==null?void 0:s.videoWidth)!=null?o:0,m=(l=(r=this.videoPlayer)==null?void 0:r.videoHeight)!=null?l:0;return[[this.state.result],{valid:this.state.valid,duration:a,frames:h,videoWidth:p,videoHeight:m}]},this.toggleShowText=t=>{this.setState({showText:t})},this.singleOn=(t,e)=>{this.fns[t]=e},this.on=(t,e)=>{this.singleOn(t,e)},this.unbindAll=t=>{delete this.fns[t]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,e,n,s)=>{var o;const r=c.cloneDeep(s!=null?s:{});r.value=Object.assign((o=r.value)!=null?o:{},{[t]:e}),this.setState({result:r},()=>n&&this.updateSidebar())},this.setResult=t=>{this.setState({result:t}),this.fns.render&&this.fns.render()},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({result:{}}),this.emitEvent("render")},this.setResultFromImgList=t=>{var e,n;const{imgList:s,imgIndex:o,step:r}=t;if(!s[o])return;const l=v(s[o].result),a=l[`step_${r}`];this.setState({result:(n=(e=a==null?void 0:a.result)==null?void 0:e[0])!=null?n:{},valid:(l==null?void 0:l.valid)===void 0?!0:l.valid},()=>this.updateSidebar())},this.state={result:{},valid:!0,showText:!0}}get config(){var i;return v((i=this.props.stepInfo)==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get valid(){return this.state.valid}get needConfirm(){var i;const{result:t}=this.state;return(i=this.config.configList)==null?void 0:i.some(e=>e.required&&!(t==null?void 0:t.value[e.key]))}get textList(){return[this.state.result]}getColor(i=this.config,t=""){return y.getColorByConfig({attribute:t,config:i})}componentDidMount(){this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i,t;const{imgIndex:e,imgList:n,pageForward:s,pageJump:o,pageBackward:r}=this.props,{result:l,valid:a,showText:d}=this.state;return u.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},d&&l.value&&u.createElement(f,{value:l.value,toolColor:(t=(i=this.getColor(this.config))==null?void 0:i.valid)==null?void 0:t.fill,configList:this.config.configList,hasPromptLayer:!!this.props.drawLayerSlot}),u.createElement(g,{imgIndex:e,imgList:n,pageBackward:r,pageForward:s,pageJump:o,valid:a,setVideoRef:h=>{this.videoPlayer=h},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}))}}export{x as VideoTextTool};
1
+ import u from"react";import{jsonParser as v}from"../../../utils/index.js";import{VideoPlayer as c}from"../../videoPlayer/index.js";import f from"lodash";import{VideoTextLayer as m}from"../../videoPlayer/VideoTextLayer.js";import{toolStyleConverter as y}from"@labelbee/lb-utils";class x extends u.Component{constructor(i){super(i);this.fns={},this.clearResult=(t=!0)=>{this.setState({result:{}},()=>this.updateSidebar())},this.exportData=()=>{var t,e,s,o,l,r,n;const a=(e=(t=this.videoPlayer)==null?void 0:t.duration)!=null?e:0,d=(s=this.videoPlayer)==null?void 0:s.getVideoPlaybackQuality(),h=d==null?void 0:d.totalVideoFrames,p=(l=(o=this.videoPlayer)==null?void 0:o.videoWidth)!=null?l:0,g=(n=(r=this.videoPlayer)==null?void 0:r.videoHeight)!=null?n:0;return[[this.state.result],{valid:this.state.valid,duration:a,frames:h,videoWidth:p,videoHeight:g}]},this.toggleShowText=t=>{this.setState({showText:t})},this.singleOn=(t,e)=>{this.fns[t]=e},this.on=(t,e)=>{this.singleOn(t,e)},this.unbindAll=t=>{delete this.fns[t]},this.emitEvent=t=>{this.fns[t]&&this.fns[t]()},this.updateSidebar=()=>{this.emitEvent("valueUpdated")},this.updateTextValue=(t,e,s,o)=>{var l;const r=f.cloneDeep(o!=null?o:{});r.value=Object.assign((l=r.value)!=null?l:{},{[t]:e}),this.setState({result:r},()=>s&&this.updateSidebar())},this.setResult=t=>{this.setState({result:t}),this.fns.render&&this.fns.render()},this.setValid=t=>{this.setState({valid:t}),t===!1&&this.setState({result:{}}),this.emitEvent("render")},this.setResultFromImgList=t=>{var e,s;const{imgList:o,imgIndex:l,step:r}=t;if(!o[l])return;const n=v(o[l].result),a=n[`step_${r}`],d={value:this.getInitTextValue()};this.setState({result:a?(s=(e=a==null?void 0:a.result)==null?void 0:e[0])!=null?s:{}:d,valid:(n==null?void 0:n.valid)===void 0?!0:n.valid},()=>this.updateSidebar())},this.getInitTextValue=()=>{let t={};return this.config.configList.forEach(e=>{var s;t[e.key]=(s=e.default)!=null?s:""}),t},this.state={result:{},valid:!0,showText:!0}}get config(){var i;return v((i=this.props.stepInfo)==null?void 0:i.config)}get history(){return{initRecord:()=>{},pushHistory:()=>{}}}get valid(){return this.state.valid}get needConfirm(){var i;const{result:t}=this.state;return(i=this.config.configList)==null?void 0:i.some(e=>e.required&&!(t==null?void 0:t.value[e.key]))}get textList(){return[this.state.result]}getColor(i=this.config,t=""){return y.getColorByConfig({attribute:t,config:i})}componentDidMount(){this.props.onMounted(this),this.setResultFromImgList(this.props)}componentWillUnmount(){this.props.onUnmounted()}shouldComponentUpdate(i){return i.imgIndex!==this.props.imgIndex&&this.setResultFromImgList(i),!0}render(){var i,t;const{imgIndex:e,imgList:s,pageForward:o,pageJump:l,pageBackward:r}=this.props,{result:n,valid:a,showText:d}=this.state;return u.createElement("div",{style:{height:"100%",width:"100%",position:"relative",display:"flex",flexDirection:"column"}},d&&n.value&&u.createElement(m,{value:n.value,toolColor:(t=(i=this.getColor(this.config))==null?void 0:i.valid)==null?void 0:t.fill,configList:this.config.configList,hasPromptLayer:!!this.props.drawLayerSlot}),u.createElement(c,{imgIndex:e,imgList:s,pageBackward:r,pageForward:o,pageJump:l,valid:a,setVideoRef:h=>{this.videoPlayer=h},drawLayerSlot:this.props.drawLayerSlot,footer:this.props.footer}))}}export{x as VideoTextTool};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.21.0-alpha.5",
3
+ "version": "1.21.0-alpha.6",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@ant-design/icons": "^4.6.2",
46
- "@labelbee/lb-annotation": "1.25.0-alpha.1",
46
+ "@labelbee/lb-annotation": "1.25.0-alpha.2",
47
47
  "@labelbee/lb-utils": "1.17.0-alpha.1",
48
48
  "@labelbee/wavesurfer": "1.0.0",
49
49
  "@types/react-dom": "^18.2.7",