@labelbee/lb-components 1.24.0-alpha.47 → 1.24.0-alpha.48

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"),icons=require("@ant-design/icons"),ToolIcons=require("../ToolIcons.js"),ToolType=require("../../../../data/enums/ToolType.js"),lbAnnotation=require("@labelbee/lb-annotation"),PointCloudContext=require("../../../../components/pointCloudView/PointCloudContext.js"),antd=require("antd"),StepUtils=require("../../../../utils/StepUtils.js"),reactRedux=require("react-redux"),index=require("../../../../utils/index.js"),useStatus=require("../../../../components/pointCloudView/hooks/useStatus.js"),useSingleBox=require("../../../../components/pointCloudView/hooks/useSingleBox.js"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js"),index$6=require("./components/batchUpdateModal/index.js"),index$1=require("./components/annotatedBox/index.js"),index$3=require("./components/rectRotateSensitivitySlider/index.js"),index$2=require("./components/findTrackIDIndex/index.js"),index$4=require("./components/firstFrameDataSwitch/index.js"),index$5=require("./components/selectBoxVisibleSwitch/index.js"),lbUtils=require("@labelbee/lb-utils"),index$8=require("../../../../components/attributeList/index.js"),useAttribute=require("../../../../components/pointCloudView/hooks/useAttribute.js"),lassoSelector=require("../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js"),lassoSelector_a=require("../../../../assets/annotation/pointCloudTool/lassoSelector_a.svg.js"),circleSelector=require("../../../../assets/annotation/pointCloudTool/circleSelector.svg.js"),circleSelector_a=require("../../../../assets/annotation/pointCloudTool/circleSelector_a.svg.js"),icon_rect=require("../../../../assets/annotation/rectTool/icon_rect.svg.js"),icon_rect_a=require("../../../../assets/annotation/rectTool/icon_rect_a.svg.js"),index$a=require("../index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),usePointCloudViews=require("../../../../components/pointCloudView/hooks/usePointCloudViews.js"),index$9=require("../../../../components/subAttributeList/index.js"),DynamicResizer=require("../../../../components/DynamicResizer/DynamicResizer.js"),_=require("lodash"),index$7=require("../../../../store/toolConfig/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const BoxTrackIDInput=()=>{const[e,t]=React.useState(!1),n=React.useContext(PointCloudContext.PointCloudContext),{pointCloudBoxList:i}=n,{selectedBox:s,updateSelectedBox:l}=useSingleBox.useSingleBox(),[u,c]=React.useState(""),{t:v}=reactI18next.useTranslation(),m=s==null?void 0:s.info.trackID,r=React.useMemo(()=>_.isNumber(m)&&m>=0,[m]),a=d=>!!i.find(x=>x.trackID===d&&x.id!==(s==null?void 0:s.info.id)),C=(d=!1)=>{const p=parseInt(u,10);if(d&&t(!1),isNaN(p)){antd.message.error(v("PositiveIntegerCheck"));return}if(u.indexOf(".")>-1){antd.message.error(v("NotAllowDecimalPointsInTrackID"));return}if(a(p)){antd.message.error(v("DuplicateTrackIDsExist"));return}if(!(p>0)){antd.message.error(v("PositiveIntegerCheck"));return}f(p)};React.useEffect(()=>{t(!1)},[m]);const f=d=>{var p;const x=l({trackID:d});(p=n==null?void 0:n.topViewInstance)==null||p.updatePolygonList(x!=null?x:[]),n.mainViewInstance&&n.selectedPointCloudBox&&(n==null||n.mainViewInstance.generateBox(n==null?void 0:n.selectedPointCloudBox))};return React__default.default.createElement("div",{style:{padding:24}},React__default.default.createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},React__default.default.createElement("span",null,v("CurrentBoxTrackIDs")),r&&React__default.default.createElement(index$6,{id:m,updateCurrentPolygonList:d=>f(d)})),React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",lineHeight:"12px"}},e&&r?React__default.default.createElement(antd.Input,{defaultValue:m,onChange:d=>{c(d.target.value)},disabled:!r,size:"small",onBlur:()=>{C()},onPressEnter:()=>{C(!0)}}):React__default.default.createElement("span",null,m),React__default.default.createElement(icons.EditFilled,{style:{color:"#999",marginLeft:16,cursor:typeof m!="undefined"?"pointer":"not-allowed"},onClick:()=>{r&&t(!e)}})))},isAllowUpdateInSegment=({segmentStatus:e,globalPattern:t})=>t===lbUtils.EPointCloudPattern.Segmentation&&![lbUtils.EPointCloudSegmentStatus.Edit,lbUtils.EPointCloudSegmentStatus.Ready].includes(e),AttributeUpdater=({attributeList:e,subAttributeList:t,toolInstance:n,config:i,stepList:s,stepInfo:l,enableColorPicker:u})=>{const[c,v]=React.useState({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready}),{selectedBox:m}=useSingleBox.useSingleBox(),r=React.useContext(PointCloudContext.PointCloudContext),{ptSegmentInstance:a}=r,{t:C}=reactI18next.useTranslation(),{defaultAttribute:f}=useAttribute.useAttribute(),d=usePointCloudViews.usePointCloudViews(),{isPointCloudSegmentationPattern:p}=useStatus.useStatus(),x=ctx.useDispatch(),{attrChangeTrigger:h,setAttrChangeTrigger:j}=index$7(),q={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"};React.useEffect(()=>{if(!!a)return a.on("syncPointCloudStatus",v),()=>{a.unbind("syncPointCloudStatus",v)}},[a]);const I=(o,g)=>{var b,P,E,T,w;const y=(b=i==null?void 0:i.attributeList)==null?void 0:b.map(S=>S.value===o?__spreadProps(__spreadValues({},S),{color:g}):S),D=__spreadProps(__spreadValues({},i),{attributeList:y}),O=JSON.stringify(D),R=s==null?void 0:s.map(S=>(S==null?void 0:S.step)===(l==null?void 0:l.step)?__spreadProps(__spreadValues({},S),{config:O}):S);(P=r==null?void 0:r.topViewInstance)==null||P.updateAttributeList(y),(E=r==null?void 0:r.sideViewInstance)==null||E.updateAttributeList(y),(T=r==null?void 0:r.backViewInstance)==null||T.updateAttributeList(y),(w=r==null?void 0:r.mainViewInstance)==null||w.setConfig(D),x(actionCreators.SetTaskStepList({stepList:R}))},L=o=>{d.updateViewsByDefaultSize&&d.updateViewsByDefaultSize(o)},B=o=>{if(isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus}))return;const g=o===f?h+1:0;j(g),n.setAttrChangeTrigger(g),n.setDefaultAttribute(o)},V=(o,g)=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus})||n.setSubAttribute(o,g)},k=e.map(o=>({label:o.key,value:o.value,color:o==null?void 0:o.color,limit:o==null?void 0:o.limit,isDefault:o==null?void 0:o.isDefault})),A=m||c.cacheSegData&&c.segmentStatus===lbUtils.EPointCloudSegmentStatus.Edit,N=p;return React__default.default.createElement("div",{style:{height:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},React__default.default.createElement("div",{style:q},C("Attribute")),React__default.default.createElement("div",{style:{height:0,flex:1,overflowY:"auto",overflowX:"hidden"}},React__default.default.createElement(index$8.default,{list:k,forbidDefault:!0,selectedAttribute:f!=null?f:"",attributeChanged:o=>B(o),updateColorConfig:I,enableColorPicker:u,updateSize:L,forbidShowLimitPopover:N}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),A&&React__default.default.createElement(index$9,{subAttributeList:t,setSubAttribute:V,getValue:o=>{var g,b,P,E;return((b=(g=r.selectedPointCloudBox)==null?void 0:g.subAttribute)==null?void 0:b[o.value])||((E=(P=c.cacheSegData)==null?void 0:P.subAttribute)==null?void 0:E[o.value])}})))},renderSegmentTools=[{toolName:"LassoSelector",commonSvg:lassoSelector,selectedSvg:lassoSelector_a},{toolName:"RectSelector",commonSvg:icon_rect,selectedSvg:icon_rect_a},{toolName:"CircleSelector",commonSvg:circleSelector,selectedSvg:circleSelector_a}],PointCloudSegToolIcon=({toolInstance:e})=>{const{ptSegmentInstance:t}=React.useContext(PointCloudContext.PointCloudContext),[n,i]=React.useState("LassoSelector"),{t:s}=reactI18next.useTranslation();return React.useEffect(()=>{if(!t)return;const l=()=>{i("LassoSelector")},u=()=>{i("RectSelector")},c=()=>{i("CircleSelector")};return t.on("LassoSelector",l),t.on("RectSelector",u),t.on("CircleSelector",c),()=>{t.unbind("LassoSelector",l),t.unbind("RectSelector",u),t.unbind("CircleSelector",c)}},[t]),React__default.default.createElement("div",{className:`${index$a.sidebarCls}__level`},renderSegmentTools.map(l=>{const u=n===l.toolName;return React__default.default.createElement("span",{className:`${index$a.sidebarCls}__toolOption`,key:l.toolName,onClick:()=>t==null?void 0:t.emit(l.toolName)},React__default.default.createElement("img",{className:`${index$a.sidebarCls}__singleTool`,src:u?l==null?void 0:l.selectedSvg:l==null?void 0:l.commonSvg}),React__default.default.createElement("span",{className:index.classnames({[`${index$a.sidebarCls}__toolOption__selected`]:u})},s(l.toolName)))}))},PointCloudToolSidebar=({stepInfo:e,toolInstance:t,imgList:n,imgIndex:i,stepList:s,enableColorPicker:l})=>{var u,c;const{updatePointCloudPattern:v,pointCloudPattern:m,isPointCloudSegmentationPattern:r}=useStatus.useStatus(),a=index.jsonParser(e.config),C=(u=a==null?void 0:a.attributeList)!=null?u:[],f=(a==null?void 0:a.secondaryAttributeConfigurable)===!0?(c=a==null?void 0:a.inputList)!=null?c:[]:[];return r?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegToolIcon,{toolInstance:t}),React__default.default.createElement(AttributeUpdater,{toolInstance:t,attributeList:C,subAttributeList:f,config:a,stepList:s,stepInfo:e,enableColorPicker:l})):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ToolIcons.ToolIcons,{toolName:lbAnnotation.cTool.EPointCloudName.PointCloud,selectedToolName:m,onChange:d=>v==null?void 0:v(d)}),React__default.default.createElement("div",{style:{flex:1,overflow:"hidden"}},React__default.default.createElement(DynamicResizer,{minTopHeight:42,defaultHeight:400,localKey:"settingid:"+(e==null?void 0:e.id)+"taskID:"+(e==null?void 0:e.taskID)+"step:"+(e==null?void 0:e.step)+"type:"+(e==null?void 0:e.type)},React__default.default.createElement(AttributeUpdater,{toolInstance:t,attributeList:C,subAttributeList:f,config:a,stepList:s,stepInfo:e,enableColorPicker:l}),(a==null?void 0:a.trackConfigurable)===!0&&m===ToolType.EToolName.Rect?React__default.default.createElement("div",{style:{height:"100%",overflow:"auto"}},React__default.default.createElement(BoxTrackIDInput,null),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$1,{imgList:n,imgIndex:i}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$2.default,{imgList:n,imgIndex:i}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$3,null),e.loadPreStep>0&&React__default.default.createElement(index$4,null),React__default.default.createElement(index$5,null)):React__default.default.createElement("div",null))))},mapStateToProps=e=>{var t,n,i,s;const l=StepUtils.getCurrentStepInfo((t=e.annotation)==null?void 0:t.step,(n=e.annotation)==null?void 0:n.stepList),u=(i=e.annotation)==null?void 0:i.toolInstance,c=(s=e.annotation)==null?void 0:s.stepList;return{stepInfo:l,toolInstance:u,imgList:e.annotation.imgList,imgIndex:e.annotation.imgIndex,stepList:c}};var PointCloudToolSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudToolSidebar);exports.PointCloudSegToolIcon=PointCloudSegToolIcon,exports.default=PointCloudToolSidebar$1;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),icons=require("@ant-design/icons"),ToolIcons=require("../ToolIcons.js"),ToolType=require("../../../../data/enums/ToolType.js"),lbAnnotation=require("@labelbee/lb-annotation"),PointCloudContext=require("../../../../components/pointCloudView/PointCloudContext.js"),antd=require("antd"),StepUtils=require("../../../../utils/StepUtils.js"),reactRedux=require("react-redux"),index=require("../../../../utils/index.js"),useStatus=require("../../../../components/pointCloudView/hooks/useStatus.js"),useSingleBox=require("../../../../components/pointCloudView/hooks/useSingleBox.js"),reactI18next=require("react-i18next"),ctx=require("../../../../store/ctx.js"),index$6=require("./components/batchUpdateModal/index.js"),index$1=require("./components/annotatedBox/index.js"),index$3=require("./components/rectRotateSensitivitySlider/index.js"),index$2=require("./components/findTrackIDIndex/index.js"),index$4=require("./components/firstFrameDataSwitch/index.js"),index$5=require("./components/selectBoxVisibleSwitch/index.js"),lbUtils=require("@labelbee/lb-utils"),index$8=require("../../../../components/attributeList/index.js"),useAttribute=require("../../../../components/pointCloudView/hooks/useAttribute.js"),lassoSelector=require("../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js"),lassoSelector_a=require("../../../../assets/annotation/pointCloudTool/lassoSelector_a.svg.js"),circleSelector=require("../../../../assets/annotation/pointCloudTool/circleSelector.svg.js"),circleSelector_a=require("../../../../assets/annotation/pointCloudTool/circleSelector_a.svg.js"),icon_rect=require("../../../../assets/annotation/rectTool/icon_rect.svg.js"),icon_rect_a=require("../../../../assets/annotation/rectTool/icon_rect_a.svg.js"),index$a=require("../index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),usePointCloudViews=require("../../../../components/pointCloudView/hooks/usePointCloudViews.js"),index$9=require("../../../../components/subAttributeList/index.js"),DynamicResizer=require("../../../../components/DynamicResizer/DynamicResizer.js"),_=require("lodash"),index$7=require("../../../../store/toolConfig/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const BoxTrackIDInput=()=>{const[e,t]=React.useState(!1),n=React.useContext(PointCloudContext.PointCloudContext),{pointCloudBoxList:s}=n,{selectedBox:u,updateSelectedBox:r}=useSingleBox.useSingleBox(),[c,d]=React.useState(""),{t:p}=reactI18next.useTranslation(),v=u==null?void 0:u.info.trackID,l=React.useMemo(()=>_.isNumber(v)&&v>=0,[v]),a=i=>!!s.find(f=>f.trackID===i&&f.id!==(u==null?void 0:u.info.id)),b=(i=!1)=>{const m=parseInt(c,10);if(i&&t(!1),isNaN(m)){antd.message.error(p("PositiveIntegerCheck"));return}if(c.indexOf(".")>-1){antd.message.error(p("NotAllowDecimalPointsInTrackID"));return}if(a(m)){antd.message.error(p("DuplicateTrackIDsExist"));return}if(!(m>0)){antd.message.error(p("PositiveIntegerCheck"));return}g(m)};React.useEffect(()=>{t(!1)},[v]);const g=i=>{var m;const f=r({trackID:i});(m=n==null?void 0:n.topViewInstance)==null||m.updatePolygonList(f!=null?f:[]),n.mainViewInstance&&n.selectedPointCloudBox&&(n==null||n.mainViewInstance.generateBox(n==null?void 0:n.selectedPointCloudBox))};return React__default.default.createElement("div",{style:{padding:24}},React__default.default.createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},React__default.default.createElement("span",null,p("CurrentBoxTrackIDs")),l&&React__default.default.createElement(index$6,{id:v,updateCurrentPolygonList:i=>g(i)})),React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",lineHeight:"12px"}},e&&l?React__default.default.createElement(antd.Input,{defaultValue:v,onChange:i=>{d(i.target.value)},disabled:!l,size:"small",onBlur:()=>{b()},onPressEnter:()=>{b(!0)}}):React__default.default.createElement("span",null,v),React__default.default.createElement(icons.EditFilled,{style:{color:"#999",marginLeft:16,cursor:typeof v!="undefined"?"pointer":"not-allowed"},onClick:()=>{l&&t(!e)}})))},isAllowUpdateInSegment=({segmentStatus:e,globalPattern:t})=>t===lbUtils.EPointCloudPattern.Segmentation&&![lbUtils.EPointCloudSegmentStatus.Edit,lbUtils.EPointCloudSegmentStatus.Ready].includes(e),AttributeUpdater=({attributeList:e,subAttributeList:t,toolInstance:n,config:s,stepList:u,stepInfo:r,enableColorPicker:c})=>{const[d,p]=React.useState({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready}),{selectedBox:v}=useSingleBox.useSingleBox(),l=React.useContext(PointCloudContext.PointCloudContext),{ptSegmentInstance:a}=l,{t:b}=reactI18next.useTranslation(),{defaultAttribute:g}=useAttribute.useAttribute(),i=usePointCloudViews.usePointCloudViews(),{isPointCloudSegmentationPattern:m}=useStatus.useStatus(),f=ctx.useDispatch(),{attrChangeTrigger:y,setAttrChangeTrigger:T}=index$7(),D={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"};React.useEffect(()=>{if(!!a)return a.on("syncPointCloudStatus",p),()=>{a.unbind("syncPointCloudStatus",p)}},[a]);const j=(o,S)=>{var x,P,E,q,I;const w=(x=s==null?void 0:s.attributeList)==null?void 0:x.map(C=>C.value===o?__spreadProps(__spreadValues({},C),{color:S}):C),L=__spreadProps(__spreadValues({},s),{attributeList:w}),O=JSON.stringify(L),R=u==null?void 0:u.map(C=>(C==null?void 0:C.step)===(r==null?void 0:r.step)?__spreadProps(__spreadValues({},C),{config:O}):C);(P=l==null?void 0:l.topViewInstance)==null||P.updateAttributeList(w),(E=l==null?void 0:l.sideViewInstance)==null||E.updateAttributeList(w),(q=l==null?void 0:l.backViewInstance)==null||q.updateAttributeList(w),(I=l==null?void 0:l.mainViewInstance)==null||I.setConfig(L),f(actionCreators.SetTaskStepList({stepList:R}))},h=o=>{i.updateViewsByDefaultSize&&i.updateViewsByDefaultSize(o)},A=o=>{if(isAllowUpdateInSegment({globalPattern:l.globalPattern,segmentStatus:d.segmentStatus}))return;const S=o===g?y+1:0;T(S),n.setAttrChangeTrigger(S),n.setDefaultAttribute(o)},V=(o,S)=>{isAllowUpdateInSegment({globalPattern:l.globalPattern,segmentStatus:d.segmentStatus})||n.setSubAttribute(o,S)},k=e.map(o=>({label:o.key,value:o.value,color:o==null?void 0:o.color,limit:o==null?void 0:o.limit,isDefault:o==null?void 0:o.isDefault})),B=v||d.cacheSegData&&d.segmentStatus===lbUtils.EPointCloudSegmentStatus.Edit,N=m;return React__default.default.createElement("div",{style:{height:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},React__default.default.createElement("div",{style:D},b("Attribute")),React__default.default.createElement("div",{style:{height:0,flex:1,overflowY:"auto",overflowX:"hidden"}},React__default.default.createElement(index$8.default,{list:k,forbidDefault:!0,selectedAttribute:g!=null?g:"",attributeChanged:o=>A(o),updateColorConfig:j,enableColorPicker:c,updateSize:h,forbidShowLimitPopover:N}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),B&&React__default.default.createElement(index$9,{subAttributeList:t,setSubAttribute:V,getValue:o=>{var S,x,P,E;return((x=(S=l.selectedPointCloudBox)==null?void 0:S.subAttribute)==null?void 0:x[o.value])||((E=(P=d.cacheSegData)==null?void 0:P.subAttribute)==null?void 0:E[o.value])}})))},renderSegmentTools=[{toolName:"LassoSelector",commonSvg:lassoSelector,selectedSvg:lassoSelector_a},{toolName:"RectSelector",commonSvg:icon_rect,selectedSvg:icon_rect_a},{toolName:"CircleSelector",commonSvg:circleSelector,selectedSvg:circleSelector_a}],PointCloudSegToolIcon=({toolInstance:e})=>{const{ptSegmentInstance:t}=React.useContext(PointCloudContext.PointCloudContext),[n,s]=React.useState("LassoSelector"),{t:u}=reactI18next.useTranslation();return React.useEffect(()=>{if(!t)return;const r=()=>{s("LassoSelector")},c=()=>{s("RectSelector")},d=()=>{s("CircleSelector")};return t.on("LassoSelector",r),t.on("RectSelector",c),t.on("CircleSelector",d),()=>{t.unbind("LassoSelector",r),t.unbind("RectSelector",c),t.unbind("CircleSelector",d)}},[t]),React__default.default.createElement("div",{className:`${index$a.sidebarCls}__level`},renderSegmentTools.map(r=>{const c=n===r.toolName;return React__default.default.createElement("span",{className:`${index$a.sidebarCls}__toolOption`,key:r.toolName,onClick:()=>t==null?void 0:t.emit(r.toolName)},React__default.default.createElement("img",{className:`${index$a.sidebarCls}__singleTool`,src:c?r==null?void 0:r.selectedSvg:r==null?void 0:r.commonSvg}),React__default.default.createElement("span",{className:index.classnames({[`${index$a.sidebarCls}__toolOption__selected`]:c})},u(r.toolName)))}))},PointCloudToolSidebar=({stepInfo:e,toolInstance:t,imgList:n,imgIndex:s,stepList:u,enableColorPicker:r})=>{var c;const{updatePointCloudPattern:d,pointCloudPattern:p,isPointCloudSegmentationPattern:v}=useStatus.useStatus(),{defaultAttribute:l}=useAttribute.useAttribute(),a=index.jsonParser(e.config),b=(c=a==null?void 0:a.attributeList)!=null?c:[],g=(()=>{var i,m,f;const y=(i=a==null?void 0:a.attributeMapping)!=null?i:{};if((a==null?void 0:a.secondaryAttributeConfigurable)!==!0||!l)return[];const T=(m=a==null?void 0:a.inputList)!=null?m:[],D=(f=y[l])!=null?f:[];return Object.keys(y).length===0?T:T.filter(h=>D.includes(h.value))})();return v?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegToolIcon,{toolInstance:t}),React__default.default.createElement(AttributeUpdater,{toolInstance:t,attributeList:b,subAttributeList:g,config:a,stepList:u,stepInfo:e,enableColorPicker:r})):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ToolIcons.ToolIcons,{toolName:lbAnnotation.cTool.EPointCloudName.PointCloud,selectedToolName:p,onChange:i=>d==null?void 0:d(i)}),React__default.default.createElement("div",{style:{flex:1,overflow:"hidden"}},React__default.default.createElement(DynamicResizer,{minTopHeight:42,defaultHeight:400,localKey:"settingid:"+(e==null?void 0:e.id)+"taskID:"+(e==null?void 0:e.taskID)+"step:"+(e==null?void 0:e.step)+"type:"+(e==null?void 0:e.type)},React__default.default.createElement(AttributeUpdater,{toolInstance:t,attributeList:b,subAttributeList:g,config:a,stepList:u,stepInfo:e,enableColorPicker:r}),(a==null?void 0:a.trackConfigurable)===!0&&p===ToolType.EToolName.Rect?React__default.default.createElement("div",{style:{height:"100%",overflow:"auto"}},React__default.default.createElement(BoxTrackIDInput,null),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$1,{imgList:n,imgIndex:s}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$2.default,{imgList:n,imgIndex:s}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(index$3,null),e.loadPreStep>0&&React__default.default.createElement(index$4,null),React__default.default.createElement(index$5,null)):React__default.default.createElement("div",null))))},mapStateToProps=e=>{var t,n,s,u;const r=StepUtils.getCurrentStepInfo((t=e.annotation)==null?void 0:t.step,(n=e.annotation)==null?void 0:n.stepList),c=(s=e.annotation)==null?void 0:s.toolInstance,d=(u=e.annotation)==null?void 0:u.stepList;return{stepInfo:r,toolInstance:c,imgList:e.annotation.imgList,imgIndex:e.annotation.imgIndex,stepList:d}};var PointCloudToolSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudToolSidebar);exports.PointCloudSegToolIcon=PointCloudSegToolIcon,exports.default=PointCloudToolSidebar$1;
@@ -1 +1 @@
1
- import e,{useState as w,useContext as I,useMemo as rt,useEffect as L}from"react";import{EditFilled as it}from"@ant-design/icons";import{ToolIcons as lt}from"../ToolIcons.js";import{EToolName as st}from"../../../../data/enums/ToolType.js";import{cTool as at}from"@labelbee/lb-annotation";import{PointCloudContext as B}from"../../../../components/pointCloudView/PointCloudContext.js";import{Divider as h,Input as ct,message as T}from"antd";import ut from"../../../../utils/StepUtils.js";import{connect as mt}from"react-redux";import{jsonParser as dt,classnames as pt}from"../../../../utils/index.js";import{useStatus as $}from"../../../../components/pointCloudView/hooks/useStatus.js";import{useSingleBox as z}from"../../../../components/pointCloudView/hooks/useSingleBox.js";import{useTranslation as k}from"react-i18next";import{LabelBeeContext as gt,useDispatch as ft}from"../../../../store/ctx.js";import vt from"./components/batchUpdateModal/index.js";import St from"./components/annotatedBox/index.js";import bt from"./components/rectRotateSensitivitySlider/index.js";import Ct from"./components/findTrackIDIndex/index.js";import xt from"./components/firstFrameDataSwitch/index.js";import Et from"./components/selectBoxVisibleSwitch/index.js";import{EPointCloudSegmentStatus as D,EPointCloudPattern as Pt}from"@labelbee/lb-utils";import _t from"../../../../components/attributeList/index.js";import{useAttribute as yt}from"../../../../components/pointCloudView/hooks/useAttribute.js";import wt from"../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js";import ht from"../../../../assets/annotation/pointCloudTool/lassoSelector_a.svg.js";import Tt from"../../../../assets/annotation/pointCloudTool/circleSelector.svg.js";import Dt from"../../../../assets/annotation/pointCloudTool/circleSelector_a.svg.js";import jt from"../../../../assets/annotation/rectTool/icon_rect.svg.js";import It from"../../../../assets/annotation/rectTool/icon_rect_a.svg.js";import{sidebarCls as j}from"../index.js";import{SetTaskStepList as Lt}from"../../../../store/annotation/actionCreators.js";import{usePointCloudViews as Bt}from"../../../../components/pointCloudView/hooks/usePointCloudViews.js";import kt from"../../../../components/subAttributeList/index.js";import At from"../../../../components/DynamicResizer/DynamicResizer.js";import{isNumber as Vt}from"lodash";import Nt from"../../../../store/toolConfig/index.js";var Ot=Object.defineProperty,Rt=Object.defineProperties,$t=Object.getOwnPropertyDescriptors,F=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Ft=Object.prototype.propertyIsEnumerable,U=(o,t,n)=>t in o?Ot(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,A=(o,t)=>{for(var n in t||(t={}))zt.call(t,n)&&U(o,n,t[n]);if(F)for(var n of F(t))Ft.call(t,n)&&U(o,n,t[n]);return o},V=(o,t)=>Rt(o,$t(t));const Ut=()=>{const[o,t]=w(!1),n=I(B),{pointCloudBoxList:a}=n,{selectedBox:c,updateSelectedBox:i}=z(),[u,m]=w(""),{t:g}=k(),p=c==null?void 0:c.info.trackID,l=rt(()=>Vt(p)&&p>=0,[p]),s=d=>!!a.find(x=>x.trackID===d&&x.id!==(c==null?void 0:c.info.id)),C=(d=!1)=>{const f=parseInt(u,10);if(d&&t(!1),isNaN(f)){T.error(g("PositiveIntegerCheck"));return}if(u.indexOf(".")>-1){T.error(g("NotAllowDecimalPointsInTrackID"));return}if(s(f)){T.error(g("DuplicateTrackIDsExist"));return}if(!(f>0)){T.error(g("PositiveIntegerCheck"));return}v(f)};L(()=>{t(!1)},[p]);const v=d=>{var f;const x=i({trackID:d});(f=n==null?void 0:n.topViewInstance)==null||f.updatePolygonList(x!=null?x:[]),n.mainViewInstance&&n.selectedPointCloudBox&&(n==null||n.mainViewInstance.generateBox(n==null?void 0:n.selectedPointCloudBox))};return e.createElement("div",{style:{padding:24}},e.createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},e.createElement("span",null,g("CurrentBoxTrackIDs")),l&&e.createElement(vt,{id:p,updateCurrentPolygonList:d=>v(d)})),e.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",lineHeight:"12px"}},o&&l?e.createElement(ct,{defaultValue:p,onChange:d=>{m(d.target.value)},disabled:!l,size:"small",onBlur:()=>{C()},onPressEnter:()=>{C(!0)}}):e.createElement("span",null,p),e.createElement(it,{style:{color:"#999",marginLeft:16,cursor:typeof p!="undefined"?"pointer":"not-allowed"},onClick:()=>{l&&t(!o)}})))},H=({segmentStatus:o,globalPattern:t})=>t===Pt.Segmentation&&![D.Edit,D.Ready].includes(o),M=({attributeList:o,subAttributeList:t,toolInstance:n,config:a,stepList:c,stepInfo:i,enableColorPicker:u})=>{const[m,g]=w({segmentStatus:D.Ready}),{selectedBox:p}=z(),l=I(B),{ptSegmentInstance:s}=l,{t:C}=k(),{defaultAttribute:v}=yt(),d=Bt(),{isPointCloudSegmentationPattern:f}=$(),x=ft(),{attrChangeTrigger:J,setAttrChangeTrigger:K}=Nt(),X={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"};L(()=>{if(!!s)return s.on("syncPointCloudStatus",g),()=>{s.unbind("syncPointCloudStatus",g)}},[s]);const Y=(r,S)=>{var E,P,_,N,O;const y=(E=a==null?void 0:a.attributeList)==null?void 0:E.map(b=>b.value===r?V(A({},b),{color:S}):b),R=V(A({},a),{attributeList:y}),ot=JSON.stringify(R),nt=c==null?void 0:c.map(b=>(b==null?void 0:b.step)===(i==null?void 0:i.step)?V(A({},b),{config:ot}):b);(P=l==null?void 0:l.topViewInstance)==null||P.updateAttributeList(y),(_=l==null?void 0:l.sideViewInstance)==null||_.updateAttributeList(y),(N=l==null?void 0:l.backViewInstance)==null||N.updateAttributeList(y),(O=l==null?void 0:l.mainViewInstance)==null||O.setConfig(R),x(Lt({stepList:nt}))},q=r=>{d.updateViewsByDefaultSize&&d.updateViewsByDefaultSize(r)},G=r=>{if(H({globalPattern:l.globalPattern,segmentStatus:m.segmentStatus}))return;const S=r===v?J+1:0;K(S),n.setAttrChangeTrigger(S),n.setDefaultAttribute(r)},Q=(r,S)=>{H({globalPattern:l.globalPattern,segmentStatus:m.segmentStatus})||n.setSubAttribute(r,S)},Z=o.map(r=>({label:r.key,value:r.value,color:r==null?void 0:r.color,limit:r==null?void 0:r.limit,isDefault:r==null?void 0:r.isDefault})),tt=p||m.cacheSegData&&m.segmentStatus===D.Edit,et=f;return e.createElement("div",{style:{height:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},e.createElement("div",{style:X},C("Attribute")),e.createElement("div",{style:{height:0,flex:1,overflowY:"auto",overflowX:"hidden"}},e.createElement(_t,{list:Z,forbidDefault:!0,selectedAttribute:v!=null?v:"",attributeChanged:r=>G(r),updateColorConfig:Y,enableColorPicker:u,updateSize:q,forbidShowLimitPopover:et}),e.createElement(h,{style:{margin:0}}),tt&&e.createElement(kt,{subAttributeList:t,setSubAttribute:Q,getValue:r=>{var S,E,P,_;return((E=(S=l.selectedPointCloudBox)==null?void 0:S.subAttribute)==null?void 0:E[r.value])||((_=(P=m.cacheSegData)==null?void 0:P.subAttribute)==null?void 0:_[r.value])}})))},Ht=[{toolName:"LassoSelector",commonSvg:wt,selectedSvg:ht},{toolName:"RectSelector",commonSvg:jt,selectedSvg:It},{toolName:"CircleSelector",commonSvg:Tt,selectedSvg:Dt}],W=({toolInstance:o})=>{const{ptSegmentInstance:t}=I(B),[n,a]=w("LassoSelector"),{t:c}=k();return L(()=>{if(!t)return;const i=()=>{a("LassoSelector")},u=()=>{a("RectSelector")},m=()=>{a("CircleSelector")};return t.on("LassoSelector",i),t.on("RectSelector",u),t.on("CircleSelector",m),()=>{t.unbind("LassoSelector",i),t.unbind("RectSelector",u),t.unbind("CircleSelector",m)}},[t]),e.createElement("div",{className:`${j}__level`},Ht.map(i=>{const u=n===i.toolName;return e.createElement("span",{className:`${j}__toolOption`,key:i.toolName,onClick:()=>t==null?void 0:t.emit(i.toolName)},e.createElement("img",{className:`${j}__singleTool`,src:u?i==null?void 0:i.selectedSvg:i==null?void 0:i.commonSvg}),e.createElement("span",{className:pt({[`${j}__toolOption__selected`]:u})},c(i.toolName)))}))},Mt=({stepInfo:o,toolInstance:t,imgList:n,imgIndex:a,stepList:c,enableColorPicker:i})=>{var u,m;const{updatePointCloudPattern:g,pointCloudPattern:p,isPointCloudSegmentationPattern:l}=$(),s=dt(o.config),C=(u=s==null?void 0:s.attributeList)!=null?u:[],v=(s==null?void 0:s.secondaryAttributeConfigurable)===!0?(m=s==null?void 0:s.inputList)!=null?m:[]:[];return l?e.createElement(e.Fragment,null,e.createElement(W,{toolInstance:t}),e.createElement(M,{toolInstance:t,attributeList:C,subAttributeList:v,config:s,stepList:c,stepInfo:o,enableColorPicker:i})):e.createElement(e.Fragment,null,e.createElement(lt,{toolName:at.EPointCloudName.PointCloud,selectedToolName:p,onChange:d=>g==null?void 0:g(d)}),e.createElement("div",{style:{flex:1,overflow:"hidden"}},e.createElement(At,{minTopHeight:42,defaultHeight:400,localKey:"settingid:"+(o==null?void 0:o.id)+"taskID:"+(o==null?void 0:o.taskID)+"step:"+(o==null?void 0:o.step)+"type:"+(o==null?void 0:o.type)},e.createElement(M,{toolInstance:t,attributeList:C,subAttributeList:v,config:s,stepList:c,stepInfo:o,enableColorPicker:i}),(s==null?void 0:s.trackConfigurable)===!0&&p===st.Rect?e.createElement("div",{style:{height:"100%",overflow:"auto"}},e.createElement(Ut,null),e.createElement(h,{style:{margin:0}}),e.createElement(St,{imgList:n,imgIndex:a}),e.createElement(h,{style:{margin:0}}),e.createElement(Ct,{imgList:n,imgIndex:a}),e.createElement(h,{style:{margin:0}}),e.createElement(bt,null),o.loadPreStep>0&&e.createElement(xt,null),e.createElement(Et,null)):e.createElement("div",null))))},Wt=o=>{var t,n,a,c;const i=ut.getCurrentStepInfo((t=o.annotation)==null?void 0:t.step,(n=o.annotation)==null?void 0:n.stepList),u=(a=o.annotation)==null?void 0:a.toolInstance,m=(c=o.annotation)==null?void 0:c.stepList;return{stepInfo:i,toolInstance:u,imgList:o.annotation.imgList,imgIndex:o.annotation.imgIndex,stepList:m}};var Jt=mt(Wt,null,null,{context:gt})(Mt);export{W as PointCloudSegToolIcon,Jt as default};
1
+ import e,{useState as T,useContext as B,useMemo as rt,useEffect as V}from"react";import{EditFilled as lt}from"@ant-design/icons";import{ToolIcons as st}from"../ToolIcons.js";import{EToolName as at}from"../../../../data/enums/ToolType.js";import{cTool as ct}from"@labelbee/lb-annotation";import{PointCloudContext as N}from"../../../../components/pointCloudView/PointCloudContext.js";import{Divider as D,Input as ut,message as j}from"antd";import mt from"../../../../utils/StepUtils.js";import{connect as dt}from"react-redux";import{jsonParser as pt,classnames as gt}from"../../../../utils/index.js";import{useStatus as H}from"../../../../components/pointCloudView/hooks/useStatus.js";import{useSingleBox as W}from"../../../../components/pointCloudView/hooks/useSingleBox.js";import{useTranslation as O}from"react-i18next";import{LabelBeeContext as ft,useDispatch as vt}from"../../../../store/ctx.js";import St from"./components/batchUpdateModal/index.js";import bt from"./components/annotatedBox/index.js";import Ct from"./components/rectRotateSensitivitySlider/index.js";import xt from"./components/findTrackIDIndex/index.js";import _t from"./components/firstFrameDataSwitch/index.js";import yt from"./components/selectBoxVisibleSwitch/index.js";import{EPointCloudSegmentStatus as L,EPointCloudPattern as Et}from"@labelbee/lb-utils";import Pt from"../../../../components/attributeList/index.js";import{useAttribute as J}from"../../../../components/pointCloudView/hooks/useAttribute.js";import ht from"../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js";import wt from"../../../../assets/annotation/pointCloudTool/lassoSelector_a.svg.js";import Tt from"../../../../assets/annotation/pointCloudTool/circleSelector.svg.js";import Dt from"../../../../assets/annotation/pointCloudTool/circleSelector_a.svg.js";import jt from"../../../../assets/annotation/rectTool/icon_rect.svg.js";import Lt from"../../../../assets/annotation/rectTool/icon_rect_a.svg.js";import{sidebarCls as I}from"../index.js";import{SetTaskStepList as It}from"../../../../store/annotation/actionCreators.js";import{usePointCloudViews as At}from"../../../../components/pointCloudView/hooks/usePointCloudViews.js";import kt from"../../../../components/subAttributeList/index.js";import Bt from"../../../../components/DynamicResizer/DynamicResizer.js";import{isNumber as Vt}from"lodash";import Nt from"../../../../store/toolConfig/index.js";var Ot=Object.defineProperty,Rt=Object.defineProperties,$t=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertySymbols,zt=Object.prototype.hasOwnProperty,Mt=Object.prototype.propertyIsEnumerable,X=(o,t,n)=>t in o?Ot(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,R=(o,t)=>{for(var n in t||(t={}))zt.call(t,n)&&X(o,n,t[n]);if(K)for(var n of K(t))Mt.call(t,n)&&X(o,n,t[n]);return o},$=(o,t)=>Rt(o,$t(t));const Ft=()=>{const[o,t]=T(!1),n=B(N),{pointCloudBoxList:c}=n,{selectedBox:u,updateSelectedBox:r}=W(),[m,d]=T(""),{t:f}=O(),g=u==null?void 0:u.info.trackID,l=rt(()=>Vt(g)&&g>=0,[g]),s=a=>!!c.find(v=>v.trackID===a&&v.id!==(u==null?void 0:u.info.id)),x=(a=!1)=>{const p=parseInt(m,10);if(a&&t(!1),isNaN(p)){j.error(f("PositiveIntegerCheck"));return}if(m.indexOf(".")>-1){j.error(f("NotAllowDecimalPointsInTrackID"));return}if(s(p)){j.error(f("DuplicateTrackIDsExist"));return}if(!(p>0)){j.error(f("PositiveIntegerCheck"));return}S(p)};V(()=>{t(!1)},[g]);const S=a=>{var p;const v=r({trackID:a});(p=n==null?void 0:n.topViewInstance)==null||p.updatePolygonList(v!=null?v:[]),n.mainViewInstance&&n.selectedPointCloudBox&&(n==null||n.mainViewInstance.generateBox(n==null?void 0:n.selectedPointCloudBox))};return e.createElement("div",{style:{padding:24}},e.createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},e.createElement("span",null,f("CurrentBoxTrackIDs")),l&&e.createElement(St,{id:g,updateCurrentPolygonList:a=>S(a)})),e.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",lineHeight:"12px"}},o&&l?e.createElement(ut,{defaultValue:g,onChange:a=>{d(a.target.value)},disabled:!l,size:"small",onBlur:()=>{x()},onPressEnter:()=>{x(!0)}}):e.createElement("span",null,g),e.createElement(lt,{style:{color:"#999",marginLeft:16,cursor:typeof g!="undefined"?"pointer":"not-allowed"},onClick:()=>{l&&t(!o)}})))},Y=({segmentStatus:o,globalPattern:t})=>t===Et.Segmentation&&![L.Edit,L.Ready].includes(o),q=({attributeList:o,subAttributeList:t,toolInstance:n,config:c,stepList:u,stepInfo:r,enableColorPicker:m})=>{const[d,f]=T({segmentStatus:L.Ready}),{selectedBox:g}=W(),l=B(N),{ptSegmentInstance:s}=l,{t:x}=O(),{defaultAttribute:S}=J(),a=At(),{isPointCloudSegmentationPattern:p}=H(),v=vt(),{attrChangeTrigger:P,setAttrChangeTrigger:h}=Nt(),A={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"};V(()=>{if(!!s)return s.on("syncPointCloudStatus",f),()=>{s.unbind("syncPointCloudStatus",f)}},[s]);const z=(i,b)=>{var _,y,E,M,F;const w=(_=c==null?void 0:c.attributeList)==null?void 0:_.map(C=>C.value===i?$(R({},C),{color:b}):C),U=$(R({},c),{attributeList:w}),nt=JSON.stringify(U),it=u==null?void 0:u.map(C=>(C==null?void 0:C.step)===(r==null?void 0:r.step)?$(R({},C),{config:nt}):C);(y=l==null?void 0:l.topViewInstance)==null||y.updateAttributeList(w),(E=l==null?void 0:l.sideViewInstance)==null||E.updateAttributeList(w),(M=l==null?void 0:l.backViewInstance)==null||M.updateAttributeList(w),(F=l==null?void 0:l.mainViewInstance)==null||F.setConfig(U),v(It({stepList:it}))},k=i=>{a.updateViewsByDefaultSize&&a.updateViewsByDefaultSize(i)},Q=i=>{if(Y({globalPattern:l.globalPattern,segmentStatus:d.segmentStatus}))return;const b=i===S?P+1:0;h(b),n.setAttrChangeTrigger(b),n.setDefaultAttribute(i)},Z=(i,b)=>{Y({globalPattern:l.globalPattern,segmentStatus:d.segmentStatus})||n.setSubAttribute(i,b)},tt=o.map(i=>({label:i.key,value:i.value,color:i==null?void 0:i.color,limit:i==null?void 0:i.limit,isDefault:i==null?void 0:i.isDefault})),et=g||d.cacheSegData&&d.segmentStatus===L.Edit,ot=p;return e.createElement("div",{style:{height:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},e.createElement("div",{style:A},x("Attribute")),e.createElement("div",{style:{height:0,flex:1,overflowY:"auto",overflowX:"hidden"}},e.createElement(Pt,{list:tt,forbidDefault:!0,selectedAttribute:S!=null?S:"",attributeChanged:i=>Q(i),updateColorConfig:z,enableColorPicker:m,updateSize:k,forbidShowLimitPopover:ot}),e.createElement(D,{style:{margin:0}}),et&&e.createElement(kt,{subAttributeList:t,setSubAttribute:Z,getValue:i=>{var b,_,y,E;return((_=(b=l.selectedPointCloudBox)==null?void 0:b.subAttribute)==null?void 0:_[i.value])||((E=(y=d.cacheSegData)==null?void 0:y.subAttribute)==null?void 0:E[i.value])}})))},Ut=[{toolName:"LassoSelector",commonSvg:ht,selectedSvg:wt},{toolName:"RectSelector",commonSvg:jt,selectedSvg:Lt},{toolName:"CircleSelector",commonSvg:Tt,selectedSvg:Dt}],G=({toolInstance:o})=>{const{ptSegmentInstance:t}=B(N),[n,c]=T("LassoSelector"),{t:u}=O();return V(()=>{if(!t)return;const r=()=>{c("LassoSelector")},m=()=>{c("RectSelector")},d=()=>{c("CircleSelector")};return t.on("LassoSelector",r),t.on("RectSelector",m),t.on("CircleSelector",d),()=>{t.unbind("LassoSelector",r),t.unbind("RectSelector",m),t.unbind("CircleSelector",d)}},[t]),e.createElement("div",{className:`${I}__level`},Ut.map(r=>{const m=n===r.toolName;return e.createElement("span",{className:`${I}__toolOption`,key:r.toolName,onClick:()=>t==null?void 0:t.emit(r.toolName)},e.createElement("img",{className:`${I}__singleTool`,src:m?r==null?void 0:r.selectedSvg:r==null?void 0:r.commonSvg}),e.createElement("span",{className:gt({[`${I}__toolOption__selected`]:m})},u(r.toolName)))}))},Ht=({stepInfo:o,toolInstance:t,imgList:n,imgIndex:c,stepList:u,enableColorPicker:r})=>{var m;const{updatePointCloudPattern:d,pointCloudPattern:f,isPointCloudSegmentationPattern:g}=H(),{defaultAttribute:l}=J(),s=pt(o.config),x=(m=s==null?void 0:s.attributeList)!=null?m:[],S=(()=>{var a,p,v;const P=(a=s==null?void 0:s.attributeMapping)!=null?a:{};if((s==null?void 0:s.secondaryAttributeConfigurable)!==!0||!l)return[];const h=(p=s==null?void 0:s.inputList)!=null?p:[],A=(v=P[l])!=null?v:[];return Object.keys(P).length===0?h:h.filter(k=>A.includes(k.value))})();return g?e.createElement(e.Fragment,null,e.createElement(G,{toolInstance:t}),e.createElement(q,{toolInstance:t,attributeList:x,subAttributeList:S,config:s,stepList:u,stepInfo:o,enableColorPicker:r})):e.createElement(e.Fragment,null,e.createElement(st,{toolName:ct.EPointCloudName.PointCloud,selectedToolName:f,onChange:a=>d==null?void 0:d(a)}),e.createElement("div",{style:{flex:1,overflow:"hidden"}},e.createElement(Bt,{minTopHeight:42,defaultHeight:400,localKey:"settingid:"+(o==null?void 0:o.id)+"taskID:"+(o==null?void 0:o.taskID)+"step:"+(o==null?void 0:o.step)+"type:"+(o==null?void 0:o.type)},e.createElement(q,{toolInstance:t,attributeList:x,subAttributeList:S,config:s,stepList:u,stepInfo:o,enableColorPicker:r}),(s==null?void 0:s.trackConfigurable)===!0&&f===at.Rect?e.createElement("div",{style:{height:"100%",overflow:"auto"}},e.createElement(Ft,null),e.createElement(D,{style:{margin:0}}),e.createElement(bt,{imgList:n,imgIndex:c}),e.createElement(D,{style:{margin:0}}),e.createElement(xt,{imgList:n,imgIndex:c}),e.createElement(D,{style:{margin:0}}),e.createElement(Ct,null),o.loadPreStep>0&&e.createElement(_t,null),e.createElement(yt,null)):e.createElement("div",null))))},Wt=o=>{var t,n,c,u;const r=mt.getCurrentStepInfo((t=o.annotation)==null?void 0:t.step,(n=o.annotation)==null?void 0:n.stepList),m=(c=o.annotation)==null?void 0:c.toolInstance,d=(u=o.annotation)==null?void 0:u.stepList;return{stepInfo:r,toolInstance:m,imgList:o.annotation.imgList,imgIndex:o.annotation.imgIndex,stepList:d}};var Jt=dt(Wt,null,null,{context:ft})(Ht);export{G as PointCloudSegToolIcon,Jt as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.24.0-alpha.47",
3
+ "version": "1.24.0-alpha.48",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",
@@ -43,8 +43,8 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@ant-design/icons": "^4.6.2",
46
- "@labelbee/lb-annotation": "1.28.0-alpha.26",
47
- "@labelbee/lb-utils": "1.20.0-alpha.4",
46
+ "@labelbee/lb-annotation": "1.28.0-alpha.27",
47
+ "@labelbee/lb-utils": "1.20.0-alpha.5",
48
48
  "@labelbee/wavesurfer": "1.1.0",
49
49
  "@types/react-dom": "18.3.1",
50
50
  "@types/react-transition-group": "^4.4.9",