@labelbee/lb-components 1.24.0-alpha.13 → 1.24.0-alpha.15

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.
Files changed (36) hide show
  1. package/dist/_virtual/2DViewWorker.js +1 -1
  2. package/dist/components/DynamicResizer/DynamicResizer.js +1 -1
  3. package/dist/components/DynamicResizer/hooks/useDrag.js +1 -1
  4. package/dist/components/DynamicResizer/hooks/useDraggingAllowed.js +1 -0
  5. package/dist/components/DynamicResizer/hooks/useUpdateHeight.js +1 -1
  6. package/dist/components/DynamicResizer/utils/index.js +1 -0
  7. package/dist/components/longText/index.js +1 -1
  8. package/dist/components/pointCloudView/index.js +1 -1
  9. package/dist/components/tagList/index.js +1 -1
  10. package/dist/index.css +50 -54
  11. package/dist/types/components/DynamicResizer/DynamicResizer.d.ts +3 -3
  12. package/dist/types/components/DynamicResizer/hooks/useDrag.d.ts +24 -7
  13. package/dist/types/components/DynamicResizer/hooks/useDraggingAllowed.d.ts +12 -0
  14. package/dist/types/components/DynamicResizer/hooks/useUpdateHeight.d.ts +10 -21
  15. package/dist/types/components/DynamicResizer/types/interface.d.ts +13 -6
  16. package/dist/types/components/DynamicResizer/utils/index.d.ts +4 -0
  17. package/dist/types/components/longText/index.d.ts +1 -1
  18. package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  19. package/es/_virtual/2DViewWorker.js +1 -1
  20. package/es/components/DynamicResizer/DynamicResizer.js +1 -1
  21. package/es/components/DynamicResizer/hooks/useDrag.js +1 -1
  22. package/es/components/DynamicResizer/hooks/useDraggingAllowed.js +1 -0
  23. package/es/components/DynamicResizer/hooks/useUpdateHeight.js +1 -1
  24. package/es/components/DynamicResizer/utils/index.js +1 -0
  25. package/es/components/longText/index.js +1 -1
  26. package/es/components/pointCloudView/index.js +1 -1
  27. package/es/components/tagList/index.js +1 -1
  28. package/es/index.css +50 -54
  29. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  30. package/package.json +2 -2
  31. package/dist/components/DynamicResizer/assets/bottomToZero.svg.js +0 -1
  32. package/dist/components/DynamicResizer/assets/divider.svg.js +0 -1
  33. package/dist/components/DynamicResizer/assets/topToZero.svg.js +0 -1
  34. package/es/components/DynamicResizer/assets/bottomToZero.svg.js +0 -1
  35. package/es/components/DynamicResizer/assets/divider.svg.js +0 -1
  36. package/es/components/DynamicResizer/assets/topToZero.svg.js +0 -1
