@labelbee/lb-components 1.21.0-alpha.4 → 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;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),dom=require("../../../../utils/dom.js"),icons=require("@ant-design/icons"),index=require("../../index.js"),Pagination=require("../../../../views/MainView/toolFooter/Pagination.js"),icon_keyboard_h=require("../../../../assets/annotation/video/icon_keyboard_h.svg.js"),index$2=require("../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js"),reactI18next=require("react-i18next"),utils=require("../../utils.js"),lbAnnotation=require("@labelbee/lb-annotation"),index$1=require("../../../videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js"),VideoClipToolContext=require("../../../videoAnnotate/videoClipTool/VideoClipToolContext.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{EVideoToolName}=lbAnnotation.cTool,videoTimeFormat=e=>{const t=Math.floor(e/60),a=~~(e%60).toFixed(),o=(e*10).toString().split("").pop(),l=s=>s<10?`0${s}`:s;return`${l(t)}:${l(a)}:${o}`};exports.EPlayerType=void 0,function(e){e[e.Video=0]="Video",e[e.Audio=1]="Audio"}(exports.EPlayerType||(exports.EPlayerType={}));const VideoProgress=()=>{const{currentTime:e,duration:t,buffered:a,setCurrentTime:o}=React__default.default.useContext(index.VideoPlayerCtx),l=React__default.default.useRef(null),s=React.useMemo(()=>`${utils.decimalReserved(a/t*100,1)}%`,[a,t]),r=React.useMemo(()=>`${utils.decimalReserved(e/t*100,1)}%`,[e,t]),d=n=>{if(l.current){const c=n.clientX,u=l.current.clientWidth,i=utils.decimalReserved(c/u*t,1);o(i)}};return React__default.default.createElement("div",{className:dom.getClassName("video-progress"),ref:l,onClick:n=>{n.stopPropagation(),n.nativeEvent.stopImmediatePropagation(),d(n)}},React__default.default.createElement("div",{className:dom.getClassName("video-slider")},React__default.default.createElement("div",{className:dom.getClassName("video-slider","played"),style:{width:r}}),React__default.default.createElement("div",{className:dom.getClassName("video-slider","loaded"),style:{width:s}}),React__default.default.createElement("div",{className:dom.getClassName("video-slider","played"),style:{width:r}})),React__default.default.createElement("div",{className:dom.getClassName("video-slider-bar"),style:{left:r}}))},VideoSpeedButton=()=>{const{updateNextPlaybackRate:e,playbackRate:t}=React__default.default.useContext(index.VideoPlayerCtx),{t:a}=reactI18next.useTranslation();return React__default.default.createElement("span",{className:dom.getClassName("video-controller","speed")},React__default.default.createElement("span",null,a("Speed")),React__default.default.createElement("span",{className:dom.getClassName("video-controller","speedNum")},`${t}x`),React__default.default.createElement("span",{className:dom.getClassName("video-controller","speedButton")},React__default.default.createElement(icons.CaretUpOutlined,{onClick:()=>{e()}}),React__default.default.createElement(icons.CaretDownOutlined,{onClick:()=>{e(!1)}})))},VideoHotKeys=()=>{const{t:e}=reactI18next.useTranslation();return React__default.default.createElement(index$2.default,{title:React__default.default.createElement("span",{className:dom.getClassName("video-controller","hotkey")},React__default.default.createElement("img",{src:icon_keyboard_h}),e("Hotkeys")),style:{},toolName:EVideoToolName.VideoTagTool})},VideoPageChange=()=>{const{imgIndex:e,imgList:t,pageBackward:a,pageJump:o,pageForward:l}=React__default.default.useContext(index.VideoPlayerCtx);return React__default.default.createElement(Pagination.Pagination,{isVideo:!0,pageBackward:a,imgIndex:e,pageJump:o,totalPage:t.length,pageForward:l,footerCls:dom.getClassName("video-controller")})},VideoTime=()=>{const{currentTime:e,duration:t}=React__default.default.useContext(index.VideoPlayerCtx),a=t*10-e*10,o=(a>0?a:0)/10;return React__default.default.createElement("div",{className:dom.getClassName("video-controller","time")},`${videoTimeFormat(e)} / -${videoTimeFormat(o)}`)},VideoPlay=e=>{const{playPause:t,isPlay:a}=e;return React__default.default.createElement("span",{onClick:()=>{t()},className:dom.getClassName("video-controller","playButton")},a?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null))},VideoController=e=>{var t,a;const{footer:o}=e,{playPause:l,isPlay:s,addTime:r,toggleClipStatus:d}=React__default.default.useContext(index.VideoPlayerCtx),{result:n}=React.useContext(VideoClipToolContext.VideoClipToolContext),c=(a=(t=n==null?void 0:n.filter(x=>x.end!==null))==null?void 0:t.length)!=null?a:0,{t:u}=reactI18next.useTranslation(),i=React__default.default.createElement(VideoProgress,null),m=React__default.default.createElement(VideoPlay,{playPause:l,isPlay:s}),f=React__default.default.createElement(VideoTime,null),v=React__default.default.createElement(VideoSpeedButton,null),p=React__default.default.createElement(VideoPageChange,null),C=React__default.default.createElement(VideoHotKeys,null),g=React__default.default.createElement(index$1,{addTime:r,toggleClipStatus:d}),y=React__default.default.createElement("span",{style:{margin:"0px 8px",fontSize:12}},`${u("ItemsOfThisPage")}: ${c}`);return o?typeof o=="function"?o({videoProgress:i,videoPlayIcon:m,videoTime:f,videoSpeed:v,videoPageChange:p,videoHotKeys:C,videoClipHotKey:g,videoResultCount:y}):o:React__default.default.createElement("div",{className:dom.getClassName("video-controller","wrapper")},i,React__default.default.createElement("div",{className:dom.getClassName("video-controller")},m,f,v,g,React__default.default.createElement("div",{className:dom.getClassName("video-controller","holder")}),y,p,C))};exports.default=VideoController,exports.videoTimeFormat=videoTimeFormat;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),dom=require("../../../../utils/dom.js"),icons=require("@ant-design/icons"),index=require("../../index.js"),Pagination=require("../../../../views/MainView/toolFooter/Pagination.js"),icon_keyboard_h=require("../../../../assets/annotation/video/icon_keyboard_h.svg.js"),index$2=require("../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js"),reactI18next=require("react-i18next"),utils=require("../../utils.js"),lbAnnotation=require("@labelbee/lb-annotation"),index$1=require("../../../videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js"),VideoClipToolContext=require("../../../videoAnnotate/videoClipTool/VideoClipToolContext.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{EVideoToolName}=lbAnnotation.cTool,videoTimeFormat=e=>{const t=Math.floor(e/60),a=~~(e%60).toFixed(),o=(e*10).toString().split("").pop(),l=s=>s<10?`0${s}`:s;return`${l(t)}:${l(a)}:${o}`};exports.EPlayerType=void 0,function(e){e[e.Video=0]="Video",e[e.Audio=1]="Audio"}(exports.EPlayerType||(exports.EPlayerType={}));const VideoProgress=()=>{const{currentTime:e,duration:t,buffered:a,setCurrentTime:o}=React__default.default.useContext(index.VideoPlayerCtx),l=React__default.default.useRef(null),s=React.useMemo(()=>`${utils.decimalReserved(a/t*100,1)}%`,[a,t]),r=React.useMemo(()=>`${utils.decimalReserved(e/t*100,1)}%`,[e,t]),d=n=>{if(l.current){const c=n.clientX,u=l.current.clientWidth,i=utils.decimalReserved(c/u*t,1);o(i)}};return React__default.default.createElement("div",{className:dom.getClassName("video-progress"),ref:l,onMouseUp:n=>{n.stopPropagation(),n.nativeEvent.stopImmediatePropagation(),d(n)}},React__default.default.createElement("div",{className:dom.getClassName("video-slider")},React__default.default.createElement("div",{className:dom.getClassName("video-slider","played"),style:{width:r}}),React__default.default.createElement("div",{className:dom.getClassName("video-slider","loaded"),style:{width:s}}),React__default.default.createElement("div",{className:dom.getClassName("video-slider","played"),style:{width:r}})),React__default.default.createElement("div",{className:dom.getClassName("video-slider-bar"),style:{left:r}}))},VideoSpeedButton=()=>{const{updateNextPlaybackRate:e,playbackRate:t}=React__default.default.useContext(index.VideoPlayerCtx),{t:a}=reactI18next.useTranslation();return React__default.default.createElement("span",{className:dom.getClassName("video-controller","speed")},React__default.default.createElement("span",null,a("Speed")),React__default.default.createElement("span",{className:dom.getClassName("video-controller","speedNum")},`${t}x`),React__default.default.createElement("span",{className:dom.getClassName("video-controller","speedButton")},React__default.default.createElement(icons.CaretUpOutlined,{onClick:()=>{e()}}),React__default.default.createElement(icons.CaretDownOutlined,{onClick:()=>{e(!1)}})))},VideoHotKeys=()=>{const{t:e}=reactI18next.useTranslation();return React__default.default.createElement(index$2.default,{title:React__default.default.createElement("span",{className:dom.getClassName("video-controller","hotkey")},React__default.default.createElement("img",{src:icon_keyboard_h}),e("Hotkeys")),style:{},toolName:EVideoToolName.VideoTagTool})},VideoPageChange=()=>{const{imgIndex:e,imgList:t,pageBackward:a,pageJump:o,pageForward:l}=React__default.default.useContext(index.VideoPlayerCtx);return React__default.default.createElement(Pagination.Pagination,{isVideo:!0,pageBackward:a,imgIndex:e,pageJump:o,totalPage:t.length,pageForward:l,footerCls:dom.getClassName("video-controller")})},VideoTime=()=>{const{currentTime:e,duration:t}=React__default.default.useContext(index.VideoPlayerCtx),a=t*10-e*10,o=(a>0?a:0)/10;return React__default.default.createElement("div",{className:dom.getClassName("video-controller","time")},`${videoTimeFormat(e)} / -${videoTimeFormat(o)}`)},VideoPlay=e=>{const{playPause:t,isPlay:a}=e;return React__default.default.createElement("span",{onClick:()=>{t()},className:dom.getClassName("video-controller","playButton")},a?React__default.default.createElement(icons.PauseOutlined,null):React__default.default.createElement(icons.CaretRightOutlined,null))},VideoController=e=>{var t,a;const{footer:o}=e,{playPause:l,isPlay:s,addTime:r,toggleClipStatus:d}=React__default.default.useContext(index.VideoPlayerCtx),{result:n}=React.useContext(VideoClipToolContext.VideoClipToolContext),c=(a=(t=n==null?void 0:n.filter(x=>x.end!==null))==null?void 0:t.length)!=null?a:0,{t:u}=reactI18next.useTranslation(),i=React__default.default.createElement(VideoProgress,null),m=React__default.default.createElement(VideoPlay,{playPause:l,isPlay:s}),f=React__default.default.createElement(VideoTime,null),v=React__default.default.createElement(VideoSpeedButton,null),p=React__default.default.createElement(VideoPageChange,null),C=React__default.default.createElement(VideoHotKeys,null),g=React__default.default.createElement(index$1,{addTime:r,toggleClipStatus:d}),y=React__default.default.createElement("span",{style:{margin:"0px 8px",fontSize:12}},`${u("ItemsOfThisPage")}: ${c}`);return o?typeof o=="function"?o({videoProgress:i,videoPlayIcon:m,videoTime:f,videoSpeed:v,videoPageChange:p,videoHotKeys:C,videoClipHotKey:g,videoResultCount:y}):o:React__default.default.createElement("div",{className:dom.getClassName("video-controller","wrapper")},i,React__default.default.createElement("div",{className:dom.getClassName("video-controller")},m,f,v,g,React__default.default.createElement("div",{className:dom.getClassName("video-controller","holder")}),y,p,C))};exports.default=VideoController,exports.videoTimeFormat=videoTimeFormat;
package/dist/index.css CHANGED
@@ -1963,7 +1963,7 @@
1963
1963
 
1964
1964
  .textInputContainer {
1965
1965
  padding: 20px;
1966
- height: 100%;
1966
+ height: auto;
1967
1967
  overflow-y: scroll;
1968
1968
  }
1969
1969
 
@@ -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
- "use strict";var React=require("react"),es=require("antd/es"),index=require("../TextAreaFormat/index.js"),TextUtils=require("../../../../utils/TextUtils.js"),reactRedux=require("react-redux"),ctx=require("../../../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const AnnotationText=({toolInstance:e})=>{var u;const[,n]=React.useState(0);if(React.useEffect(()=>{e&&(e.singleOn("selectedChange",()=>{n(r=>r+1)}),e.singleOn("updateTextAttribute",()=>{n(r=>r+1)}),e.singleOn("messageError",r=>{es.message.error(r)}))},[e]),!e)return null;const{config:t}=e;return React__default.default.createElement("div",null,((u=e==null?void 0:e.config)==null?void 0:u.textConfigurable)&&e.selectedID&&React__default.default.createElement(index,{onChange:e.textChange,textValue:e.selectedText,checkString:TextUtils.TextUtils.checkString(t==null?void 0:t.textCheckType,t==null?void 0:t.customFormat),textCheckType:t.textCheckType}))};function mapStateToProps(e){return{toolInstance:e.annotation.toolInstance}}var AnnotationText$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(AnnotationText);module.exports=AnnotationText$1;
1
+ "use strict";var React=require("react"),es=require("antd/es"),index=require("../TextAreaFormat/index.js"),TextUtils=require("../../../../utils/TextUtils.js"),reactRedux=require("react-redux"),ctx=require("../../../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const AnnotationText=({toolInstance:e})=>{var u;const[,i]=React.useState(0);if(React.useEffect(()=>{e&&(e.singleOn("selectedChange",()=>{i(r=>r+1)}),e.singleOn("updateTextAttribute",()=>{i(r=>r+1)}),e.singleOn("messageError",r=>{es.message.error(r)}))},[e]),!e)return null;const{config:t}=e;return((u=e==null?void 0:e.config)==null?void 0:u.textConfigurable)&&e.selectedID&&React__default.default.createElement(index,{onChange:e.textChange,textValue:e.selectedText,checkString:TextUtils.TextUtils.checkString(t==null?void 0:t.textCheckType,t==null?void 0:t.customFormat),textCheckType:t.textCheckType})};function mapStateToProps(e){return{toolInstance:e.annotation.toolInstance}}var AnnotationText$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(AnnotationText);module.exports=AnnotationText$1;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),reactRedux=require("react-redux"),index$1=require("../../../../components/attributeList/index.js"),StepUtils=require("../../../../utils/StepUtils.js"),index=require("../../../../utils/index.js"),reactI18next=require("react-i18next"),ToolType=require("../../../../data/enums/ToolType.js"),ctx=require("../../../../store/ctx.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React);const SwitchAttributeList=t=>{var r;const[s,u]=React.useState(0),i=React.useRef(null),{toolInstance:e}=t,{t:f}=reactI18next.useTranslation();if(React.useEffect(()=>(e&&e.singleOn("changeAttributeSidebar",a=>{var c;u(n=>n+1),!!i.current&&((c=i.current.children[a])==null||c.scrollIntoView({block:"center"}))}),()=>{e==null||e.unbindAll("changeAttributeSidebar")}),[e,i]),!t.stepInfo)return null;const l=index.jsonParser(t.stepInfo.config),o=t.stepInfo.tool===ToolType.EToolName.ScribbleTool;if(l.attributeConfigurable!==!0&&!o)return null;if((l.attributeConfigurable===!0||o)&&(l==null?void 0:l.attributeList)){const a=l.attributeList.map(n=>({label:n.key,value:n.value,color:n==null?void 0:n.color}));o||a.unshift({label:f("NoAttribute"),value:""});const c=n=>{e.setDefaultAttribute(n),u(d=>d+1)};return React__default.default.createElement("div",null,React__default.default.createElement(index$1.default,{list:a,attributeChanged:c,selectedAttribute:(r=e==null?void 0:e.defaultAttribute)!=null?r:"",ref:i,forbidDefault:o}))}return null},mapStateToProps=t=>{var r,s;const u=StepUtils.getCurrentStepInfo((r=t.annotation)==null?void 0:r.step,(s=t.annotation)==null?void 0:s.stepList);return{toolInstance:t.annotation.toolInstance,stepInfo:u}};var SwitchAttributeList$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(SwitchAttributeList);module.exports=SwitchAttributeList$1;
1
+ "use strict";var React=require("react"),reactRedux=require("react-redux"),index$1=require("../../../../components/attributeList/index.js"),StepUtils=require("../../../../utils/StepUtils.js"),index=require("../../../../utils/index.js"),reactI18next=require("react-i18next"),ToolType=require("../../../../data/enums/ToolType.js"),ctx=require("../../../../store/ctx.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React);const SwitchAttributeList=t=>{var n;const[c,u]=React.useState(0),i=React.useRef(null),{toolInstance:e}=t,{t:f}=reactI18next.useTranslation();if(React.useEffect(()=>(e&&e.singleOn("changeAttributeSidebar",a=>{var s;u(r=>r+1),!!i.current&&((s=i.current.children[a])==null||s.scrollIntoView({block:"center"}))}),()=>{e==null||e.unbindAll("changeAttributeSidebar")}),[e,i]),!t.stepInfo)return null;const l=index.jsonParser(t.stepInfo.config),o=t.stepInfo.tool===ToolType.EToolName.ScribbleTool;if(l.attributeConfigurable!==!0&&!o)return null;if((l.attributeConfigurable===!0||o)&&(l==null?void 0:l.attributeList)){const a=l.attributeList.map(r=>({label:r.key,value:r.value,color:r==null?void 0:r.color}));o||a.unshift({label:f("NoAttribute"),value:""});const s=r=>{e.setDefaultAttribute(r),u(b=>b+1)};return React__default.default.createElement(index$1.default,{list:a,attributeChanged:s,selectedAttribute:(n=e==null?void 0:e.defaultAttribute)!=null?n:"",ref:i,forbidDefault:o})}return null},mapStateToProps=t=>{var n,c;const u=StepUtils.getCurrentStepInfo((n=t.annotation)==null?void 0:n.step,(c=t.annotation)==null?void 0:c.stepList);return{toolInstance:t.annotation.toolInstance,stepInfo:u}};var SwitchAttributeList$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(SwitchAttributeList);module.exports=SwitchAttributeList$1;
@@ -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};
@@ -1 +1 @@
1
- import e,{useContext as $,useMemo as k}from"react";import{getClassName as l}from"../../../../utils/dom.js";import{CaretUpOutlined as b,CaretDownOutlined as j,PauseOutlined as H,CaretRightOutlined as R}from"@ant-design/icons";import{VideoPlayerCtx as d}from"../../index.js";import{Pagination as S}from"../../../../views/MainView/toolFooter/Pagination.js";import F from"../../../../assets/annotation/video/icon_keyboard_h.svg.js";import K from"../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js";import{useTranslation as f}from"react-i18next";import{decimalReserved as g}from"../../utils.js";import{cTool as O}from"@labelbee/lb-annotation";import A from"../../../videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js";import{VideoClipToolContext as B}from"../../../videoAnnotate/videoClipTool/VideoClipToolContext.js";const{EVideoToolName:I}=O,C=t=>{const o=Math.floor(t/60),n=~~(t%60).toFixed(),i=(t*10).toString().split("").pop(),r=a=>a<10?`0${a}`:a;return`${r(o)}:${r(n)}:${i}`};var E;(function(t){t[t.Video=0]="Video",t[t.Audio=1]="Audio"})(E||(E={}));const M=()=>{const{currentTime:t,duration:o,buffered:n,setCurrentTime:i}=e.useContext(d),r=e.useRef(null),a=k(()=>`${g(n/o*100,1)}%`,[n,o]),c=k(()=>`${g(t/o*100,1)}%`,[t,o]),u=s=>{if(r.current){const p=s.clientX,v=r.current.clientWidth,m=g(p/v*o,1);i(m)}};return e.createElement("div",{className:l("video-progress"),ref:r,onClick:s=>{s.stopPropagation(),s.nativeEvent.stopImmediatePropagation(),u(s)}},e.createElement("div",{className:l("video-slider")},e.createElement("div",{className:l("video-slider","played"),style:{width:c}}),e.createElement("div",{className:l("video-slider","loaded"),style:{width:a}}),e.createElement("div",{className:l("video-slider","played"),style:{width:c}})),e.createElement("div",{className:l("video-slider-bar"),style:{left:c}}))},_=()=>{const{updateNextPlaybackRate:t,playbackRate:o}=e.useContext(d),{t:n}=f();return e.createElement("span",{className:l("video-controller","speed")},e.createElement("span",null,n("Speed")),e.createElement("span",{className:l("video-controller","speedNum")},`${o}x`),e.createElement("span",{className:l("video-controller","speedButton")},e.createElement(b,{onClick:()=>{t()}}),e.createElement(j,{onClick:()=>{t(!1)}})))},L=()=>{const{t}=f();return e.createElement(K,{title:e.createElement("span",{className:l("video-controller","hotkey")},e.createElement("img",{src:F}),t("Hotkeys")),style:{},toolName:I.VideoTagTool})},X=()=>{const{imgIndex:t,imgList:o,pageBackward:n,pageJump:i,pageForward:r}=e.useContext(d);return e.createElement(S,{isVideo:!0,pageBackward:n,imgIndex:t,pageJump:i,totalPage:o.length,pageForward:r,footerCls:l("video-controller")})},z=()=>{const{currentTime:t,duration:o}=e.useContext(d),n=o*10-t*10,i=(n>0?n:0)/10;return e.createElement("div",{className:l("video-controller","time")},`${C(t)} / -${C(i)}`)},D=t=>{const{playPause:o,isPlay:n}=t;return e.createElement("span",{onClick:()=>{o()},className:l("video-controller","playButton")},n?e.createElement(H,null):e.createElement(R,null))},J=t=>{var o,n;const{footer:i}=t,{playPause:r,isPlay:a,addTime:c,toggleClipStatus:u}=e.useContext(d),{result:s}=$(B),p=(n=(o=s==null?void 0:s.filter(w=>w.end!==null))==null?void 0:o.length)!=null?n:0,{t:v}=f(),m=e.createElement(M,null),y=e.createElement(D,{playPause:r,isPlay:a}),T=e.createElement(z,null),x=e.createElement(_,null),N=e.createElement(X,null),P=e.createElement(L,null),V=e.createElement(A,{addTime:c,toggleClipStatus:u}),h=e.createElement("span",{style:{margin:"0px 8px",fontSize:12}},`${v("ItemsOfThisPage")}: ${p}`);return i?typeof i=="function"?i({videoProgress:m,videoPlayIcon:y,videoTime:T,videoSpeed:x,videoPageChange:N,videoHotKeys:P,videoClipHotKey:V,videoResultCount:h}):i:e.createElement("div",{className:l("video-controller","wrapper")},m,e.createElement("div",{className:l("video-controller")},y,T,x,V,e.createElement("div",{className:l("video-controller","holder")}),h,N,P))};export{E as EPlayerType,J as default,C as videoTimeFormat};
1
+ import e,{useContext as $,useMemo as w}from"react";import{getClassName as l}from"../../../../utils/dom.js";import{CaretUpOutlined as b,CaretDownOutlined as j,PauseOutlined as H,CaretRightOutlined as R}from"@ant-design/icons";import{VideoPlayerCtx as d}from"../../index.js";import{Pagination as S}from"../../../../views/MainView/toolFooter/Pagination.js";import F from"../../../../assets/annotation/video/icon_keyboard_h.svg.js";import K from"../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js";import{useTranslation as f}from"react-i18next";import{decimalReserved as g}from"../../utils.js";import{cTool as M}from"@labelbee/lb-annotation";import O from"../../../videoAnnotate/videoClipTool/components/videoClipToolHotkey/index.js";import{VideoClipToolContext as A}from"../../../videoAnnotate/videoClipTool/VideoClipToolContext.js";const{EVideoToolName:B}=M,C=t=>{const o=Math.floor(t/60),n=~~(t%60).toFixed(),r=(t*10).toString().split("").pop(),i=a=>a<10?`0${a}`:a;return`${i(o)}:${i(n)}:${r}`};var E;(function(t){t[t.Video=0]="Video",t[t.Audio=1]="Audio"})(E||(E={}));const I=()=>{const{currentTime:t,duration:o,buffered:n,setCurrentTime:r}=e.useContext(d),i=e.useRef(null),a=w(()=>`${g(n/o*100,1)}%`,[n,o]),c=w(()=>`${g(t/o*100,1)}%`,[t,o]),u=s=>{if(i.current){const p=s.clientX,v=i.current.clientWidth,m=g(p/v*o,1);r(m)}};return e.createElement("div",{className:l("video-progress"),ref:i,onMouseUp:s=>{s.stopPropagation(),s.nativeEvent.stopImmediatePropagation(),u(s)}},e.createElement("div",{className:l("video-slider")},e.createElement("div",{className:l("video-slider","played"),style:{width:c}}),e.createElement("div",{className:l("video-slider","loaded"),style:{width:a}}),e.createElement("div",{className:l("video-slider","played"),style:{width:c}})),e.createElement("div",{className:l("video-slider-bar"),style:{left:c}}))},_=()=>{const{updateNextPlaybackRate:t,playbackRate:o}=e.useContext(d),{t:n}=f();return e.createElement("span",{className:l("video-controller","speed")},e.createElement("span",null,n("Speed")),e.createElement("span",{className:l("video-controller","speedNum")},`${o}x`),e.createElement("span",{className:l("video-controller","speedButton")},e.createElement(b,{onClick:()=>{t()}}),e.createElement(j,{onClick:()=>{t(!1)}})))},L=()=>{const{t}=f();return e.createElement(K,{title:e.createElement("span",{className:l("video-controller","hotkey")},e.createElement("img",{src:F}),t("Hotkeys")),style:{},toolName:B.VideoTagTool})},U=()=>{const{imgIndex:t,imgList:o,pageBackward:n,pageJump:r,pageForward:i}=e.useContext(d);return e.createElement(S,{isVideo:!0,pageBackward:n,imgIndex:t,pageJump:r,totalPage:o.length,pageForward:i,footerCls:l("video-controller")})},X=()=>{const{currentTime:t,duration:o}=e.useContext(d),n=o*10-t*10,r=(n>0?n:0)/10;return e.createElement("div",{className:l("video-controller","time")},`${C(t)} / -${C(r)}`)},z=t=>{const{playPause:o,isPlay:n}=t;return e.createElement("span",{onClick:()=>{o()},className:l("video-controller","playButton")},n?e.createElement(H,null):e.createElement(R,null))},D=t=>{var o,n;const{footer:r}=t,{playPause:i,isPlay:a,addTime:c,toggleClipStatus:u}=e.useContext(d),{result:s}=$(A),p=(n=(o=s==null?void 0:s.filter(k=>k.end!==null))==null?void 0:o.length)!=null?n:0,{t:v}=f(),m=e.createElement(I,null),y=e.createElement(z,{playPause:i,isPlay:a}),T=e.createElement(X,null),x=e.createElement(_,null),N=e.createElement(U,null),P=e.createElement(L,null),V=e.createElement(O,{addTime:c,toggleClipStatus:u}),h=e.createElement("span",{style:{margin:"0px 8px",fontSize:12}},`${v("ItemsOfThisPage")}: ${p}`);return r?typeof r=="function"?r({videoProgress:m,videoPlayIcon:y,videoTime:T,videoSpeed:x,videoPageChange:N,videoHotKeys:P,videoClipHotKey:V,videoResultCount:h}):r:e.createElement("div",{className:l("video-controller","wrapper")},m,e.createElement("div",{className:l("video-controller")},y,T,x,V,e.createElement("div",{className:l("video-controller","holder")}),h,N,P))};export{E as EPlayerType,D as default,C as videoTimeFormat};
package/es/index.css CHANGED
@@ -1963,7 +1963,7 @@
1963
1963
 
1964
1964
  .textInputContainer {
1965
1965
  padding: 20px;
1966
- height: 100%;
1966
+ height: auto;
1967
1967
  overflow-y: scroll;
1968
1968
  }
1969
1969
 
@@ -1 +1 @@
1
- import o,{useState as a,useEffect as l}from"react";import{message as u}from"antd/es";import m from"../TextAreaFormat/index.js";import{TextUtils as x}from"../../../../utils/TextUtils.js";import{connect as c}from"react-redux";import{LabelBeeContext as s}from"../../../../store/ctx.js";const f=({toolInstance:e})=>{var n;const[,i]=a(0);if(l(()=>{e&&(e.singleOn("selectedChange",()=>{i(r=>r+1)}),e.singleOn("updateTextAttribute",()=>{i(r=>r+1)}),e.singleOn("messageError",r=>{u.error(r)}))},[e]),!e)return null;const{config:t}=e;return o.createElement("div",null,((n=e==null?void 0:e.config)==null?void 0:n.textConfigurable)&&e.selectedID&&o.createElement(m,{onChange:e.textChange,textValue:e.selectedText,checkString:x.checkString(t==null?void 0:t.textCheckType,t==null?void 0:t.customFormat),textCheckType:t.textCheckType}))};function d(e){return{toolInstance:e.annotation.toolInstance}}var g=c(d,null,null,{context:s})(f);export{g as default};
1
+ import o,{useState as a,useEffect as u}from"react";import{message as m}from"antd/es";import x from"../TextAreaFormat/index.js";import{TextUtils as l}from"../../../../utils/TextUtils.js";import{connect as c}from"react-redux";import{LabelBeeContext as s}from"../../../../store/ctx.js";const f=({toolInstance:e})=>{var i;const[,n]=a(0);if(u(()=>{e&&(e.singleOn("selectedChange",()=>{n(r=>r+1)}),e.singleOn("updateTextAttribute",()=>{n(r=>r+1)}),e.singleOn("messageError",r=>{m.error(r)}))},[e]),!e)return null;const{config:t}=e;return((i=e==null?void 0:e.config)==null?void 0:i.textConfigurable)&&e.selectedID&&o.createElement(x,{onChange:e.textChange,textValue:e.selectedText,checkString:l.checkString(t==null?void 0:t.textCheckType,t==null?void 0:t.customFormat),textCheckType:t.textCheckType})};function d(e){return{toolInstance:e.annotation.toolInstance}}var g=c(d,null,null,{context:s})(f);export{g as default};
@@ -1 +1 @@
1
- import f,{useState as d,useRef as p,useEffect as v}from"react";import{connect as S}from"react-redux";import A from"../../../../components/attributeList/index.js";import g from"../../../../utils/StepUtils.js";import{jsonParser as I}from"../../../../utils/index.js";import{useTranslation as x}from"react-i18next";import{EToolName as L}from"../../../../data/enums/ToolType.js";import{LabelBeeContext as h}from"../../../../store/ctx.js";const T=t=>{var o;const[c,l]=d(0),i=p(null),{toolInstance:e}=t,{t:b}=x();if(v(()=>(e&&e.singleOn("changeAttributeSidebar",a=>{var s;l(n=>n+1),!!i.current&&((s=i.current.children[a])==null||s.scrollIntoView({block:"center"}))}),()=>{e==null||e.unbindAll("changeAttributeSidebar")}),[e,i]),!t.stepInfo)return null;const r=I(t.stepInfo.config),u=t.stepInfo.tool===L.ScribbleTool;if(r.attributeConfigurable!==!0&&!u)return null;if((r.attributeConfigurable===!0||u)&&(r==null?void 0:r.attributeList)){const a=r.attributeList.map(n=>({label:n.key,value:n.value,color:n==null?void 0:n.color}));u||a.unshift({label:b("NoAttribute"),value:""});const s=n=>{e.setDefaultAttribute(n),l(m=>m+1)};return f.createElement("div",null,f.createElement(A,{list:a,attributeChanged:s,selectedAttribute:(o=e==null?void 0:e.defaultAttribute)!=null?o:"",ref:i,forbidDefault:u}))}return null},j=t=>{var o,c;const l=g.getCurrentStepInfo((o=t.annotation)==null?void 0:o.step,(c=t.annotation)==null?void 0:c.stepList);return{toolInstance:t.annotation.toolInstance,stepInfo:l}};var C=S(j,null,null,{context:h})(T);export{C as default};
1
+ import m,{useState as d,useRef as p,useEffect as v}from"react";import{connect as S}from"react-redux";import A from"../../../../components/attributeList/index.js";import g from"../../../../utils/StepUtils.js";import{jsonParser as I}from"../../../../utils/index.js";import{useTranslation as x}from"react-i18next";import{EToolName as L}from"../../../../data/enums/ToolType.js";import{LabelBeeContext as h}from"../../../../store/ctx.js";const T=t=>{var o;const[c,i]=d(0),l=p(null),{toolInstance:e}=t,{t:f}=x();if(v(()=>(e&&e.singleOn("changeAttributeSidebar",a=>{var s;i(n=>n+1),!!l.current&&((s=l.current.children[a])==null||s.scrollIntoView({block:"center"}))}),()=>{e==null||e.unbindAll("changeAttributeSidebar")}),[e,l]),!t.stepInfo)return null;const r=I(t.stepInfo.config),u=t.stepInfo.tool===L.ScribbleTool;if(r.attributeConfigurable!==!0&&!u)return null;if((r.attributeConfigurable===!0||u)&&(r==null?void 0:r.attributeList)){const a=r.attributeList.map(n=>({label:n.key,value:n.value,color:n==null?void 0:n.color}));u||a.unshift({label:f("NoAttribute"),value:""});const s=n=>{e.setDefaultAttribute(n),i(b=>b+1)};return m.createElement(A,{list:a,attributeChanged:s,selectedAttribute:(o=e==null?void 0:e.defaultAttribute)!=null?o:"",ref:l,forbidDefault:u})}return null},j=t=>{var o,c;const i=g.getCurrentStepInfo((o=t.annotation)==null?void 0:o.step,(c=t.annotation)==null?void 0:c.stepList);return{toolInstance:t.annotation.toolInstance,stepInfo:i}};var C=S(j,null,null,{context:h})(T);export{C as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.21.0-alpha.4",
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",