@labelbee/lb-components 1.23.0-alpha.131 → 1.23.0-alpha.132

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";var ahooks=require("ahooks"),es=require("antd/es"),React=require("react"),reactRedux=require("react-redux"),usePointCloudViews=require("../pointCloudView/hooks/usePointCloudViews.js"),PointCloudContext=require("../pointCloudView/PointCloudContext.js"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),lbAnnotation=require("@labelbee/lb-annotation"),util=require("./util.js"),useUpdateRectList=require("./useUpdateRectList.js"),_=require("lodash"),useToolStyle=require("../../hooks/useToolStyle.js"),index=require("../../store/toolConfig/index.js");function _interopDefaultLegacy(i){return i&&typeof i=="object"&&"default"in i?i:{default:i}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(i,c,s)=>c in i?__defProp(i,c,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[c]=s,__spreadValues=(i,c)=>{for(var s in c||(c={}))__hasOwnProp.call(c,s)&&__defNormalProp(i,s,c[s]);if(__getOwnPropSymbols)for(var s of __getOwnPropSymbols(c))__propIsEnum.call(c,s)&&__defNormalProp(i,s,c[s]);return i},__spreadProps=(i,c)=>__defProps(i,__getOwnPropDescs(c)),__async=(i,c,s)=>new Promise((d,p)=>{var I=f=>{try{D(s.next(f))}catch(R){p(R)}},w=f=>{try{D(s.throw(f))}catch(R){p(R)}},D=f=>f.done?d(f.value):Promise.resolve(f.value).then(I,w);D((s=s.apply(i,c)).next())});const PointCloud2DRectOperationView=i=>{var c,s;const{mappingData:d,size:p,config:I,checkMode:w,afterImgOnLoad:D,shouldExcludePointCloudBoxListUpdate:f}=i,{selectBoxVisibleSwitch:R}=index(),P=(c=d==null?void 0:d.url)!=null?c:"",b=(s=d==null?void 0:d.fallbackUrl)!=null?s:"",{pointCloudBoxList:S,setPointCloudResult:L,defaultAttribute:E,rectList:O,addRectIn2DView:X,updateRectIn2DView:Y,removeRectIn2DView:Z,updateRectListByReducer:ee,selectedIDs:v,setSelectedIDs:V,selectedID:q}=React.useContext(PointCloudContext.PointCloudContext),{value:j}=useToolStyle.useToolStyleContext(),te=ahooks.useLatest(v),{update2DViewRect:re,remove2DViewRect:ne}=usePointCloudViews.usePointCloudViews(),k=React__default.default.useRef(null),o=React.useRef(null),A=ahooks.useMemoizedFn(re),C=ahooks.useMemoizedFn(ne),x=React.useRef(null),[oe,F]=React.useState(!0),[T,H]=React.useState(""),[ue,U]=React.useState(!1),[ie,N]=React.useState(!0),g=React.useMemo(()=>O==null?void 0:O.filter(e=>e.imageName===(d==null?void 0:d.path)),[d==null?void 0:d.path,O]),J=React.useRef(g),y=ahooks.useLatest(d==null?void 0:d.path),B=React.useCallback(e=>__async(void 0,null,function*(){try{const n=te.current.slice(0),r=yield Promise.resolve(e());if(!r||r.length===0)return r;if(n.length){const t=new Set(n),u=r.filter(l=>t.has(l.id)).map(l=>l.id);V(u)}return r}catch(n){}}),[V]),$=e=>{const{boxID:n}=e;if(!f&&n){B(()=>{const r=A==null?void 0:A(e);return r?(x.current=r,L(r),r):null});return}Y(e,!0)},G=e=>{y.current&&X(__spreadProps(__spreadValues({},e),{imageName:y.current}))},K=e=>{if(e.length===0)return;if(!f){const r=e.find(t=>t.boxID);if(r){B(()=>{const t=C==null?void 0:C(r);return t?(x.current=t,L(t),h(),t):null});return}}const n=e.find(r=>r.extId);n&&B(()=>{const{imageName:r,extId:t}=n,u=C==null?void 0:C({boxID:t,imageName:r});return u?(x.current=u,L(u),u):null}),Z(e)},le=ahooks.useMemoizedFn(()=>{let e=[];return S.forEach(n=>{const{rects:r=[],id:t,attribute:u,trackID:l}=n,a=r.find(M=>M.imageName===y.current),m=t+"_"+y.current;a&&(e=[...e,__spreadProps(__spreadValues({},a),{boxID:t,id:m,attribute:u,order:l})])}),e}),h=useUpdateRectList.useUpdateRectList(()=>{var e,n,r,t,u;const l=f?[]:le(),a=(e=o.current)==null?void 0:e.selectedRectID,m=v.slice(0),M=R?util.selectSpecifiedRectsFromTopViewSelectedIds(m,l,g):[...l,...g];let W=[];!R&&(v==null?void 0:v.length)&&(W=l.filter(z=>a?v.includes(z.boxID)&&!a.includes(z.boxID):v.includes(z.boxID))),(n=o.current)==null||n.setHighLightRectList(W),(r=o.current)==null||r.setResult(M),T?((t=o.current)==null||t.setSelectedRectID(T),H("")):ue&&a&&((u=o.current)==null||u.setSelectedRectID(a),U(!1))}),Q=({targetId:e,id:n})=>{N(!1),V(e),H(n)};return React.useEffect(()=>{if(k.current){const e=new lbAnnotation.PointCloud2DRectOperation({container:k.current,size:p,config:__spreadProps(__spreadValues({},I),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:w});return o.current=e,o.current.init(),o.current.on("updateDragResult",$),o.current.on("afterAddingDrawingRect",G),o.current.on("deleteSelectedRects",K),o.current.on("onRightClick",Q),()=>{var n,r,t,u,l;(n=o.current)==null||n.unbind("updateDragResult",$),(r=o.current)==null||r.unbind("afterAddingDrawingRect",G),(t=o.current)==null||t.unbind("deleteSelectedRects",K),(u=o.current)==null||u.unbind("onRightClick",Q),(l=o.current)==null||l.destroy()}}},[]),React.useEffect(()=>{const e=r=>__async(void 0,null,function*(){try{return yield lbAnnotation.ImgUtils.load(r)}catch(t){return console.error("Error loading image:",t),null}}),n=()=>__async(void 0,null,function*(){var r;F(!0);let t=yield e(P);!t&&b&&(t=yield e(b)),t&&((r=o.current)==null||r.setImgNode(t),D(t)),F(!1)});o.current&&(P||b)&&n()},[P,b]),React.useEffect(()=>{var e;(e=o.current)==null||e.setSize(p)},[p]),React.useEffect(()=>{S!==x.current&&h()},[S]),React.useEffect(()=>{var e,n;const r=g.find(t=>t.id===o.current.selectedRectID);(n=(e=o.current)==null?void 0:e.setDefaultAttribute)==null||n.call(e,E),r&&ee(t=>{var u;const l=[];let a=null;return t.forEach(m=>{m.id!==o.current.selectedRectID?l.push(m):a=m}),r.extId===void 0&&(a=(u=o.current)==null?void 0:u.selectedRect),[...l,__spreadProps(__spreadValues({},a||{}),{attribute:E})]}),U(!0),h()},[E]),React.useEffect(()=>{const e=J.current;___default.default.isEqual(e,g)||(U(!0),h(),J.current=g)},[g]),React.useEffect(()=>{h()},[f]),React.useEffect(()=>{var e,n,r,t;const u=(n=(e=o.current)==null?void 0:e.config)!=null?n:{},l=__spreadProps(__spreadValues({},u),{attributeList:(r=I.attributeList)!=null?r:[]});(t=o.current)==null||t.setConfig(JSON.stringify(l))},[I.attributeList]),React.useEffect(()=>{var e;(e=o.current)==null||e.setEnableAddRect(v.length===0),h()},[v]),React.useEffect(()=>{if(!q||!ie){N(!0);return}const{rectList:e,size:n,zoom:r}=o.current,t=e.find(a=>a.boxID===q);if(!t){N(!0);return}const u={x:t.x+t.width/2,y:t.y+t.height/2},l=lbAnnotation.MathUtils.getCurrentPosFromRectCenter(n,u,r);o.current.setCurrentPos(l),o.current.render()},[q]),React.useEffect(()=>{const{hiddenText:e}=j||{};if(e===void 0)return;const n=o.current;if(!n)return;const r=__spreadValues(__spreadValues({},n.style),j);n.setStyle(r)},[j]),React.useEffect(()=>{h()},[R]),React__default.default.createElement(es.Spin,{spinning:oe},React__default.default.createElement("div",{ref:k,style:__spreadValues({position:"relative"},p)}))};var PointCloud2DRectOperationView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DRectOperationView);module.exports=PointCloud2DRectOperationView$1;
1
+ "use strict";var ahooks=require("ahooks"),es=require("antd/es"),React=require("react"),reactRedux=require("react-redux"),usePointCloudViews=require("../pointCloudView/hooks/usePointCloudViews.js"),PointCloudContext=require("../pointCloudView/PointCloudContext.js"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),lbAnnotation=require("@labelbee/lb-annotation"),util=require("./util.js"),useUpdateRectList=require("./useUpdateRectList.js"),_=require("lodash"),useToolStyle=require("../../hooks/useToolStyle.js"),index=require("../../store/toolConfig/index.js");function _interopDefaultLegacy(i){return i&&typeof i=="object"&&"default"in i?i:{default:i}}var React__default=_interopDefaultLegacy(React),___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(i,l,s)=>l in i?__defProp(i,l,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[l]=s,__spreadValues=(i,l)=>{for(var s in l||(l={}))__hasOwnProp.call(l,s)&&__defNormalProp(i,s,l[s]);if(__getOwnPropSymbols)for(var s of __getOwnPropSymbols(l))__propIsEnum.call(l,s)&&__defNormalProp(i,s,l[s]);return i},__spreadProps=(i,l)=>__defProps(i,__getOwnPropDescs(l)),__async=(i,l,s)=>new Promise((d,p)=>{var I=f=>{try{D(s.next(f))}catch(R){p(R)}},w=f=>{try{D(s.throw(f))}catch(R){p(R)}},D=f=>f.done?d(f.value):Promise.resolve(f.value).then(I,w);D((s=s.apply(i,l)).next())});const PointCloud2DRectOperationView=i=>{var l,s;const{mappingData:d,size:p,config:I,checkMode:w,afterImgOnLoad:D,shouldExcludePointCloudBoxListUpdate:f}=i,{selectBoxVisibleSwitch:R}=index(),P=(l=d==null?void 0:d.url)!=null?l:"",b=(s=d==null?void 0:d.fallbackUrl)!=null?s:"",{pointCloudBoxList:S,setPointCloudResult:L,defaultAttribute:E,rectList:O,addRectIn2DView:X,updateRectIn2DView:Y,removeRectIn2DView:Z,updateRectListByReducer:ee,selectedIDs:v,setSelectedIDs:V,selectedID:q}=React.useContext(PointCloudContext.PointCloudContext),{value:j}=useToolStyle.useToolStyleContext(),te=ahooks.useLatest(v),{update2DViewRect:re,remove2DViewRect:ne}=usePointCloudViews.usePointCloudViews(),k=React__default.default.useRef(null),o=React.useRef(null),A=ahooks.useMemoizedFn(re),C=ahooks.useMemoizedFn(ne),x=React.useRef(null),[oe,F]=React.useState(!0),[T,H]=React.useState(""),[ue,U]=React.useState(!1),[ie,B]=React.useState(!0),g=React.useMemo(()=>O==null?void 0:O.filter(e=>e.imageName===(d==null?void 0:d.path)),[d==null?void 0:d.path,O]),J=React.useRef(g),y=ahooks.useLatest(d==null?void 0:d.path),N=React.useCallback(e=>__async(void 0,null,function*(){try{const n=te.current.slice(0),r=yield Promise.resolve(e());if(!r||r.length===0)return r;if(n.length){const t=new Set(n),u=r.filter(c=>t.has(c.id)).map(c=>c.id);V(u)}return r}catch(n){}}),[V]),$=e=>{const{boxID:n}=e;if(!f&&n){N(()=>{const r=A==null?void 0:A(e);return r?(x.current=r,L(r),r):null});return}Y(e,!0)},G=e=>{y.current&&X(__spreadProps(__spreadValues({},e),{imageName:y.current}))},K=e=>{if(e.length===0)return;if(!f){const r=e.find(t=>t.boxID);if(r){N(()=>{const t=C==null?void 0:C(r);return t?(x.current=t,L(t),h(),t):null});return}}const n=e.find(r=>r.extId);n&&N(()=>{const{imageName:r,extId:t}=n,u=C==null?void 0:C({boxID:t,imageName:r});return u?(x.current=u,L(u),u):null}),Z(e)},ce=ahooks.useMemoizedFn(()=>{let e=[];return S.forEach(n=>{const{rects:r=[],id:t,attribute:u,trackID:c}=n,a=r.find(M=>M.imageName===y.current),m=t+"_"+y.current;a&&(e=[...e,__spreadProps(__spreadValues({},a),{boxID:t,id:m,attribute:u,order:c})])}),e}),h=useUpdateRectList.useUpdateRectList(()=>{var e,n,r,t,u;const c=f?[]:ce(),a=(e=o.current)==null?void 0:e.selectedRectID,m=v.slice(0),M=R?util.selectSpecifiedRectsFromTopViewSelectedIds(m,c,g):[...c,...g];let W=[];!R&&(v==null?void 0:v.length)&&(W=c.filter(z=>a?v.includes(z.boxID)&&!a.includes(z.boxID):v.includes(z.boxID))),(n=o.current)==null||n.setHighLightRectList(W),(r=o.current)==null||r.setResult(M),T?((t=o.current)==null||t.setSelectedRectID(T),H("")):ue&&a&&((u=o.current)==null||u.setSelectedRectID(a),U(!1))}),Q=({targetId:e,id:n})=>{B(!1),V(e),H(n)};return React.useEffect(()=>{if(k.current){const e=new lbAnnotation.PointCloud2DRectOperation({container:k.current,size:p,config:__spreadProps(__spreadValues({},I),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:w});return o.current=e,o.current.init(),o.current.on("updateDragResult",$),o.current.on("afterAddingDrawingRect",G),o.current.on("deleteSelectedRects",K),o.current.on("onRightClick",Q),()=>{var n,r,t,u,c;(n=o.current)==null||n.unbind("updateDragResult",$),(r=o.current)==null||r.unbind("afterAddingDrawingRect",G),(t=o.current)==null||t.unbind("deleteSelectedRects",K),(u=o.current)==null||u.unbind("onRightClick",Q),(c=o.current)==null||c.destroy()}}},[]),React.useEffect(()=>{const e=r=>__async(void 0,null,function*(){try{return yield lbAnnotation.ImgUtils.load(r)}catch(t){return console.error("Error loading image:",t),null}}),n=()=>__async(void 0,null,function*(){var r;F(!0);let t=yield e(P);!t&&b&&(t=yield e(b)),t&&((r=o.current)==null||r.setImgNode(t),D(t)),F(!1)});o.current&&(P||b)&&n()},[P,b]),React.useEffect(()=>{var e;(e=o.current)==null||e.setSize(p)},[p]),React.useEffect(()=>{S!==x.current&&h()},[S]),React.useEffect(()=>{var e,n;const r=g.find(t=>t.id===o.current.selectedRectID);(n=(e=o.current)==null?void 0:e.setDefaultAttribute)==null||n.call(e,E),r&&ee(t=>{var u;const c=[];let a=null;return t.forEach(m=>{m.id!==o.current.selectedRectID?c.push(m):a=m}),r.extId===void 0&&(a=(u=o.current)==null?void 0:u.selectedRect),[...c,__spreadProps(__spreadValues({},a||{}),{attribute:E})]}),U(!0),h()},[E]),React.useEffect(()=>{const e=J.current;___default.default.isEqual(e,g)||(U(!0),h(),J.current=g)},[g]),React.useEffect(()=>{h()},[f]),React.useEffect(()=>{var e,n,r,t;const u=(n=(e=o.current)==null?void 0:e.config)!=null?n:{},c=__spreadProps(__spreadValues({},u),{attributeList:(r=I.attributeList)!=null?r:[]});(t=o.current)==null||t.setConfig(JSON.stringify(c))},[I.attributeList]),React.useEffect(()=>{var e;(e=o.current)==null||e.setEnableAddRect(v.length===0),h()},[v]),React.useEffect(()=>{if(!q||!ie){B(!0);return}const{rectList:e,size:n,zoom:r}=o.current,t=e.find(a=>a.boxID===q);if(!t){B(!0);return}const u={x:t.x+t.width/2,y:t.y+t.height/2},c=lbAnnotation.MathUtils.getCurrentPosFromRectCenter(n,u,r);o.current.setCurrentPos(c),o.current.renderBasicCanvas(),o.current.render()},[q]),React.useEffect(()=>{const{hiddenText:e}=j||{};if(e===void 0)return;const n=o.current;if(!n)return;const r=__spreadValues(__spreadValues({},n.style),j);n.setStyle(r)},[j]),React.useEffect(()=>{h()},[R]),React__default.default.createElement(es.Spin,{spinning:oe},React__default.default.createElement("div",{ref:k,style:__spreadValues({position:"relative"},p)}))};var PointCloud2DRectOperationView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DRectOperationView);module.exports=PointCloud2DRectOperationView$1;
@@ -1 +1 @@
1
- import{useLatest as oe,useMemoizedFn as H}from"ahooks";import{Spin as he}from"antd/es";import J,{useContext as Ie,useRef as $,useState as S,useMemo as _e,useCallback as De,useEffect as p}from"react";import{connect as be}from"react-redux";import{usePointCloudViews as Ce}from"../pointCloudView/hooks/usePointCloudViews.js";import{PointCloudContext as we}from"../pointCloudView/PointCloudContext.js";import{a2MapStateToProps as ye}from"../../store/annotation/map.js";import{LabelBeeContext as xe}from"../../store/ctx.js";import{PointCloud2DRectOperation as Pe,MathUtils as Se,ImgUtils as Le}from"@labelbee/lb-annotation";import{selectSpecifiedRectsFromTopViewSelectedIds as Oe}from"./util.js";import{useUpdateRectList as Ve}from"./useUpdateRectList.js";import je from"lodash";import{useToolStyleContext as Ee}from"../../hooks/useToolStyle.js";import ke from"../../store/toolConfig/index.js";var Ne=Object.defineProperty,Ue=Object.defineProperties,Be=Object.getOwnPropertyDescriptors,ie=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,le=(u,c,s)=>c in u?Ne(u,c,{enumerable:!0,configurable:!0,writable:!0,value:s}):u[c]=s,v=(u,c)=>{for(var s in c||(c={}))Me.call(c,s)&&le(u,s,c[s]);if(ie)for(var s of ie(c))ze.call(c,s)&&le(u,s,c[s]);return u},C=(u,c)=>Ue(u,Be(c)),G=(u,c,s)=>new Promise((a,g)=>{var D=f=>{try{b(s.next(f))}catch(R){g(R)}},L=f=>{try{b(s.throw(f))}catch(R){g(R)}},b=f=>f.done?a(f.value):Promise.resolve(f.value).then(D,L);b((s=s.apply(u,c)).next())});const Ae=u=>{var c,s;const{mappingData:a,size:g,config:D,checkMode:L,afterImgOnLoad:b,shouldExcludePointCloudBoxListUpdate:f}=u,{selectBoxVisibleSwitch:R}=ke(),O=(c=a==null?void 0:a.url)!=null?c:"",w=(s=a==null?void 0:a.fallbackUrl)!=null?s:"",{pointCloudBoxList:V,setPointCloudResult:j,defaultAttribute:E,rectList:k,addRectIn2DView:ce,updateRectIn2DView:se,removeRectIn2DView:ue,updateRectListByReducer:de,selectedIDs:m,setSelectedIDs:N,selectedID:U}=Ie(we),{value:B}=Ee(),ae=oe(m),{update2DViewRect:fe,remove2DViewRect:pe}=Ce(),M=J.useRef(null),o=$(null),K=H(fe),y=H(pe),x=$(null),[me,Q]=S(!0),[W,X]=S(""),[ve,z]=S(!1),[ge,A]=S(!0),h=_e(()=>k==null?void 0:k.filter(e=>e.imageName===(a==null?void 0:a.path)),[a==null?void 0:a.path,k]),Y=$(h),P=oe(a==null?void 0:a.path),T=De(e=>G(void 0,null,function*(){try{const n=ae.current.slice(0),r=yield Promise.resolve(e());if(!r||r.length===0)return r;if(n.length){const t=new Set(n),i=r.filter(l=>t.has(l.id)).map(l=>l.id);N(i)}return r}catch(n){}}),[N]),Z=e=>{const{boxID:n}=e;if(!f&&n){T(()=>{const r=K==null?void 0:K(e);return r?(x.current=r,j(r),r):null});return}se(e,!0)},ee=e=>{P.current&&ce(C(v({},e),{imageName:P.current}))},te=e=>{if(e.length===0)return;if(!f){const r=e.find(t=>t.boxID);if(r){T(()=>{const t=y==null?void 0:y(r);return t?(x.current=t,j(t),I(),t):null});return}}const n=e.find(r=>r.extId);n&&T(()=>{const{imageName:r,extId:t}=n,i=y==null?void 0:y({boxID:t,imageName:r});return i?(x.current=i,j(i),i):null}),ue(e)},Re=H(()=>{let e=[];return V.forEach(n=>{const{rects:r=[],id:t,attribute:i,trackID:l}=n,d=r.find(F=>F.imageName===P.current),_=t+"_"+P.current;d&&(e=[...e,C(v({},d),{boxID:t,id:_,attribute:i,order:l})])}),e}),I=Ve(()=>{var e,n,r,t,i;const l=f?[]:Re(),d=(e=o.current)==null?void 0:e.selectedRectID,_=m.slice(0),F=R?Oe(_,l,h):[...l,...h];let ne=[];!R&&(m==null?void 0:m.length)&&(ne=l.filter(q=>d?m.includes(q.boxID)&&!d.includes(q.boxID):m.includes(q.boxID))),(n=o.current)==null||n.setHighLightRectList(ne),(r=o.current)==null||r.setResult(F),W?((t=o.current)==null||t.setSelectedRectID(W),X("")):ve&&d&&((i=o.current)==null||i.setSelectedRectID(d),z(!1))}),re=({targetId:e,id:n})=>{A(!1),N(e),X(n)};return p(()=>{if(M.current){const e=new Pe({container:M.current,size:g,config:C(v({},D),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:L});return o.current=e,o.current.init(),o.current.on("updateDragResult",Z),o.current.on("afterAddingDrawingRect",ee),o.current.on("deleteSelectedRects",te),o.current.on("onRightClick",re),()=>{var n,r,t,i,l;(n=o.current)==null||n.unbind("updateDragResult",Z),(r=o.current)==null||r.unbind("afterAddingDrawingRect",ee),(t=o.current)==null||t.unbind("deleteSelectedRects",te),(i=o.current)==null||i.unbind("onRightClick",re),(l=o.current)==null||l.destroy()}}},[]),p(()=>{const e=r=>G(void 0,null,function*(){try{return yield Le.load(r)}catch(t){return console.error("Error loading image:",t),null}}),n=()=>G(void 0,null,function*(){var r;Q(!0);let t=yield e(O);!t&&w&&(t=yield e(w)),t&&((r=o.current)==null||r.setImgNode(t),b(t)),Q(!1)});o.current&&(O||w)&&n()},[O,w]),p(()=>{var e;(e=o.current)==null||e.setSize(g)},[g]),p(()=>{V!==x.current&&I()},[V]),p(()=>{var e,n;const r=h.find(t=>t.id===o.current.selectedRectID);(n=(e=o.current)==null?void 0:e.setDefaultAttribute)==null||n.call(e,E),r&&de(t=>{var i;const l=[];let d=null;return t.forEach(_=>{_.id!==o.current.selectedRectID?l.push(_):d=_}),r.extId===void 0&&(d=(i=o.current)==null?void 0:i.selectedRect),[...l,C(v({},d||{}),{attribute:E})]}),z(!0),I()},[E]),p(()=>{const e=Y.current;je.isEqual(e,h)||(z(!0),I(),Y.current=h)},[h]),p(()=>{I()},[f]),p(()=>{var e,n,r,t;const i=(n=(e=o.current)==null?void 0:e.config)!=null?n:{},l=C(v({},i),{attributeList:(r=D.attributeList)!=null?r:[]});(t=o.current)==null||t.setConfig(JSON.stringify(l))},[D.attributeList]),p(()=>{var e;(e=o.current)==null||e.setEnableAddRect(m.length===0),I()},[m]),p(()=>{if(!U||!ge){A(!0);return}const{rectList:e,size:n,zoom:r}=o.current,t=e.find(d=>d.boxID===U);if(!t){A(!0);return}const i={x:t.x+t.width/2,y:t.y+t.height/2},l=Se.getCurrentPosFromRectCenter(n,i,r);o.current.setCurrentPos(l),o.current.render()},[U]),p(()=>{const{hiddenText:e}=B||{};if(e===void 0)return;const n=o.current;if(!n)return;const r=v(v({},n.style),B);n.setStyle(r)},[B]),p(()=>{I()},[R]),J.createElement(he,{spinning:me},J.createElement("div",{ref:M,style:v({position:"relative"},g)}))};var Te=be(ye,null,null,{context:xe})(Ae);export{Te as default};
1
+ import{useLatest as oe,useMemoizedFn as H}from"ahooks";import{Spin as he}from"antd/es";import J,{useContext as Ie,useRef as $,useState as S,useMemo as _e,useCallback as De,useEffect as p}from"react";import{connect as be}from"react-redux";import{usePointCloudViews as Ce}from"../pointCloudView/hooks/usePointCloudViews.js";import{PointCloudContext as we}from"../pointCloudView/PointCloudContext.js";import{a2MapStateToProps as ye}from"../../store/annotation/map.js";import{LabelBeeContext as xe}from"../../store/ctx.js";import{PointCloud2DRectOperation as Pe,MathUtils as Se,ImgUtils as Le}from"@labelbee/lb-annotation";import{selectSpecifiedRectsFromTopViewSelectedIds as Oe}from"./util.js";import{useUpdateRectList as Ve}from"./useUpdateRectList.js";import je from"lodash";import{useToolStyleContext as Ee}from"../../hooks/useToolStyle.js";import ke from"../../store/toolConfig/index.js";var Be=Object.defineProperty,Ne=Object.defineProperties,Ue=Object.getOwnPropertyDescriptors,ie=Object.getOwnPropertySymbols,Me=Object.prototype.hasOwnProperty,ze=Object.prototype.propertyIsEnumerable,le=(u,c,s)=>c in u?Be(u,c,{enumerable:!0,configurable:!0,writable:!0,value:s}):u[c]=s,v=(u,c)=>{for(var s in c||(c={}))Me.call(c,s)&&le(u,s,c[s]);if(ie)for(var s of ie(c))ze.call(c,s)&&le(u,s,c[s]);return u},C=(u,c)=>Ne(u,Ue(c)),G=(u,c,s)=>new Promise((a,g)=>{var D=f=>{try{b(s.next(f))}catch(R){g(R)}},L=f=>{try{b(s.throw(f))}catch(R){g(R)}},b=f=>f.done?a(f.value):Promise.resolve(f.value).then(D,L);b((s=s.apply(u,c)).next())});const Ae=u=>{var c,s;const{mappingData:a,size:g,config:D,checkMode:L,afterImgOnLoad:b,shouldExcludePointCloudBoxListUpdate:f}=u,{selectBoxVisibleSwitch:R}=ke(),O=(c=a==null?void 0:a.url)!=null?c:"",w=(s=a==null?void 0:a.fallbackUrl)!=null?s:"",{pointCloudBoxList:V,setPointCloudResult:j,defaultAttribute:E,rectList:k,addRectIn2DView:ce,updateRectIn2DView:se,removeRectIn2DView:ue,updateRectListByReducer:de,selectedIDs:m,setSelectedIDs:B,selectedID:N}=Ie(we),{value:U}=Ee(),ae=oe(m),{update2DViewRect:fe,remove2DViewRect:pe}=Ce(),M=J.useRef(null),o=$(null),K=H(fe),y=H(pe),x=$(null),[me,Q]=S(!0),[W,X]=S(""),[ve,z]=S(!1),[ge,A]=S(!0),h=_e(()=>k==null?void 0:k.filter(e=>e.imageName===(a==null?void 0:a.path)),[a==null?void 0:a.path,k]),Y=$(h),P=oe(a==null?void 0:a.path),T=De(e=>G(void 0,null,function*(){try{const n=ae.current.slice(0),r=yield Promise.resolve(e());if(!r||r.length===0)return r;if(n.length){const t=new Set(n),i=r.filter(l=>t.has(l.id)).map(l=>l.id);B(i)}return r}catch(n){}}),[B]),Z=e=>{const{boxID:n}=e;if(!f&&n){T(()=>{const r=K==null?void 0:K(e);return r?(x.current=r,j(r),r):null});return}se(e,!0)},ee=e=>{P.current&&ce(C(v({},e),{imageName:P.current}))},te=e=>{if(e.length===0)return;if(!f){const r=e.find(t=>t.boxID);if(r){T(()=>{const t=y==null?void 0:y(r);return t?(x.current=t,j(t),I(),t):null});return}}const n=e.find(r=>r.extId);n&&T(()=>{const{imageName:r,extId:t}=n,i=y==null?void 0:y({boxID:t,imageName:r});return i?(x.current=i,j(i),i):null}),ue(e)},Re=H(()=>{let e=[];return V.forEach(n=>{const{rects:r=[],id:t,attribute:i,trackID:l}=n,d=r.find(F=>F.imageName===P.current),_=t+"_"+P.current;d&&(e=[...e,C(v({},d),{boxID:t,id:_,attribute:i,order:l})])}),e}),I=Ve(()=>{var e,n,r,t,i;const l=f?[]:Re(),d=(e=o.current)==null?void 0:e.selectedRectID,_=m.slice(0),F=R?Oe(_,l,h):[...l,...h];let ne=[];!R&&(m==null?void 0:m.length)&&(ne=l.filter(q=>d?m.includes(q.boxID)&&!d.includes(q.boxID):m.includes(q.boxID))),(n=o.current)==null||n.setHighLightRectList(ne),(r=o.current)==null||r.setResult(F),W?((t=o.current)==null||t.setSelectedRectID(W),X("")):ve&&d&&((i=o.current)==null||i.setSelectedRectID(d),z(!1))}),re=({targetId:e,id:n})=>{A(!1),B(e),X(n)};return p(()=>{if(M.current){const e=new Pe({container:M.current,size:g,config:C(v({},D),{isShowOrder:!0,attributeConfigurable:!0}),checkMode:L});return o.current=e,o.current.init(),o.current.on("updateDragResult",Z),o.current.on("afterAddingDrawingRect",ee),o.current.on("deleteSelectedRects",te),o.current.on("onRightClick",re),()=>{var n,r,t,i,l;(n=o.current)==null||n.unbind("updateDragResult",Z),(r=o.current)==null||r.unbind("afterAddingDrawingRect",ee),(t=o.current)==null||t.unbind("deleteSelectedRects",te),(i=o.current)==null||i.unbind("onRightClick",re),(l=o.current)==null||l.destroy()}}},[]),p(()=>{const e=r=>G(void 0,null,function*(){try{return yield Le.load(r)}catch(t){return console.error("Error loading image:",t),null}}),n=()=>G(void 0,null,function*(){var r;Q(!0);let t=yield e(O);!t&&w&&(t=yield e(w)),t&&((r=o.current)==null||r.setImgNode(t),b(t)),Q(!1)});o.current&&(O||w)&&n()},[O,w]),p(()=>{var e;(e=o.current)==null||e.setSize(g)},[g]),p(()=>{V!==x.current&&I()},[V]),p(()=>{var e,n;const r=h.find(t=>t.id===o.current.selectedRectID);(n=(e=o.current)==null?void 0:e.setDefaultAttribute)==null||n.call(e,E),r&&de(t=>{var i;const l=[];let d=null;return t.forEach(_=>{_.id!==o.current.selectedRectID?l.push(_):d=_}),r.extId===void 0&&(d=(i=o.current)==null?void 0:i.selectedRect),[...l,C(v({},d||{}),{attribute:E})]}),z(!0),I()},[E]),p(()=>{const e=Y.current;je.isEqual(e,h)||(z(!0),I(),Y.current=h)},[h]),p(()=>{I()},[f]),p(()=>{var e,n,r,t;const i=(n=(e=o.current)==null?void 0:e.config)!=null?n:{},l=C(v({},i),{attributeList:(r=D.attributeList)!=null?r:[]});(t=o.current)==null||t.setConfig(JSON.stringify(l))},[D.attributeList]),p(()=>{var e;(e=o.current)==null||e.setEnableAddRect(m.length===0),I()},[m]),p(()=>{if(!N||!ge){A(!0);return}const{rectList:e,size:n,zoom:r}=o.current,t=e.find(d=>d.boxID===N);if(!t){A(!0);return}const i={x:t.x+t.width/2,y:t.y+t.height/2},l=Se.getCurrentPosFromRectCenter(n,i,r);o.current.setCurrentPos(l),o.current.renderBasicCanvas(),o.current.render()},[N]),p(()=>{const{hiddenText:e}=U||{};if(e===void 0)return;const n=o.current;if(!n)return;const r=v(v({},n.style),U);n.setStyle(r)},[U]),p(()=>{I()},[R]),J.createElement(he,{spinning:me},J.createElement("div",{ref:M,style:v({position:"relative"},g)}))};var Te=be(ye,null,null,{context:xe})(Ae);export{Te as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.23.0-alpha.131",
3
+ "version": "1.23.0-alpha.132",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",