@@ -1 +1 @@
1
- "use strict";var React=require("react"),useDrag=require("./hooks/useDrag.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const DynamicResizer=e=>{const{minTopHeight:r=0,minBottomHeight:i=0,defaultHeight:s=50,axis:c="y",children:t,localKey:n="dynamicResizerHeights",customDivider:o,isShortcutButton:l=!1}=e,a=React.useRef(null),{rendered:u,topStyle:d,bottomStyle:m}=useDrag({containerRef:a,minTopHeight:r,minBottomHeight:i,defaultHeight:s,axis:c,localKey:n,customDivider:o,isShortcutButton:l});return React__default.default.createElement("div",{className:"dynamic-resizer-content",ref:a},React__default.default.createElement("div",{className:"dynamic-resizer-top",style:d},t[0]),u,React__default.default.createElement("div",{className:"dynamic-resizer-bottom",style:m},t[1]))};module.exports=DynamicResizer;
1
+ "use strict";var React=require("react"),reResizable=require("re-resizable"),useDrag=require("./hooks/useDrag.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,r,t)=>r in e?__defProp(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,__spreadValues=(e,r)=>{for(var t in r||(r={}))__hasOwnProp.call(r,t)&&__defNormalProp(e,t,r[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(r))__propIsEnum.call(r,t)&&__defNormalProp(e,t,r[t]);return e};const DynamicResizer=({direction:e="vertical",children:r,defaultWidth:t,defaultHeight:l,minTopHeight:s,minBottomHeight:o,minLeftWidth:i,minRightWidth:n,localKey:c,enableEdges:u=["right","bottom"],onResizeStart:f,onResize:m,onResizeStop:p})=>{const a=React.useRef(null),d=useDrag({direction:e,containerRef:a,defaultHeight:l,defaultWidth:t,minTopHeight:s,minBottomHeight:o,minLeftWidth:i,minRightWidth:n,localKey:c,enableEdges:u,onResizeStart:f,onResize:m,onResizeStop:p});return React__default.default.createElement("div",{className:`dynamic-resizer-content ${e}`,ref:a},React__default.default.createElement(reResizable.Resizable,__spreadValues({},d),React__default.default.createElement("div",{className:"resizable-child"},r[0])),React__default.default.createElement("div",{className:"resizable-child-two"},r[1]))};module.exports=DynamicResizer;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),Draggable=require("react-draggable"),ahooks=require("ahooks"),useUpdateHeight=require("./useUpdateHeight.js"),topToZero=require("../assets/topToZero.svg.js"),bottomToZero=require("../assets/bottomToZero.svg.js"),divider=require("../assets/divider.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),Draggable__default=_interopDefaultLegacy(Draggable);const useDrag=({containerRef:e,minTopHeight:v=0,minBottomHeight:p=0,defaultHeight:f=50,axis:a,localKey:b,isShortcutButton:r=!1})=>{const s=b||"dynamicResizerHeights",{topHeight:l,position:o,bounds:d,topStyle:h,bottomStyle:E,updateELHeight:i,setTopHeightToZero:c,setBottomHeightToZero:u}=useUpdateHeight(e,v,p,f,s),[q,n]=ahooks.useLocalStorageState(s),H=React.useCallback(t=>{t.stopPropagation(),e.current&&e.current.classList.add("hide-scrollbar")},[e]),g=React.useCallback((t,k)=>{t.stopPropagation(),i(k.y)},[i]),m=React.useCallback(t=>{t.stopPropagation(),e.current&&e.current.classList.remove("hide-scrollbar"),n(l)},[e,n,l]),T=React.useMemo(()=>r?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("img",{src:topToZero,className:"divider-top",draggable:"false",onClick:c}),React__default.default.createElement("div",{className:"divider-icon",draggable:"false"}),React__default.default.createElement("img",{src:bottomToZero,className:"divider-bottom",draggable:"false",onClick:u})):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement("img",{src:divider,className:"divider-all",draggable:"false"}),React__default.default.createElement("div",{className:"divider-icon",draggable:"false"})),[r,c,u]);return{rendered:React.useMemo(()=>{const t=React__default.default.createElement("div",{className:"divider"},T);return React__default.default.createElement(Draggable__default.default,{axis:a,position:o,handle:".divider",onStart:H,onDrag:g,onStop:m,bounds:d},t)},[a,o,g,m,d]),topStyle:h,bottomStyle:E}};module.exports=useDrag;
1
+ "use strict";var React=require("react"),useUpdateHeight=require("./useUpdateHeight.js"),useDraggingAllowed=require("./useDraggingAllowed.js");const useDrag=({containerRef:e,direction:t,defaultHeight:g,defaultWidth:l,minTopHeight:n,minBottomHeight:c,minLeftWidth:o,minRightWidth:u,localKey:m,enableEdges:f,onResizeStart:s,onResize:i,onResizeStop:r})=>{const{width:p,height:z,minWidth:H,minHeight:b,maxWidth:D,maxHeight:v,updateHeight:y,updateWidth:W}=useUpdateHeight({direction:t,containerRef:e,minTopHeight:n,minBottomHeight:c,defaultHeight:g,minLeftWidth:o,minRightWidth:u,defaultWidth:l,localKey:m}),q=useDraggingAllowed(t,f),[a,d]=React.useState(!1),w=()=>{d(!0),s&&s()},x=()=>{i&&i()},S=(A,L,h)=>{d(!1),W(h.offsetWidth),y(h.offsetHeight),r&&r()};return React.useEffect(()=>{e.current&&(a?e.current.classList.add("hide-scrollbar"):e.current.classList.remove("hide-scrollbar"))},[a,e.current]),{size:{width:p,height:z},onResizeStart:w,onResize:x,onResizeStop:S,enable:q,handleClasses:{right:"dynamic-right-handle",bottom:"dynamic-bottom-handle"},minWidth:H,maxWidth:D,minHeight:b,maxHeight:v}};module.exports=useDrag;
@@ -0,0 +1 @@
1
+ "use strict";var React=require("react");const useDraggingAllowed=(l="vertical",o)=>{const t=(e,r)=>l===e&&(o==null?void 0:o.includes(r));return React.useMemo(()=>{const e=t("vertical","top"),r=t("vertical","bottom"),s=t("horizontal","left"),n=t("horizontal","right");return{top:e,bottom:r,left:s,right:n,topLeft:!1,ropRight:!1,bottomLeft:!1,bottomRight:!1}},[l,o])};module.exports=useDraggingAllowed;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),ahooks=require("ahooks");const MINIMUM_HEIGHT=1e-5,useUpdateHeight=(t,n,a,v,f)=>{const[u,M]=React.useState(0),[g,S]=React.useState(0),[i,T]=React.useState(0),[l,b]=React.useState(0),[h,H]=ahooks.useLocalStorageState(f),[m,_]=React.useState(!1);React.useEffect(()=>{N(),_(!0)},[]),React.useEffect(()=>{if(m){const e=k();c(e),H(e)}},[m]);const I=React.useMemo(()=>({x:0,y:u}),[u]),x=React.useMemo(()=>{var e;return{top:i,bottom:(((e=t.current)==null?void 0:e.offsetHeight)||0)-l}},[i,t]),B=React.useMemo(()=>({height:u+"px"}),[u]),L=React.useMemo(()=>({height:g+"px"}),[g]),N=()=>{var e,s,o,r;if(t){let p=n,d=a;n>=(((e=t.current)==null?void 0:e.offsetHeight)||0)/2&&(p=(((s=t.current)==null?void 0:s.offsetHeight)||0)/2),a>=(((o=t.current)==null?void 0:o.offsetHeight)||0)/2&&(d=(((r=t.current)==null?void 0:r.offsetHeight)||0)/2),T(p||MINIMUM_HEIGHT),b(d)}},k=React.useCallback(()=>{var e,s;let o=0;return h!=null?o=isNaN(Number(h))?0:Number(h):o=v,o<i&&(o=i),t&&o>=(((e=t==null?void 0:t.current)==null?void 0:e.offsetHeight)||0)&&(o=(((s=t.current)==null?void 0:s.offsetHeight)||0)/2),o||MINIMUM_HEIGHT},[t,u,i,h,v]),c=React.useCallback(e=>{var s;if(t){const o=((s=t==null?void 0:t.current)==null?void 0:s.offsetHeight)||0,r=o-l;e>=i&&e<=r&&(M(e),S(o-e))}},[t,i,l]);return{topHeight:u,bottomHeight:g,position:I,bounds:x,topStyle:B,bottomStyle:L,updateELHeight:c,setBottomHeightToZero:()=>{var e;if(t){const s=((e=t==null?void 0:t.current)==null?void 0:e.offsetHeight)||0;c(s-l||0),H(s-l||0)}},setTopHeightToZero:()=>{t&&(c(i||0),H(i||0))}}};module.exports=useUpdateHeight;
1
+ "use strict";var React=require("react"),ahooks=require("ahooks"),index=require("../utils/index.js");const useUpdateHeight=({containerRef:t,direction:l,defaultHeight:M=10,defaultWidth:W=10,minTopHeight:c=10,minBottomHeight:i=10,minLeftWidth:d=10,minRightWidth:h=10,localKey:o="dynamicResizerLocalKey"})=>{var r,v;const[S,z]=React.useState(0),[n,k]=React.useState(0),[b,p]=React.useState(void 0),[C,D]=React.useState(void 0),[E,j]=React.useState(void 0),[q,I]=React.useState(void 0),[w,A]=ahooks.useLocalStorageState(o+"width"),[L,_]=ahooks.useLocalStorageState(o+"height"),[u,g]=React.useState(!1);React.useEffect(()=>(g(!0),()=>{g(!1)}),[]),React.useEffect(()=>{u&&y()},[u]),React.useEffect(()=>{u&&l==="vertical"&&F()},[u,(r=t.current)==null?void 0:r.offsetHeight,c,i]),React.useEffect(()=>{u&&l==="horizontal"&&U()},[u,(v=t.current)==null?void 0:v.offsetWidth,d,h]);const y=()=>{if(t==null?void 0:t.current){const e=t==null?void 0:t.current.offsetWidth,s=t==null?void 0:t.current.offsetHeight;let a=e,f=s;l==="vertical"?f=index.adjustDefaultSize(L,c,i,s,M):l==="horizontal"&&(a=index.adjustDefaultSize(w,d,h,e,W)),x(a),H(f)}},U=React.useCallback(()=>{if(t==null?void 0:t.current){const e=t==null?void 0:t.current.offsetWidth;let s=e,a=e;s=index.calcMinSize(d,e),a=index.calcMaxSize(h,e),p(s),j(a)}},[t,d,h]),F=React.useCallback(()=>{if(t==null?void 0:t.current){const e=t==null?void 0:t.current.offsetHeight;let s=e,a=e;s=index.calcMinSize(c,e),a=index.calcMaxSize(i,e),D(s),I(a)}},[t,c,i]),x=React.useCallback(e=>{const s=l==="horizontal"?e:"100%";z(s),A(s)},[l,S]),H=React.useCallback(e=>{const s=l==="vertical"?e:"100%";k(s),_(s)},[l,n]);return{width:S,height:n,minWidth:b,minHeight:C,maxWidth:E,maxHeight:q,updateWidth:x,updateHeight:H}};module.exports=useUpdateHeight;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const isPercentage=t=>typeof t=="string"&&t.endsWith("%")&&!isNaN(parseFloat(t)),calculatePercentage=(t,s)=>{const e=parseFloat(t);return isNaN(e)?0:e/100*s},isValidSize=t=>typeof t=="number"&&t>0||isPercentage(t),calcMaxSize=(t,s)=>isValidSize(t)?typeof t=="string"&&isPercentage(t)?calculatePercentage(t,s):s-Number(t):s,calcMinSize=(t,s)=>isValidSize(t)?typeof t=="string"&&isPercentage(t)?calculatePercentage(t,s):Number(t):0,adjustDefaultSize=(t,s,e,r=0,n)=>{if(!isValidSize(t))return n<r?n:Math.min(r,calcMinSize(s,r));if(calcMinSize(s,r)+calcMinSize(e,r)>r)return r*.5;const f=calcMinSize(s,r),p=r-calcMinSize(e,r),a=typeof t=="string"&&isPercentage(t)?calculatePercentage(t,r):Number(t)||0;return Math.min(Math.max(a,f),p)};exports.adjustDefaultSize=adjustDefaultSize,exports.calcMaxSize=calcMaxSize,exports.calcMinSize=calcMinSize,exports.isValidSize=isValidSize;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),antd=require("antd"),ahooks=require("ahooks"),index=require("../../constant/index.js"),icons=require("@ant-design/icons");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,r)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,__spreadValues=(e,t)=>{for(var r in t||(t={}))__hasOwnProp.call(t,r)&&__defNormalProp(e,r,t[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(t))__propIsEnum.call(t,r)&&__defNormalProp(e,r,t[r]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__objRest=(e,t)=>{var r={};for(var n in e)__hasOwnProp.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&__getOwnPropSymbols)for(var n of __getOwnPropSymbols(e))t.indexOf(n)<0&&__propIsEnum.call(e,n)&&(r[n]=e[n]);return r};const longTextCls=`${index.prefix}-longText`,TextDom=React.forwardRef((e,t)=>{var r=e,{text:n,overflowMaxLines:c,style:o}=r,f=__objRest(r,["text","overflowMaxLines","style"]);const a={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},l={display:"-webkit-box",WebkitLineClamp:c,WebkitBoxOrient:"vertical",overflow:"hidden"},u=c>1?l:a,s=__spreadValues(__spreadValues({},u),o!=null?o:{});return React__default.default.createElement("div",__spreadValues({style:s,ref:t},f),n)}),LongText=e=>{const{text:t,placement:r="bottom",icon:n=React__default.default.createElement(icons.SearchOutlined,null),openByText:c,style:o,isToolTips:f,overflowMaxLines:a=1}=e,l=React.useRef(null),u=ahooks.useSize(l),s=React.useMemo(()=>{var i,d,v,p;return a>1?l.current&&((i=l.current)==null?void 0:i.clientHeight)<((d=l.current)==null?void 0:d.scrollHeight):l.current&&((v=l.current)==null?void 0:v.clientWidth)<((p=l.current)==null?void 0:p.scrollWidth)},[u]);if(c){let i={placement:r,overlayClassName:`${longTextCls}-popover`,content:t,key:`${s}`};return s||Object.assign(i,{open:!1}),f?React__default.default.createElement(antd.Tooltip,__spreadProps(__spreadValues({},i),{title:t}),React__default.default.createElement(TextDom,{overflowMaxLines:a,style:o,ref:l,text:t})):React__default.default.createElement(antd.Popover,__spreadValues({},i),React__default.default.createElement(TextDom,{overflowMaxLines:a,style:o,ref:l,text:t}))}return React__default.default.createElement("div",{className:longTextCls,style:o},React__default.default.createElement(TextDom,{overflowMaxLines:a,style:o,ref:l,text:t}),s&&React__default.default.createElement(antd.Popover,{placement:r,overlayClassName:`${longTextCls}-popover`,content:t},n))};module.exports=LongText;
1
+ "use strict";var React=require("react"),antd=require("antd"),ahooks=require("ahooks"),index=require("../../constant/index.js"),icons=require("@ant-design/icons");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}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=(t,e,r)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,__spreadValues=(t,e)=>{for(var r in e||(e={}))__hasOwnProp.call(e,r)&&__defNormalProp(t,r,e[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(e))__propIsEnum.call(e,r)&&__defNormalProp(t,r,e[r]);return t},__spreadProps=(t,e)=>__defProps(t,__getOwnPropDescs(e)),__objRest=(t,e)=>{var r={};for(var l in t)__hasOwnProp.call(t,l)&&e.indexOf(l)<0&&(r[l]=t[l]);if(t!=null&&__getOwnPropSymbols)for(var l of __getOwnPropSymbols(t))e.indexOf(l)<0&&__propIsEnum.call(t,l)&&(r[l]=t[l]);return r};const longTextCls=`${index.prefix}-longText`,TextDom=React.forwardRef((t,e)=>{var r=t,{text:l,overflowMaxLines:f,style:o}=r,u=__objRest(r,["text","overflowMaxLines","style"]);const i={whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},s={display:"-webkit-box",WebkitLineClamp:f,WebkitBoxOrient:"vertical",overflow:"hidden"},n=f>1?s:i,d=__spreadValues(__spreadValues({},n),o!=null?o:{});return React__default.default.createElement("div",__spreadValues({style:d,ref:e},u),l)}),LongText=t=>{const{text:e,placement:r="bottom",icon:l=React__default.default.createElement(icons.SearchOutlined,null),openByText:f,style:o,isToolTips:u,overflowMaxLines:i=1,maxWordCount:s}=t,n=React.useRef(null),d=ahooks.useSize(n),p=React.useMemo(()=>{var a,c,v,m;return i>1?n.current&&((a=n.current)==null?void 0:a.clientHeight)<((c=n.current)==null?void 0:c.scrollHeight):n.current&&((v=n.current)==null?void 0:v.clientWidth)<((m=n.current)==null?void 0:m.scrollWidth)},[d]);if(s){if(e.length>s){const a=e.substring(0,s)+"...",c={placement:r,content:e};return u?React__default.default.createElement(antd.Tooltip,__spreadProps(__spreadValues({},c),{title:e}),React__default.default.createElement(TextDom,{overflowMaxLines:i,style:o,ref:n,text:a})):React__default.default.createElement(antd.Popover,__spreadValues({},c),React__default.default.createElement(TextDom,{overflowMaxLines:i,style:o,ref:n,text:a}))}return React__default.default.createElement("span",null,e)}if(f){let a={placement:r,overlayClassName:`${longTextCls}-popover`,content:e,key:`${p}`};return p||Object.assign(a,{open:!1}),u?React__default.default.createElement(antd.Tooltip,__spreadProps(__spreadValues({},a),{title:e}),React__default.default.createElement(TextDom,{overflowMaxLines:i,style:o,ref:n,text:e})):React__default.default.createElement(antd.Popover,__spreadValues({},a),React__default.default.createElement(TextDom,{overflowMaxLines:i,style:o,ref:n,text:e}))}return React__default.default.createElement("div",{className:longTextCls,style:o},React__default.default.createElement(TextDom,{overflowMaxLines:i,style:o,ref:n,text:e}),p&&React__default.default.createElement(antd.Popover,{placement:r,overlayClassName:`${longTextCls}-popover`,content:e},l))};module.exports=LongText;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloud3DView=require("./PointCloud3DView.js"),PointCloudBackView=require("./PointCloudBackView.js"),PointCloudTopView=require("./PointCloudTopView.js"),PointCloudSideView=require("./PointCloudSideView.js"),PointCloud2DView=require("./PointCloud2DView.js"),PointCloudListener=require("./PointCloudListener.js"),PointCloudSegmentListener=require("./PointCloudSegmentListener.js"),PointCloudSegment=require("./PointCloudSegment.js"),PointCloudSegmentStatus=require("./PointCloudSegmentStatus.js"),PointCloudSegmentToolbar=require("./PointCloudSegmentToolbar.js"),PointCloudSegment2DView=require("./PointCloudSegment2DView.js"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),index$1=require("../../views/MainView/toolFooter/AnnotatedAttributes/index.js"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils"),annotation=require("../../hooks/annotation.js"),index=require("../../utils/index.js"),map=require("../../store/annotation/map.js"),classNames=require("classnames"),index$2=require("./components/sideAndBackOverView/index.js"),actionCreators=require("../../store/annotation/actionCreators.js");function _interopDefaultLegacy(l){return l&&typeof l=="object"&&"default"in l?l:{default:l}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const PointCloudView=l=>{const{currentData:i,imgList:v,drawLayerSlot:c,checkMode:n,intelligentFit:p,imgIndex:L,config:E,measureVisible:x,setResourceLoading:C}=l,e=React.useContext(PointCloudContext.PointCloudContext),{globalPattern:m,setGlobalPattern:S,selectedIDs:f}=e,q=ctx.useDispatch(),[a,g]=React.useState(!1),b=(f==null?void 0:f.length)>0&&a,j=index.jsonParser(i.result),{toolInstanceRef:o,clearToolInstance:w}=annotation.useCustomToolInstance({basicInfo:j});if(React.useEffect(()=>{o.current.setPointCloudGlobalPattern=t=>{t!==m&&(S(t),e.clearAllDetectionInstance(),w())}},[m]),React.useEffect(()=>{var t;if(actionCreators.SetLoadPCDFileLoading(q,!0),i){const{boxParamsList:r,polygonList:s,lineList:u,sphereParamsList:d,segmentation:N,rectList:V}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult((t=i==null?void 0:i.result)!=null?t:"");e.setPointCloudResult(r),e.setPolygonList(s),e.setLineList(u),e.setPointCloudSphereList(d),e.setRectList(V),e.setSegmentation(N)}},[L]),React.useEffect(()=>{o.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],o.current.exportCustomData=()=>{var t,r,s,u,d;return{resultPolygon:(t=e.polygonList)!=null?t:[],resultLine:(r=e.lineList)!=null?r:[],resultPoint:(s=e.pointCloudSphereList)!=null?s:[],resultRect:(u=e.rectList)!=null?u:[],segmentation:(d=e.segmentation)!=null?d:[]}}},[e.pointCloudBoxList,e.rectList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),v.length===0)return null;if(m===lbUtils.EPointCloudPattern.Segmentation)return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegmentListener,{checkMode:n,toolInstanceRef:o}),React__default.default.createElement(PointCloudSegmentToolbar,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout")},React__default.default.createElement(PointCloudSegment,{checkMode:n}),React__default.default.createElement(PointCloudSegment2DView,null)),React__default.default.createElement(PointCloudSegmentStatus,{config:E}),c==null?void 0:c({direct:!0}));let P=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left-bottom")},React__default.default.createElement(PointCloudBackView,{checkMode:n}),React__default.default.createElement(PointCloudSideView,{checkMode:n}));return a&&(P=React__default.default.createElement(index$2,{selectAndEnlarge:b,checkMode:n})),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:n,toolInstanceRef:o,setResourceLoading:C}),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout"),onContextMenu:t=>t.preventDefault()},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-wrapper")},React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedLeft,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-content")},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left")},React__default.default.createElement(PointCloud3DView,{setResourceLoading:C}),P),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right")]:!0,[dom.getClassName("point-cloud-container","rightZoom")]:a})},React__default.default.createElement(PointCloudTopView,{drawLayerSlot:c,checkMode:n,intelligentFit:p,setIsEnlargeTopView:g,onExitZoom:()=>{g(!1)},isEnlargeTopView:a}),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right-bottom")]:!a,[dom.getClassName("point-cloud-container","right-bottom-floatLeft")]:a})},React__default.default.createElement(PointCloud2DView,{isEnlargeTopView:a,thumbnailWidth:a?300:455,checkMode:n,measureVisible:x})))),React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedRight,null))))};var PointCloudView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudView);module.exports=PointCloudView$1;
1
+ "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloud3DView=require("./PointCloud3DView.js"),PointCloudBackView=require("./PointCloudBackView.js"),PointCloudTopView=require("./PointCloudTopView.js"),PointCloudSideView=require("./PointCloudSideView.js"),PointCloud2DView=require("./PointCloud2DView.js"),PointCloudListener=require("./PointCloudListener.js"),PointCloudSegmentListener=require("./PointCloudSegmentListener.js"),PointCloudSegment=require("./PointCloudSegment.js"),PointCloudSegmentStatus=require("./PointCloudSegmentStatus.js"),PointCloudSegmentToolbar=require("./PointCloudSegmentToolbar.js"),PointCloudSegment2DView=require("./PointCloudSegment2DView.js"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),index$1=require("../../views/MainView/toolFooter/AnnotatedAttributes/index.js"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils"),annotation=require("../../hooks/annotation.js"),index=require("../../utils/index.js"),map=require("../../store/annotation/map.js"),classNames=require("classnames"),index$2=require("./components/sideAndBackOverView/index.js"),actionCreators=require("../../store/annotation/actionCreators.js"),DynamicResizer=require("../DynamicResizer/DynamicResizer.js");function _interopDefaultLegacy(i){return i&&typeof i=="object"&&"default"in i?i:{default:i}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const PointCloudView=i=>{const{currentData:s,imgList:L,drawLayerSlot:m,checkMode:l,intelligentFit:h,imgIndex:x,config:S,measureVisible:q,setResourceLoading:C,stepInfo:t}=i,e=React.useContext(PointCloudContext.PointCloudContext),{globalPattern:f,setGlobalPattern:w,selectedIDs:v}=e,b=ctx.useDispatch(),g=React.useRef(null),p=React.useRef(null),[j,D]=React.useState(0),[a,P]=React.useState(!1),V=(v==null?void 0:v.length)>0&&a,N=index.jsonParser(s.result),{toolInstanceRef:r,clearToolInstance:y}=annotation.useCustomToolInstance({basicInfo:N});if(React.useEffect(()=>{r.current.setPointCloudGlobalPattern=n=>{n!==f&&(w(n),e.clearAllDetectionInstance(),y())}},[f]),React.useEffect(()=>{var n;if(actionCreators.SetLoadPCDFileLoading(b,!0),s){const{boxParamsList:o,polygonList:u,lineList:d,sphereParamsList:c,segmentation:R,rectList:I}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult((n=s==null?void 0:s.result)!=null?n:"");e.setPointCloudResult(o),e.setPolygonList(u),e.setLineList(d),e.setPointCloudSphereList(c),e.setRectList(I),e.setSegmentation(R)}},[x]),React.useEffect(()=>{var n;if(g.current){const o=((n=g.current)==null?void 0:n.offsetHeight)-233;D(o)}},[p.current]),React.useEffect(()=>{r.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],r.current.exportCustomData=()=>{var n,o,u,d,c;return{resultPolygon:(n=e.polygonList)!=null?n:[],resultLine:(o=e.lineList)!=null?o:[],resultPoint:(u=e.pointCloudSphereList)!=null?u:[],resultRect:(d=e.rectList)!=null?d:[],segmentation:(c=e.segmentation)!=null?c:[]}}},[e.pointCloudBoxList,e.rectList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),L.length===0)return null;if(f===lbUtils.EPointCloudPattern.Segmentation)return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegmentListener,{checkMode:l,toolInstanceRef:r}),React__default.default.createElement(PointCloudSegmentToolbar,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout")},React__default.default.createElement(PointCloudSegment,{checkMode:l}),React__default.default.createElement(PointCloudSegment2DView,null)),React__default.default.createElement(PointCloudSegmentStatus,{config:S}),m==null?void 0:m({direct:!0}));let E=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left-bottom")},React__default.default.createElement(PointCloudBackView,{checkMode:l}),React__default.default.createElement(PointCloudSideView,{checkMode:l}));return a&&(E=React__default.default.createElement(index$2,{selectAndEnlarge:V,checkMode:l})),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:l,toolInstanceRef:r,setResourceLoading:C}),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout"),onContextMenu:n=>n.preventDefault()},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-wrapper")},React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedLeft,null),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-content"),ref:p},React__default.default.createElement(DynamicResizer,{direction:"horizontal",localKey:"leftAllViewid:"+(t==null?void 0:t.id)+"taskID:"+(t==null?void 0:t.taskID)+"step:"+(t==null?void 0:t.step)+"type:"+(t==null?void 0:t.type),defaultWidth:360,minLeftWidth:244,minRightWidth:"50%"},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left")},React__default.default.createElement(PointCloud3DView,{setResourceLoading:C}),E),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right")]:!0,[dom.getClassName("point-cloud-container","rightZoom")]:a}),ref:g},React__default.default.createElement(DynamicResizer,{localKey:"rightAllViewid:"+(t==null?void 0:t.id)+"taskID:"+(t==null?void 0:t.taskID)+"step:"+(t==null?void 0:t.step)+"type:"+(t==null?void 0:t.type),defaultHeight:300,minTopHeight:j,minBottomHeight:160},React__default.default.createElement(PointCloudTopView,{drawLayerSlot:m,checkMode:l,intelligentFit:h,setIsEnlargeTopView:P,onExitZoom:()=>{P(!1)},isEnlargeTopView:a}),React__default.default.createElement("div",{className:classNames__default.default({[dom.getClassName("point-cloud-container","right-bottom")]:!a,[dom.getClassName("point-cloud-container","right-bottom-floatLeft")]:a})},React__default.default.createElement(PointCloud2DView,{isEnlargeTopView:a,thumbnailWidth:a?300:455,checkMode:l,measureVisible:q})))))),React__default.default.createElement(index$1.AnnotatedAttributesPanelFixedRight,null))))};var PointCloudView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudView);module.exports=PointCloudView$1;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),antd=require("antd"),index_module=require("./index.module.scss.js"),index=require("../longText/index.js"),classNames=require("classnames");function _interopDefaultLegacy(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const{CheckableTag}=antd.Tag,CheckBoxList=({tagItem:a,selectedTags:r,handleChange:c,disabeledAll:o})=>{var d;const s=o,{isMulti:u,subSelected:n=[],value:i}=a,t=i;return u?React__default.default.createElement(React__default.default.Fragment,null,n.map(e=>{var l,v;return React__default.default.createElement(CheckableTag,{key:e==null?void 0:e.value,checked:(l=r[t])==null?void 0:l.includes(e==null?void 0:e.value),onChange:m=>{s||c({key:t,tag:e==null?void 0:e.value,checked:m})},className:classNames__default.default({[`${index_module.disabled}`]:s,[`${index_module.active}`]:s&&((v=r[t])==null?void 0:v.includes(e==null?void 0:e.value))})},React__default.default.createElement("span",{className:index_module.tagItem},React__default.default.createElement(index,{text:e==null?void 0:e.key,openByText:!0})))})):React__default.default.createElement(antd.Radio.Group,{onChange:e=>{c({key:t,tag:e.target.value,checked:e.target.checked,isRadio:!0})},value:(d=r[t])==null?void 0:d[0]},n.map(e=>React__default.default.createElement(antd.Radio,{value:e==null?void 0:e.value,key:e==null?void 0:e.value,disabled:s},React__default.default.createElement("span",{className:index_module.tagItem},React__default.default.createElement(index,{text:e==null?void 0:e.key,openByText:!0})))))},TagList=a=>{const{selectedTags:r,updateValue:c,disabeledAll:o,inputList:d=[]}=a,s=u=>{const{key:n,checked:i,tag:t,isRadio:e}=u;let l=r[n]||[];if(e&&(l=[]),i){if(l==null?void 0:l.includes(t))return;l.push(t)}else!i&&(l==null?void 0:l.includes(t))&&(l=l.filter(m=>m!==t));c({key:n,value:l})};return(d==null?void 0:d.length)>0?React__default.default.createElement("div",{className:index_module.tagList},d.map((u,n)=>React__default.default.createElement(antd.Row,{key:n,className:index_module.content},React__default.default.createElement(antd.Col,{span:4,className:index_module.left},React__default.default.createElement(index,{text:u==null?void 0:u.key,openByText:!0})),React__default.default.createElement(antd.Col,{span:20,className:index_module.right},React__default.default.createElement(CheckBoxList,{selectedTags:r,handleChange:s,tagItem:u,disabeledAll:o}))))):null};module.exports=TagList;
1
+ "use strict";var React=require("react"),antd=require("antd"),index_module=require("./index.module.scss.js"),index=require("../longText/index.js"),classNames=require("classnames");function _interopDefaultLegacy(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const{CheckableTag}=antd.Tag,CheckBoxList=({tagItem:a,selectedTags:r,handleChange:c,disabeledAll:o})=>{var d;const s=o,{isMulti:u,subSelected:n=[],value:i}=a,t=i;return u?React__default.default.createElement(React__default.default.Fragment,null,n.map(e=>{var l,v;return React__default.default.createElement(CheckableTag,{key:e==null?void 0:e.value,checked:(l=r[t])==null?void 0:l.includes(e==null?void 0:e.value),onChange:m=>{s||c({key:t,tag:e==null?void 0:e.value,checked:m})},className:classNames__default.default({[`${index_module.disabled}`]:s,[`${index_module.active}`]:s&&((v=r[t])==null?void 0:v.includes(e==null?void 0:e.value))})},React__default.default.createElement("span",{className:index_module.tagItem},React__default.default.createElement(index,{text:e==null?void 0:e.key,openByText:!0,maxWordCount:10})))})):React__default.default.createElement(antd.Radio.Group,{onChange:e=>{c({key:t,tag:e.target.value,checked:e.target.checked,isRadio:!0})},value:(d=r[t])==null?void 0:d[0]},n.map(e=>React__default.default.createElement(antd.Radio,{value:e==null?void 0:e.value,key:e==null?void 0:e.value,disabled:s},React__default.default.createElement("span",{className:index_module.tagItem},React__default.default.createElement(index,{text:e==null?void 0:e.key,openByText:!0,maxWordCount:10})))))},TagList=a=>{const{selectedTags:r,updateValue:c,disabeledAll:o,inputList:d=[]}=a,s=u=>{const{key:n,checked:i,tag:t,isRadio:e}=u;let l=r[n]||[];if(e&&(l=[]),i){if(l==null?void 0:l.includes(t))return;l.push(t)}else!i&&(l==null?void 0:l.includes(t))&&(l=l.filter(m=>m!==t));c({key:n,value:l})};return(d==null?void 0:d.length)>0?React__default.default.createElement("div",{className:index_module.tagList},d.map((u,n)=>React__default.default.createElement(antd.Row,{key:n,className:index_module.content},React__default.default.createElement(antd.Col,{span:4,className:index_module.left},React__default.default.createElement(index,{text:u==null?void 0:u.key,openByText:!0})),React__default.default.createElement(antd.Col,{span:20,className:index_module.right},React__default.default.createElement(CheckBoxList,{selectedTags:r,handleChange:s,tagItem:u,disabeledAll:o}))))):null};module.exports=TagList;
package/dist/index.css CHANGED
@@ -81,73 +81,62 @@
81
81
  margin-right: 8px;
82
82
  }
83
83
  .dynamic-resizer-content {
84
+ display: flex;
84
85
  width: 100%;
85
86
  height: 100%;
86
- flex-shrink: 0;
87
- flex-grow: 0;
88
87
  position: relative;
88
+ overflow: hidden;
89
89
  }
90
-
91
- .divider {
92
- height: 10px;
93
- width: 100%;
94
- position: absolute;
95
- top: -5px;
96
- left: 0;
97
- cursor: row-resize;
98
- user-select: none;
99
- display: flex;
100
- align-items: center;
90
+ .dynamic-resizer-content.horizontal {
91
+ flex-direction: row;
92
+ }
93
+ .dynamic-resizer-content.vertical {
101
94
  flex-direction: column;
102
- justify-content: center;
103
95
  }
104
- .divider:hover .divider-top, .divider:hover .divider-bottom, .divider:hover .divider-all {
105
- display: block;
96
+ .dynamic-resizer-content .resizable-container {
97
+ display: flex;
106
98
  }
107
-
108
- .divider-top,
109
- .divider-bottom,
110
- .divider-all {
99
+ .dynamic-resizer-content .resizable-child {
100
+ width: 100%;
101
+ height: 100%;
102
+ }
103
+ .dynamic-resizer-content .resizable-child-two {
104
+ width: 100%;
105
+ height: 100%;
106
+ overflow-y: auto;
107
+ position: relative;
108
+ }
109
+ .dynamic-resizer-content .divider-all {
111
110
  width: 20px;
112
111
  height: 20px;
113
- cursor: pointer;
114
- display: none;
115
- user-select: none;
116
- }
117
-
118
- .divider-all {
119
112
  position: absolute;
120
- top: -50%;
113
+ top: 0;
121
114
  left: 50%;
122
- transform: translate(-50%);
115
+ transform: translate(-50%, -50%);
116
+ z-index: 1;
123
117
  }
124
-
125
- .divider-icon {
126
- width: 100%;
127
- height: 20px;
128
- position: relative;
118
+ .dynamic-resizer-content .split-divider {
119
+ background-color: #ccc;
120
+ width: 5px;
121
+ height: 100%;
122
+ }
123
+ .dynamic-resizer-content .dynamic-right-handle {
124
+ cursor: ew-resize !important;
125
+ z-index: 100;
129
126
  }
130
- .divider-icon::after {
127
+ .dynamic-resizer-content .dynamic-bottom-handle {
128
+ cursor: ns-resize !important;
129
+ z-index: 100;
130
+ }
131
+ .dynamic-resizer-content .dynamic-bottom-handle::after {
131
132
  content: "";
132
- display: block;
133
133
  position: absolute;
134
- top: 50%;
135
134
  left: 0;
136
135
  right: 0;
137
- width: 90%;
136
+ top: 50%;
137
+ transform: translateY(-50%);
138
138
  height: 1px;
139
139
  background: #ccc;
140
- margin: 0 auto;
141
- }
142
-
143
- .dynamic-resizer-top {
144
- width: 100%;
145
- overflow-y: auto;
146
- }
147
-
148
- .dynamic-resizer-bottom {
149
- width: 100%;
150
- overflow-y: auto;
151
140
  }
152
141
 
153
142
  .hide-scrollbar * {
@@ -262,7 +251,6 @@
262
251
  }
263
252
  .index-module_tagList__cvWor .index-module_right__RHSL5 .index-module_tagItem__hicyz {
264
253
  display: flex;
265
- max-width: 60px;
266
254
  }
267
255
  .index-module_tagList__cvWor .index-module_right__RHSL5 .index-module_disabled__lpoBn {
268
256
  animation: none;
@@ -2624,17 +2612,22 @@
2624
2612
  line-height: 40px;
2625
2613
  display: flex;
2626
2614
  justify-content: space-between;
2615
+ height: auto;
2627
2616
  }
2628
2617
  .bee-point-cloud-wrapper .bee-point-cloud-container__header-title {
2629
- flex: 1;
2618
+ flex-shrink: 0;
2630
2619
  overflow: hidden;
2631
2620
  text-overflow: ellipsis;
2632
2621
  font-weight: 500;
2622
+ height: 40px;
2633
2623
  }
2634
2624
  .bee-point-cloud-wrapper .bee-point-cloud-container__header-toolbar {
2625
+ flex: 1;
2635
2626
  display: flex;
2636
2627
  align-items: center;
2637
2628
  font-size: 14px;
2629
+ flex-wrap: wrap;
2630
+ justify-content: flex-end;
2638
2631
  }
2639
2632
  .bee-point-cloud-wrapper .bee-point-cloud-container__header-toolbar .bee-point-cloud__rotate-reserve {
2640
2633
  display: inline-block;
@@ -2722,7 +2715,7 @@
2722
2715
  display: none;
2723
2716
  }
2724
2717
  .bee-point-cloud-wrapper .bee-point-cloud-container__left {
2725
- width: 455px;
2718
+ width: 100%;
2726
2719
  display: flex;
2727
2720
  flex-direction: column;
2728
2721
  border-right: 1px solid #fff;
@@ -2731,6 +2724,7 @@
2731
2724
  flex-shrink: 0;
2732
2725
  }
2733
2726
  .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-3d-container {
2727
+ background: #444;
2734
2728
  display: flex;
2735
2729
  flex-direction: column;
2736
2730
  overflow: hidden;
@@ -2889,7 +2883,7 @@
2889
2883
  }
2890
2884
  .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content,
2891
2885
  .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content {
2892
- flex: 1;
2886
+ height: 100%;
2893
2887
  }
2894
2888
  .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__side-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance,
2895
2889
  .bee-point-cloud-wrapper .bee-point-cloud-container__left .bee-point-cloud-container__left-bottom .bee-point-cloud-container__back-view .bee-point-cloud-container__bottom-view-content .bee-point-cloud-container__core-instance {
@@ -2918,13 +2912,15 @@
2918
2912
  font-size: 14px;
2919
2913
  }
2920
2914
  .bee-point-cloud-wrapper .bee-point-cloud-container__right {
2921
- flex: 1;
2915
+ width: 100%;
2916
+ height: 100%;
2922
2917
  display: flex;
2923
2918
  flex-direction: column;
2924
2919
  overflow: hidden;
2925
2920
  background-color: #444;
2926
2921
  }
2927
2922
  .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__top-view {
2923
+ height: 100%;
2928
2924
  border-bottom: 1px solid #fff;
2929
2925
  overflow: hidden;
2930
2926
  display: flex;
@@ -2953,7 +2949,7 @@
2953
2949
  border-bottom: 1px solid #fff;
2954
2950
  }
2955
2951
  .bee-point-cloud-wrapper .bee-point-cloud-container__right .bee-point-cloud-container__right-bottom {
2956
- flex: 1;
2952
+ height: 100%;
2957
2953
  display: flex;
2958
2954
  overflow: auto;
2959
2955
  }
@@ -1,5 +1,5 @@
1
- import { FC } from 'react';
2
- import './DynamicResizer.scss';
1
+ import React from 'react';
3
2
  import { DynamicResizerProps } from './types/interface';
4
- declare const DynamicResizer: FC<DynamicResizerProps>;
3
+ import './styles.scss';
4
+ declare const DynamicResizer: React.FC<DynamicResizerProps>;
5
5
  export default DynamicResizer;
@@ -1,12 +1,29 @@
1
- import React from 'react';
2
1
  import { DragProps } from '../types/interface';
3
- declare const useDrag: ({ containerRef, minTopHeight, minBottomHeight, defaultHeight, axis, localKey, isShortcutButton, }: DragProps) => {
4
- rendered: React.JSX.Element;
5
- topStyle: {
6
- height: string;
2
+ declare const useDrag: ({ containerRef, direction, defaultHeight, defaultWidth, minTopHeight, minBottomHeight, minLeftWidth, minRightWidth, localKey, enableEdges, onResizeStart, onResize, onResizeStop, }: DragProps) => {
3
+ size: {
4
+ width: string | number;
5
+ height: string | number;
7
6
  };
8
- bottomStyle: {
9
- height: string;
7
+ onResizeStart: () => void;
8
+ onResize: () => void;
9
+ onResizeStop: (e: any, direction: any, ref: HTMLElement) => void;
10
+ enable: {
11
+ top: boolean | undefined;
12
+ bottom: boolean | undefined;
13
+ left: boolean | undefined;
14
+ right: boolean | undefined;
15
+ topLeft: boolean;
16
+ ropRight: boolean;
17
+ bottomLeft: boolean;
18
+ bottomRight: boolean;
10
19
  };
20
+ handleClasses: {
21
+ right: string;
22
+ bottom: string;
23
+ };
24
+ minWidth: string | number | undefined;
25
+ maxWidth: string | number | undefined;
26
+ minHeight: string | number | undefined;
27
+ maxHeight: string | number | undefined;
11
28
  };
12
29
  export default useDrag;
@@ -0,0 +1,12 @@
1
+ import { EdgeDirection, ResizableDirection } from '../types/interface';
2
+ declare const useDraggingAllowed: (direction?: ResizableDirection, enableEdges?: EdgeDirection[]) => {
3
+ top: boolean | undefined;
4
+ bottom: boolean | undefined;
5
+ left: boolean | undefined;
6
+ right: boolean | undefined;
7
+ topLeft: boolean;
8
+ ropRight: boolean;
9
+ bottomLeft: boolean;
10
+ bottomRight: boolean;
11
+ };
12
+ export default useDraggingAllowed;
@@ -1,23 +1,12 @@
1
- import { RefObject } from 'react';
2
- declare const useUpdateHeight: (containerRef: RefObject<HTMLDivElement>, minTopHeight: number, minBottomHeight: number, defaultHeight: number, cacheKey: string) => {
3
- topHeight: number;
4
- bottomHeight: number;
5
- position: {
6
- x: number;
7
- y: number;
8
- };
9
- bounds: {
10
- top: number;
11
- bottom: number;
12
- };
13
- topStyle: {
14
- height: string;
15
- };
16
- bottomStyle: {
17
- height: string;
18
- };
19
- updateELHeight: (newTopHeight: number) => void;
20
- setBottomHeightToZero: () => void;
21
- setTopHeightToZero: () => void;
1
+ import { DragProps } from '../types/interface';
2
+ declare const useUpdateHeight: ({ containerRef, direction, defaultHeight, defaultWidth, minTopHeight, minBottomHeight, minLeftWidth, minRightWidth, localKey, }: DragProps) => {
3
+ width: string | number;
4
+ height: string | number;
5
+ minWidth: string | number | undefined;
6
+ minHeight: string | number | undefined;
7
+ maxWidth: string | number | undefined;
8
+ maxHeight: string | number | undefined;
9
+ updateWidth: (width: number) => void;
10
+ updateHeight: (height: number) => void;
22
11
  };
23
12
  export default useUpdateHeight;
@@ -1,15 +1,22 @@
1
1
  import { ReactElement, RefObject } from 'react';
2
+ export type ResizableDirection = 'horizontal' | 'vertical';
3
+ export type EdgeDirection = 'top' | 'bottom' | 'left' | 'right';
2
4
  interface Common {
5
+ direction?: ResizableDirection;
6
+ defaultWidth?: number;
3
7
  defaultHeight?: number;
4
- minTopHeight?: number;
5
- minBottomHeight?: number;
6
- axis?: 'x' | 'y';
8
+ minTopHeight?: number | string;
9
+ minBottomHeight?: number | string;
10
+ minLeftWidth?: number | string;
11
+ minRightWidth?: number | string;
7
12
  localKey?: string;
8
- customDivider?: ReactElement;
9
- isShortcutButton?: boolean;
13
+ enableEdges?: EdgeDirection[];
14
+ onResizeStart?: () => void;
15
+ onResize?: () => void;
16
+ onResizeStop?: () => void;
10
17
  }
11
18
  export interface DynamicResizerProps extends Common {
12
- children: ReactElement[] | Element[] | Boolean[];
19
+ children: ReactElement[];
13
20
  }
14
21
  export interface DragProps extends Common {
15
22
  containerRef: RefObject<HTMLDivElement>;
@@ -0,0 +1,4 @@
1
+ export declare const isValidSize: (value: any) => boolean;
2
+ export declare const calcMaxSize: (curSize: number | string, limitSize: number) => number;
3
+ export declare const calcMinSize: (curSize: number | string, totalSize: number) => number;
4
+ export declare const adjustDefaultSize: (curSize: number | string | undefined, minPrimarySize: number | string, minSecondarySize: number | string, containerSize: number | undefined, defaultSize: number) => number;
@@ -12,7 +12,7 @@ interface IProps {
12
12
  openByText?: boolean;
13
13
  style?: CSSProperties;
14
14
  isToolTips?: boolean;
15
- wordCount?: number;
15
+ maxWordCount?: number;
16
16
  overflowMaxLines?: number;
17
17
  }
18
18
  declare const LongText: (props: IProps) => React.JSX.Element;
@@ -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$7=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$9=require("../index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),usePointCloudViews=require("../../../../components/pointCloudView/hooks/usePointCloudViews.js"),index$8=require("../../../../components/subAttributeList/index.js"),DynamicResizer=require("../../../../components/DynamicResizer/DynamicResizer.js"),_=require("lodash");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:o}=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(C=>C.trackID===d&&C.id!==(s==null?void 0:s.info.id)),g=(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 C=o({trackID:d});(p=n==null?void 0:n.topViewInstance)==null||p.updatePolygonList(C!=null?C:[]),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:()=>{g()},onPressEnter:()=>{g(!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:o,enableColorPicker:u})=>{const[c,v]=React.useState({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready}),{selectedBox:m}=useSingleBox.useSingleBox(),r=React.useContext(PointCloudContext.PointCloudContext),{ptSegmentInstance:a}=r,{t:g}=reactI18next.useTranslation(),{defaultAttribute:f}=useAttribute.useAttribute(),d=usePointCloudViews.usePointCloudViews(),{isPointCloudSegmentationPattern:p}=useStatus.useStatus(),C=ctx.useDispatch(),j={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"};React.useEffect(()=>{if(!!a)return a.on("syncPointCloudStatus",v),()=>{a.unbind("syncPointCloudStatus",v)}},[a]);const q=(l,x)=>{var b,P,E,w,D;const y=(b=i==null?void 0:i.attributeList)==null?void 0:b.map(S=>S.value===l?__spreadProps(__spreadValues({},S),{color:x}):S),T=__spreadProps(__spreadValues({},i),{attributeList:y}),A=JSON.stringify(T),N=s==null?void 0:s.map(S=>(S==null?void 0:S.step)===(o==null?void 0:o.step)?__spreadProps(__spreadValues({},S),{config:A}):S);(P=r==null?void 0:r.topViewInstance)==null||P.updateAttributeList(y),(E=r==null?void 0:r.sideViewInstance)==null||E.updateAttributeList(y),(w=r==null?void 0:r.backViewInstance)==null||w.updateAttributeList(y),(D=r==null?void 0:r.mainViewInstance)==null||D.setConfig(T),C(actionCreators.SetTaskStepList({stepList:N}))},I=l=>{d.updateViewsByDefaultSize&&d.updateViewsByDefaultSize(l)},h=l=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus})||n.setDefaultAttribute(l)},L=(l,x)=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus})||n.setSubAttribute(l,x)},B=e.map(l=>({label:l.key,value:l.value,color:l==null?void 0:l.color,limit:l==null?void 0:l.limit,isDefault:l==null?void 0:l.isDefault})),V=m||c.cacheSegData&&c.segmentStatus===lbUtils.EPointCloudSegmentStatus.Edit,k=p;return React__default.default.createElement("div",{style:{height:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},React__default.default.createElement("div",{style:j},g("Attribute")),React__default.default.createElement("div",{style:{height:0,flex:1,overflowY:"auto",overflowX:"hidden"}},React__default.default.createElement(index$7.default,{list:B,forbidDefault:!0,selectedAttribute:f!=null?f:"",attributeChanged:l=>h(l),updateColorConfig:q,enableColorPicker:u,updateSize:I,forbidShowLimitPopover:k}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),V&&React__default.default.createElement(index$8,{subAttributeList:t,setSubAttribute:L,getValue:l=>{var x,b,P,E;return((b=(x=r.selectedPointCloudBox)==null?void 0:x.subAttribute)==null?void 0:b[l.value])||((E=(P=c.cacheSegData)==null?void 0:P.subAttribute)==null?void 0:E[l.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 o=()=>{i("LassoSelector")},u=()=>{i("RectSelector")},c=()=>{i("CircleSelector")};return t.on("LassoSelector",o),t.on("RectSelector",u),t.on("CircleSelector",c),()=>{t.unbind("LassoSelector",o),t.unbind("RectSelector",u),t.unbind("CircleSelector",c)}},[t]),React__default.default.createElement("div",{className:`${index$9.sidebarCls}__level`},renderSegmentTools.map(o=>{const u=n===o.toolName;return React__default.default.createElement("span",{className:`${index$9.sidebarCls}__toolOption`,key:o.toolName,onClick:()=>t==null?void 0:t.emit(o.toolName)},React__default.default.createElement("img",{className:`${index$9.sidebarCls}__singleTool`,src:u?o==null?void 0:o.selectedSvg:o==null?void 0:o.commonSvg}),React__default.default.createElement("span",{className:index.classnames({[`${index$9.sidebarCls}__toolOption__selected`]:u})},s(o.toolName)))}))},PointCloudToolSidebar=({stepInfo:e,toolInstance:t,imgList:n,imgIndex:i,stepList:s,enableColorPicker:o})=>{var u,c;const{updatePointCloudPattern:v,pointCloudPattern:m,isPointCloudSegmentationPattern:r}=useStatus.useStatus(),a=index.jsonParser(e.config),g=(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:g,subAttributeList:f,config:a,stepList:s,stepInfo:e,enableColorPicker:o})):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:"id:"+(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:g,subAttributeList:f,config:a,stepList:s,stepInfo:e,enableColorPicker:o}),(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 o=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:o,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$7=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$9=require("../index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),usePointCloudViews=require("../../../../components/pointCloudView/hooks/usePointCloudViews.js"),index$8=require("../../../../components/subAttributeList/index.js"),DynamicResizer=require("../../../../components/DynamicResizer/DynamicResizer.js"),_=require("lodash");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:o}=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(C=>C.trackID===d&&C.id!==(s==null?void 0:s.info.id)),g=(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 C=o({trackID:d});(p=n==null?void 0:n.topViewInstance)==null||p.updatePolygonList(C!=null?C:[]),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:()=>{g()},onPressEnter:()=>{g(!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:o,enableColorPicker:u})=>{const[c,v]=React.useState({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready}),{selectedBox:m}=useSingleBox.useSingleBox(),r=React.useContext(PointCloudContext.PointCloudContext),{ptSegmentInstance:a}=r,{t:g}=reactI18next.useTranslation(),{defaultAttribute:f}=useAttribute.useAttribute(),d=usePointCloudViews.usePointCloudViews(),{isPointCloudSegmentationPattern:p}=useStatus.useStatus(),C=ctx.useDispatch(),j={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"};React.useEffect(()=>{if(!!a)return a.on("syncPointCloudStatus",v),()=>{a.unbind("syncPointCloudStatus",v)}},[a]);const q=(l,x)=>{var b,P,E,w,D;const y=(b=i==null?void 0:i.attributeList)==null?void 0:b.map(S=>S.value===l?__spreadProps(__spreadValues({},S),{color:x}):S),T=__spreadProps(__spreadValues({},i),{attributeList:y}),A=JSON.stringify(T),N=s==null?void 0:s.map(S=>(S==null?void 0:S.step)===(o==null?void 0:o.step)?__spreadProps(__spreadValues({},S),{config:A}):S);(P=r==null?void 0:r.topViewInstance)==null||P.updateAttributeList(y),(E=r==null?void 0:r.sideViewInstance)==null||E.updateAttributeList(y),(w=r==null?void 0:r.backViewInstance)==null||w.updateAttributeList(y),(D=r==null?void 0:r.mainViewInstance)==null||D.setConfig(T),C(actionCreators.SetTaskStepList({stepList:N}))},I=l=>{d.updateViewsByDefaultSize&&d.updateViewsByDefaultSize(l)},h=l=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus})||n.setDefaultAttribute(l)},L=(l,x)=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:c.segmentStatus})||n.setSubAttribute(l,x)},B=e.map(l=>({label:l.key,value:l.value,color:l==null?void 0:l.color,limit:l==null?void 0:l.limit,isDefault:l==null?void 0:l.isDefault})),V=m||c.cacheSegData&&c.segmentStatus===lbUtils.EPointCloudSegmentStatus.Edit,k=p;return React__default.default.createElement("div",{style:{height:"100%",overflow:"auto",display:"flex",flexDirection:"column"}},React__default.default.createElement("div",{style:j},g("Attribute")),React__default.default.createElement("div",{style:{height:0,flex:1,overflowY:"auto",overflowX:"hidden"}},React__default.default.createElement(index$7.default,{list:B,forbidDefault:!0,selectedAttribute:f!=null?f:"",attributeChanged:l=>h(l),updateColorConfig:q,enableColorPicker:u,updateSize:I,forbidShowLimitPopover:k}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),V&&React__default.default.createElement(index$8,{subAttributeList:t,setSubAttribute:L,getValue:l=>{var x,b,P,E;return((b=(x=r.selectedPointCloudBox)==null?void 0:x.subAttribute)==null?void 0:b[l.value])||((E=(P=c.cacheSegData)==null?void 0:P.subAttribute)==null?void 0:E[l.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 o=()=>{i("LassoSelector")},u=()=>{i("RectSelector")},c=()=>{i("CircleSelector")};return t.on("LassoSelector",o),t.on("RectSelector",u),t.on("CircleSelector",c),()=>{t.unbind("LassoSelector",o),t.unbind("RectSelector",u),t.unbind("CircleSelector",c)}},[t]),React__default.default.createElement("div",{className:`${index$9.sidebarCls}__level`},renderSegmentTools.map(o=>{const u=n===o.toolName;return React__default.default.createElement("span",{className:`${index$9.sidebarCls}__toolOption`,key:o.toolName,onClick:()=>t==null?void 0:t.emit(o.toolName)},React__default.default.createElement("img",{className:`${index$9.sidebarCls}__singleTool`,src:u?o==null?void 0:o.selectedSvg:o==null?void 0:o.commonSvg}),React__default.default.createElement("span",{className:index.classnames({[`${index$9.sidebarCls}__toolOption__selected`]:u})},s(o.toolName)))}))},PointCloudToolSidebar=({stepInfo:e,toolInstance:t,imgList:n,imgIndex:i,stepList:s,enableColorPicker:o})=>{var u,c;const{updatePointCloudPattern:v,pointCloudPattern:m,isPointCloudSegmentationPattern:r}=useStatus.useStatus(),a=index.jsonParser(e.config),g=(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:g,subAttributeList:f,config:a,stepList:s,stepInfo:e,enableColorPicker:o})):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:g,subAttributeList:f,config:a,stepList:s,stepInfo:e,enableColorPicker:o}),(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 o=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:o,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;