@labelbee/lb-components 1.16.1 → 1.17.0-alpha.10

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 (48) hide show
  1. package/dist/_virtual/_rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js +2 -0
  2. package/dist/_virtual/highlightSegmentWorker.js +1 -0
  3. package/dist/components/AnnotationView/index.js +1 -1
  4. package/dist/components/attributeList/index.js +1 -1
  5. package/dist/components/audioAnnotate/index.js +1 -1
  6. package/dist/components/pointCloudView/PointCloud2DSingleView.js +1 -1
  7. package/dist/components/pointCloudView/PointCloud2DView.js +1 -1
  8. package/dist/components/pointCloudView/PointCloudInfos.js +1 -1
  9. package/dist/components/pointCloudView/PointCloudSegment.js +1 -1
  10. package/dist/components/pointCloudView/PointCloudSegment2DView.js +1 -0
  11. package/dist/components/pointCloudView/PointCloudSegmentListener.js +1 -1
  12. package/dist/components/pointCloudView/PointCloudSegmentStatus.js +1 -1
  13. package/dist/components/pointCloudView/components/TitleButton/index.js +1 -1
  14. package/dist/components/pointCloudView/hooks/useAttribute.js +1 -1
  15. package/dist/components/pointCloudView/index.js +1 -1
  16. package/dist/index.css +7 -6
  17. package/dist/types/components/AnnotationView/index.d.ts +1 -0
  18. package/dist/types/components/attributeList/index.d.ts +1 -0
  19. package/dist/types/components/pointCloudView/PointCloud2DView.d.ts +1 -1
  20. package/dist/types/components/pointCloudView/PointCloudContext.d.ts +1 -1
  21. package/dist/types/components/pointCloudView/PointCloudSegment2DView.d.ts +7 -0
  22. package/dist/types/components/pointCloudView/PointCloudSegmentStatus.d.ts +4 -1
  23. package/dist/types/components/pointCloudView/components/TitleButton/index.d.ts +1 -1
  24. package/dist/types/components/pointCloudView/hooks/useAttribute.d.ts +1 -0
  25. package/dist/types/components/pointCloudView/hooks/useHighlight.d.ts +1 -1
  26. package/dist/utils/index.js +1 -1
  27. package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  28. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +1 -1
  29. package/es/_virtual/_rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js +2 -0
  30. package/es/_virtual/highlightSegmentWorker.js +1 -0
  31. package/es/components/AnnotationView/index.js +1 -1
  32. package/es/components/attributeList/index.js +1 -1
  33. package/es/components/audioAnnotate/index.js +1 -1
  34. package/es/components/pointCloudView/PointCloud2DSingleView.js +1 -1
  35. package/es/components/pointCloudView/PointCloud2DView.js +1 -1
  36. package/es/components/pointCloudView/PointCloudInfos.js +1 -1
  37. package/es/components/pointCloudView/PointCloudSegment.js +1 -1
  38. package/es/components/pointCloudView/PointCloudSegment2DView.js +1 -0
  39. package/es/components/pointCloudView/PointCloudSegmentListener.js +1 -1
  40. package/es/components/pointCloudView/PointCloudSegmentStatus.js +1 -1
  41. package/es/components/pointCloudView/components/TitleButton/index.js +1 -1
  42. package/es/components/pointCloudView/hooks/useAttribute.js +1 -1
  43. package/es/components/pointCloudView/index.js +1 -1
  44. package/es/index.css +7 -6
  45. package/es/utils/index.js +1 -1
  46. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  47. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/pointCloud/index.js +1 -1
  48. package/package.json +4 -3
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});function decodeBase64(o,n){var r=atob(o);if(n){for(var e=new Uint8Array(r.length),t=0,a=r.length;t<a;++t)e[t]=r.charCodeAt(t);return String.fromCharCode.apply(null,new Uint16Array(e.buffer))}return r}function createURL(o,n,r){var e=n===void 0?null:n,t=r===void 0?!1:r,a=decodeBase64(o,t),u=a.indexOf(`
2
+ `,10)+1,c=a.substring(u)+(e?"//# sourceMappingURL="+e:""),i=new Blob([c],{type:"application/javascript"});return URL.createObjectURL(i)}function createBase64WorkerFactory(o,n,r){var e;return function(a){return e=e||createURL(o,n,r),new Worker(e,a)}}exports.createBase64WorkerFactory=createBase64WorkerFactory;
@@ -0,0 +1 @@
1
+ "use strict";var _rollupPluginWebWorkerLoader__helper__browser__createBase64WorkerFactory=require("./_rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js"),WorkerFactory=_rollupPluginWebWorkerLoader__helper__browser__createBase64WorkerFactory.createBase64WorkerFactory("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGM9T2JqZWN0LmRlZmluZVByb3BlcnR5LG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxsPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksZj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGE9KHIsZSx0KT0+ZSBpbiByP2MocixlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSk6cltlXT10LHU9KHIsZSk9Pntmb3IodmFyIHQgaW4gZXx8KGU9e30pKWwuY2FsbChlLHQpJiZhKHIsdCxlW3RdKTtpZihvKWZvcih2YXIgdCBvZiBvKGUpKWYuY2FsbChlLHQpJiZhKHIsdCxlW3RdKTtyZXR1cm4gcn07b25tZXNzYWdlPWZ1bmN0aW9uKGUpe2NvbnN0e2NhY2hlTWFwOnQsaW5kZXhlczpzLGRlZmF1bHRSR0JBOl99PWUuZGF0YSxkPXMubGVuZ3RoLHA9W107Zm9yKGxldCBuPTA7bjxkO249bisxKXtjb25zdCBpPXRbc1tuXV07aSYmcC5wdXNoKHUoe30saSkpfXBvc3RNZXNzYWdlKHthbm5vdGF0aW9uczpbe3R5cGU6InBpeGVsUG9pbnRzIixhbm5vdGF0aW9uOnAsZGVmYXVsdFJHQkE6X31dfSl9fSkoKTsKCg==",null,!1);module.exports=WorkerFactory;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),es=require("antd/es"),useRefCache=require("../../hooks/useRefCache.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,t,o)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,__spreadValues=(e,t)=>{for(var o in t||(t={}))__hasOwnProp.call(t,o)&&__defNormalProp(e,o,t[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(t))__propIsEnum.call(t,o)&&__defNormalProp(e,o,t[o]);return e};const DEFAULT_SIZE={width:455,height:100},sizeInitialized=e=>{if(!e)return DEFAULT_SIZE;if(e.width&&e.height)return e;const t=__spreadValues({},e);return t.width||(t.width=DEFAULT_SIZE.width),t.height||(t.height=DEFAULT_SIZE.height),t},AnnotationView=(e,t)=>{var o,h;const{src:g,annotations:l=[],style:m={stroke:"blue",thickness:3},zoomChange:s,backgroundStyle:w={},onChange:c,showLoading:p=!1,globalStyle:b,afterImgOnLoad:y}=e,f=sizeInitialized(e.size),[I,d]=React.useState(!1),v=React.useRef(null),r=React.useRef(),_=useRefCache(y);React.useImperativeHandle(t,()=>{const n=r.current;return n?{zoomIn:()=>n.zoomChanged(!0),zoomOut:()=>n.zoomChanged(!1),initImgPos:()=>n.initImgPos(),toolInstance:n}:{}},[r.current]),React.useEffect(()=>(v.current&&(r.current=new lbAnnotation.ViewOperation({container:v.current,size:f,style:m,annotations:l,config:"{}",zoomInfo:e.zoomInfo}),r.current.init()),()=>{var n;(n=r.current)==null||n.destroy()}),[]),React.useEffect(()=>{var n;r.current&&(d(!0),(n=r.current)==null||n.setLoading(!0),lbAnnotation.ImgUtils.load(g).then(i=>{var a,u;(a=r.current)==null||a.setLoading(!1),d(!1),(u=r.current)==null||u.setImgNode(i),_.current&&_.current(i)}).catch(()=>{var i;(i=r.current)==null||i.setLoading(!1),d(!1)}))},[g]),React.useEffect(()=>{r.current&&r.current.updateData(l)},[l]),React.useEffect(()=>{const n=r.current;(n==null?void 0:n.setSize)&&(n.setSize(f),n.initPosition())},[(o=e.size)==null?void 0:o.width,(h=e.size)==null?void 0:h.height]),React.useEffect(()=>{var n,i;return r.current&&((n=r.current)==null||n.on("onChange",(...a)=>{c==null||c.apply(null,a)}),(i=r.current)==null||i.on("renderZoom",a=>{s&&s(a)})),()=>{var a,u;(a=r.current)==null||a.unbindAll("onChange"),(u=r.current)==null||u.unbindAll("renderZoom")}},[s,c]);const O=React__default.default.createElement("div",{ref:v,style:__spreadValues(__spreadValues({position:"relative"},f),w)});return React__default.default.createElement(es.Spin,{spinning:p||I,delay:300,style:b},O)};var AnnotationView$1=React__default.default.forwardRef(AnnotationView);module.exports=AnnotationView$1;
1
+ "use strict";var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),es=require("antd/es"),useRefCache=require("../../hooks/useRefCache.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,n,a)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[n]=a,__spreadValues=(e,n)=>{for(var a in n||(n={}))__hasOwnProp.call(n,a)&&__defNormalProp(e,a,n[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(n))__propIsEnum.call(n,a)&&__defNormalProp(e,a,n[a]);return e};const DEFAULT_SIZE={width:455,height:100},sizeInitialized=e=>{if(!e)return DEFAULT_SIZE;if(e.width&&e.height)return e;const n=__spreadValues({},e);return n.width||(n.width=DEFAULT_SIZE.width),n.height||(n.height=DEFAULT_SIZE.height),n},AnnotationView=(e,n)=>{var a,_;const{src:m,annotations:c=[],style:w={stroke:"blue",thickness:3},zoomChange:f,backgroundStyle:b={},onChange:d,showLoading:y=!1,globalStyle:I,afterImgOnLoad:R}=e,h=sizeInitialized(e.size),[O,v]=React.useState(!1),g=React.useRef(null),r=React.useRef(),p=useRefCache(R),l=React.useRef([]),s=React.useRef(!0);React.useImperativeHandle(n,()=>{const t=r.current;return t?{zoomIn:()=>t.zoomChanged(!0),zoomOut:()=>t.zoomChanged(!1),initImgPos:()=>t.initImgPos(),toolInstance:t}:{}},[r.current]),React.useEffect(()=>(g.current&&(r.current=new lbAnnotation.ViewOperation({container:g.current,size:h,style:w,annotations:c,config:"{}",zoomInfo:e.zoomInfo,staticMode:e.staticMode}),r.current.init()),()=>{var t;(t=r.current)==null||t.destroy()}),[]),React.useEffect(()=>{var t;r.current&&(v(!0),(t=r.current)==null||t.setLoading(!0),lbAnnotation.ImgUtils.load(m).then(i=>{var o,u;(o=r.current)==null||o.setLoading(!1),v(!1),(u=r.current)==null||u.setImgNode(i),p.current&&p.current(i)}).catch(()=>{var i;(i=r.current)==null||i.setLoading(!1),v(!1)}))},[m]),React.useEffect(()=>{if(s.current===!1){l.current.push(c);return}const t=()=>{s.current=!0,l.current=[]},i=()=>{var o;const u=l.current.length;if(u>0){const E=l.current[u-1];l.current=[],(o=r.current)==null||o.updateData(E).then(i).catch(t)}else s.current=!0};r.current&&(s.current=!1,r.current.updateData(c).then(i).catch(t))},[c]),React.useEffect(()=>{const t=r.current;(t==null?void 0:t.setSize)&&(t.setSize(h),t.initPosition())},[(a=e.size)==null?void 0:a.width,(_=e.size)==null?void 0:_.height]),React.useEffect(()=>{var t,i;return r.current&&((t=r.current)==null||t.on("onChange",(...o)=>{d==null||d.apply(null,o)}),(i=r.current)==null||i.on("renderZoom",o=>{f&&f(o)})),()=>{var o,u;(o=r.current)==null||o.unbindAll("onChange"),(u=r.current)==null||u.unbindAll("renderZoom")}},[f,d]);const z=React__default.default.createElement("div",{ref:g,style:__spreadValues(__spreadValues({position:"relative"},h),b)});return React__default.default.createElement(es.Spin,{spinning:y||O,delay:300,style:I},z)};var AnnotationView$1=React__default.default.forwardRef(AnnotationView);module.exports=AnnotationView$1;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var Style=require("../../data/Style.js"),index$1=require("../colorTag/index.js"),es=require("antd/es"),React=require("react"),antd=require("antd"),index=require("../colorPalette/index.js"),icons=require("@ant-design/icons"),reactI18next=require("react-i18next"),index$2=require("./components/limitPopover/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const ATTRIBUTE_COLORS=[Style.NULL_COLOR].concat(Style.COLORS_ARRAY),AttributeList=React__default.default.forwardRef((e,v)=>{const m=React__default.default.useRef(),{t:C}=reactI18next.useTranslation(),b=e.list||[],[g,o]=React.useState(!1),[R,E]=React.useState(void 0);let i=[...ATTRIBUTE_COLORS];e.forbidDefault===!0&&(i=i.slice(1));let r="sensebee-radio-group";e.noHeightLimit&&(r="sensebee-radio-group-no-limit-height");const L=(t,l)=>{e.updateColorConfig&&e.updateColorConfig(t,l)};return React__default.default.createElement("div",{className:r,style:e.style},React__default.default.createElement(es.Radio.Group,{name:"radiogroup",defaultValue:e==null?void 0:e.selectedAttribute,value:e==null?void 0:e.selectedAttribute,onChange:t=>e.attributeChanged(t.target.value),ref:v},b.map((t,l)=>{var d,c,s;let a=(d=e==null?void 0:e.num)!=null?d:l;const O=(t==null?void 0:t.value)===(e==null?void 0:e.selectedAttribute);e.forbidDefault===!0&&typeof a=="number"&&a++,typeof a=="number"&&a<=9&&a>=0||(a="-");let u=l>8&&!e.forbidDefault?Style.COLORS_ARRAY[(l-1)%Style.COLORS_ARRAY.length]:i[l%i.length];(t==null?void 0:t.color)&&(u=t.color);const{defaultSize:_,logicalCondition:f,sizeRange:h}=((c=t==null?void 0:t.limit)==null?void 0:c.sizeLimit)||{},y=((s=t==null?void 0:t.limit)==null?void 0:s.positionLimit)||_||h||(f==null?void 0:f.length)>0,A=O&&y;return React__default.default.createElement(es.Radio,{value:t.value,ref:m,key:t.label+l},React__default.default.createElement("span",{className:"sensebee-radio-label",title:t.label},!(e==null?void 0:e.forbidColor)&&React__default.default.createElement(antd.Popover,{content:React__default.default.createElement(index,{defaultColor:u,setColor:n=>L(t.value,n)}),title:React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},React__default.default.createElement("span",null,C("Palette")),React__default.default.createElement(icons.CloseOutlined,{onClick:()=>o(!1)})),visible:g&&R===l,onVisibleChange:n=>{!n||o(n)}},React__default.default.createElement(index$1.ColorTag,{color:u,style:{cursor:"pointer",marginRight:"8px"},onClick:()=>{(e==null?void 0:e.enableColorPicker)&&(E(l),o(!0))}})),t.label),A&&React__default.default.createElement(index$2,{limit:t.limit,updateSize:e==null?void 0:e.updateSize}),React__default.default.createElement("span",{className:"sensebee-radio-num"},a))})))});exports.ATTRIBUTE_COLORS=ATTRIBUTE_COLORS,exports.default=AttributeList;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var Style=require("../../data/Style.js"),index$1=require("../colorTag/index.js"),es=require("antd/es"),React=require("react"),antd=require("antd"),index=require("../colorPalette/index.js"),icons=require("@ant-design/icons"),reactI18next=require("react-i18next"),index$2=require("./components/limitPopover/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const ATTRIBUTE_COLORS=[Style.NULL_COLOR].concat(Style.COLORS_ARRAY),AttributeList=React__default.default.forwardRef((e,v)=>{const m=React__default.default.useRef(),{t:b}=reactI18next.useTranslation(),C=e.list||[],[g,o]=React.useState(!1),[R,E]=React.useState(void 0);let i=[...ATTRIBUTE_COLORS];e.forbidDefault===!0&&(i=i.slice(1));let r="sensebee-radio-group";e.noHeightLimit&&(r="sensebee-radio-group-no-limit-height");const L=(t,l)=>{e.updateColorConfig&&e.updateColorConfig(t,l)};return React__default.default.createElement("div",{className:r,style:e.style},React__default.default.createElement(es.Radio.Group,{name:"radiogroup",defaultValue:e==null?void 0:e.selectedAttribute,value:e==null?void 0:e.selectedAttribute,onChange:t=>e.attributeChanged(t.target.value),ref:v},C.map((t,l)=>{var d,c,s;let a=(d=e==null?void 0:e.num)!=null?d:l;const h=(t==null?void 0:t.value)===(e==null?void 0:e.selectedAttribute);e.forbidDefault===!0&&typeof a=="number"&&a++,typeof a=="number"&&a<=9&&a>=0||(a="-");let u=l>8&&!e.forbidDefault?Style.COLORS_ARRAY[(l-1)%Style.COLORS_ARRAY.length]:i[l%i.length];(t==null?void 0:t.color)&&(u=t.color);const{defaultSize:O,logicalCondition:f,sizeRange:_}=((c=t==null?void 0:t.limit)==null?void 0:c.sizeLimit)||{},y=((s=t==null?void 0:t.limit)==null?void 0:s.positionLimit)||O||_||(f==null?void 0:f.length)>0,S=h&&y&&e.forbidShowLimitPopover!==!0;return React__default.default.createElement(es.Radio,{value:t.value,ref:m,key:t.label+l},React__default.default.createElement("span",{className:"sensebee-radio-label",title:t.label},!(e==null?void 0:e.forbidColor)&&React__default.default.createElement(antd.Popover,{content:React__default.default.createElement(index,{defaultColor:u,setColor:n=>L(t.value,n)}),title:React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},React__default.default.createElement("span",null,b("Palette")),React__default.default.createElement(icons.CloseOutlined,{onClick:()=>o(!1)})),visible:g&&R===l,onVisibleChange:n=>{!n||o(n)}},React__default.default.createElement(index$1.ColorTag,{color:u,style:{cursor:"pointer",marginRight:"8px"},onClick:()=>{(e==null?void 0:e.enableColorPicker)&&(E(l),o(!0))}})),t.label),S&&React__default.default.createElement(index$2,{limit:t.limit,updateSize:e==null?void 0:e.updateSize}),React__default.default.createElement("span",{className:"sensebee-radio-num"},a))})))});exports.ATTRIBUTE_COLORS=ATTRIBUTE_COLORS,exports.default=AttributeList;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),index$3=require("../audioPlayer/index.js"),dom=require("../../utils/dom.js"),index$4=require("../predictTracking/previewResult/index.js"),es=require("antd/es"),antd=require("antd"),index$5=require("../../constant/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),index_module=require("./index.module.scss.js"),index$2=require("./tagResultShow/index.js"),index$1=require("./audioContext/index.js"),index$6=require("./textInput/index.js"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),annotation=require("../../hooks/annotation.js"),index$7=require("../../views/MainView/sidebar/index.js"),index$8=require("./audioSide/labelSidebar/index.js"),index$9=require("./audioSide/clipSidebar/index.js"),tag=require("../../assets/annotation/audio/tag.svg.js"),tagA=require("../../assets/annotation/audio/tagA.svg.js"),clip=require("../../assets/annotation/audio/clip.svg.js"),clipA=require("../../assets/annotation/audio/clipA.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,a)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,__spreadValues=(e,t)=>{for(var a in t||(t={}))__hasOwnProp.call(t,a)&&__defNormalProp(e,a,t[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(t))__propIsEnum.call(t,a)&&__defNormalProp(e,a,t[a]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const{EAudioToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,{Sider,Content}=es.Layout,layoutCls=`${index$5.prefix}-layout`,ToggleAudioOption=({setSideTab:e,sideTab:t})=>{const a=[{tab:"tag",commonSvg:tag,selectedSvg:tagA},{tab:"clip",commonSvg:clip,selectedSvg:clipA}];return React__default.default.createElement("div",{className:index_module.toggleAudioOption},a.map((f,b)=>{const{tab:u,selectedSvg:x,commonSvg:S}=f;return React__default.default.createElement("div",{key:b,className:index_module.option},React__default.default.createElement("img",{className:index_module.icon,src:t===u?x:S,onClick:()=>{t!==u&&e(u)}}))}))},AudioTextToolTextarea=({result:e,inputDisabled:t,updateText:a,configList:f,autofocus:b,preContext:u,isCheck:x,clipAttributeConfigurable:S,clipTextConfigurable:q,textConfigurable:v,updateRegion:y,clipAttributeList:d})=>React__default.default.createElement("div",{className:index_module.textareaContainer},React__default.default.createElement("div",{className:index_module.textareaContent},React__default.default.createElement(index$6.default,{isCheck:x,result:e==null?void 0:e.value,textInputDisabled:t,textID:(e==null?void 0:e.id)||0,updateText:a,configList:f,autofocus:!t&&b,preContext:u,regions:e==null?void 0:e.regions,clipAttributeConfigurable:S,clipTextConfigurable:q,textConfigurable:v,updateRegion:y,clipAttributeList:d}))),AudioSideBar=e=>{var t,a;const{sider:f,config:b,result:u,updateTagResult:x,updateRegion:S,isEdit:q,tagConfigurable:v,clipConfigurable:y}=e;let d=(b==null?void 0:b.inputList)||[],E=(t=u==null?void 0:u.tag)!=null?t:{},i=(a=u==null?void 0:u.regions)!=null?a:[];const[M,L]=React.useState([]),[C,g]=React.useState("tag");React.useEffect(()=>{if(!v&&y){g("clip");return}g("tag")},[v,y]),React.useEffect(()=>(window.addEventListener("keydown",w),()=>{window.removeEventListener("keydown",w)}));const w=o=>{if(v&&y)switch(o.keyCode){case EKeyCode.L:g("tag");break;case EKeyCode.X:g("clip");break}if(C==="tag"){if(!lbAnnotation.CommonToolUtils.hotkeyFilter(o))return;lbAnnotation.CommonToolUtils.isMoveKey(o==null?void 0:o.keyCode)&&o.preventDefault();let l=o.keyCode;if(l&&(l<=57&&l>=49||l<=105&&l>=97)){l>57?l=l-97:l=l-49;const s=M.slice();d.length===1?(_(0,l),L([0,l]),setTimeout(()=>{L([])},500)):s.length===1?(_(s[0],l),L([s[0],l]),setTimeout(()=>{L([])},500)):L([l])}}},_=(o,l)=>{if(o<d.length&&d[o].subSelected&&l<d[o].subSelected.length){const s=d[o].value,p=d[o].isMulti;let T=d[o].subSelected[l].value,U=0;const I=E;for(const N in E)if(N===d[o].value){if(U++,p===!0){const j=I[N].split(";").filter(k=>k!==""),$=j.indexOf(T);$===-1?j.push(T):j.splice($,1),T=j.join(";")}T===""?delete I[N]:I[N]=T}U===0&&Object.assign(E,{[s]:T}),x(E)}},P=o=>{delete E[o],x(E)},h=v&&y&&React__default.default.createElement(ToggleAudioOption,{setSideTab:g,sideTab:C}),A=C==="tag"&&React__default.default.createElement(index$8.default,{labelInfoSet:v?d:[],labelSelectedList:M,setLabel:_,tagResult:E,clearResult:P,isEdit:q,withPanelTab:!1}),O=C==="clip"&&React__default.default.createElement(index$9,{regions:i,updateRegion:S,useAudioClipStore:index$1.useAudioClipStore});return f?typeof f=="function"?React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},f({toggleAudioOption:h,labelSidebar:A,clipSidebar:O})):f:React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},React__default.default.createElement("div",{className:`${index$7.sidebarCls}__content`},h,A,O))},AudioAnnotate=e=>{var t,a,f,b,u,x,S,q,v;const y=(a=(t=e.style)==null?void 0:t.sider)==null?void 0:a.width,{step:d,stepList:E,audioContext:i,sider:M,drawLayerSlot:L,imgList:C,imgIndex:g,currentData:w,config:_,stepInfo:P}=e,h=lbAnnotation.CommonToolUtils.getCurrentStepToolAndConfig(d,E),A=index.jsonParser(w.result),{toolInstanceRef:O}=annotation.useCustomToolInstance({basicInfo:A}),[o,l]=React.useState(!0),[s,p]=React.useState(null),[T,U]=React.useState(!1),[I,N]=React.useState(0);React.useEffect(()=>{l(!0),U(!0)},[g]),React.useEffect(()=>{o===!1&&te()},[o]),React.useEffect(()=>{O.current.exportData=()=>[[s],{duration:I,valid:K}],O.current.setResult=re,O.current.clearResult=se},[s]);const j=React.useMemo(()=>{const n=A[`step_${P==null?void 0:P.step}`];return(n==null?void 0:n.result)||[]},[_,A,P]),{tagConfigurable:$,textConfigurable:k=!0,clipConfigurable:F=!1,clipAttributeConfigurable:W=!1,clipAttributeList:X=[],clipTextConfigurable:V=!1,inputList:H=[],configList:J=[]}=React.useMemo(()=>{if(h)return lbAnnotation.CommonToolUtils.jsonParser(h==null?void 0:h.config)},[h]),Q={clipConfigurable:F,clipAttributeConfigurable:W,clipAttributeList:X,clipTextConfigurable:V},K=i?i==null?void 0:i.valid:!0,Y=(b=(f=lbAnnotation.CommonToolUtils.jsonParser(w.result))==null?void 0:f.duration)!=null?b:0,Z=K?Y:0,ee=!K||o||![k,V].includes(!0);let z={};if(g!==-1&&(C==null?void 0:C.length)){const n=(u=C[g])==null?void 0:u.preResult,r=(i==null?void 0:i.isEdit)?(x=i==null?void 0:i.stepConfig)==null?void 0:x.loadPreStep:P==null?void 0:P.loadPreStep;if(n&&r){const c=lbAnnotation.CommonToolUtils.jsonParser(n),m=(q=(S=c==null?void 0:c.config)==null?void 0:S.context)!=null?q:{};Object.keys(m).forEach(R=>{R&&m[R]&&(z[R]={visible:!0,content:m[R],type:R})})}}const te=()=>{(j==null?void 0:j.length)>0?p(j[0]):p({id:lbAnnotation.uuid(),sourceID:"",value:G(),tag:ne(),regions:[]})},G=(n=!0)=>{const r={};let c=_.configList||[];return c.length>0&&c.forEach(m=>{r[m.key]=n&&m.default||""}),r},ne=()=>lbAnnotation.TagUtils.getDefaultResultByConfig(_.inputList||[]),oe=({duration:n,hasError:r})=>{l(!1),N(n)},le=n=>{p(r=>__spreadProps(__spreadValues({},r),{regions:((r==null?void 0:r.regions)||[]).filter(c=>c.id!==n)}))},B=n=>{p(r=>{var c;const m=(c=r==null?void 0:r.regions)!=null?c:[],{id:R}=n;return m.find(D=>D.id===R)?__spreadProps(__spreadValues({},r),{regions:m.map(D=>R===D.id?__spreadValues(__spreadValues({},D),n):D)}):__spreadProps(__spreadValues({},r),{regions:[...m,n]})})},ae=(n,r)=>{p(c=>__spreadProps(__spreadValues({},c),{value:__spreadProps(__spreadValues({},c.value),{[r]:n})}))},ie=n=>{p(r=>__spreadProps(__spreadValues({},r),{tag:n}))},re=n=>{p(n)},se=()=>{p(n=>__spreadProps(__spreadValues({},n),{value:G(),tag:{},regions:[]}))};return React__default.default.createElement(index$1.AudioClipProvider,null,React__default.default.createElement(antd.Spin,{spinning:o,wrapperClassName:"audio-tool-spinner"},React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container"),style:{height:"100%"}},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:`${layoutCls}__content`},React__default.default.createElement("div",{className:index_module.containerWrapper},React__default.default.createElement("div",{className:index_module.audioWrapper},$&&React__default.default.createElement(index$2,{result:s==null?void 0:s.tag,labelInfoSet:H,hasPromptLayer:!!(i==null?void 0:i.promptLayer)}),i==null?void 0:i.promptLayer,React__default.default.createElement(index$3.AudioPlayer,__spreadValues({context:{isEdit:i==null?void 0:i.isEdit,count:Z,toolName:EAudioToolName.AudioTextTool,imgIndex:g},drawLayerSlot:L,fileData:w,onLoaded:oe,invalid:!K,updateRegion:B,removeRegion:le,regions:s==null?void 0:s.regions,activeToolPanel:i==null?void 0:i.activeToolPanel,footer:e.footer},Q))),(k||V)&&React__default.default.createElement(AudioTextToolTextarea,{preContext:z,result:s,inputDisabled:ee,updateText:ae,updateRegion:B,configList:J,autofocus:T,textConfigurable:k,clipTextConfigurable:V,clipAttributeList:X,clipAttributeConfigurable:W}))),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:y!=null?y:240,style:(v=e.style)==null?void 0:v.sider},React__default.default.createElement(AudioSideBar,{sider:M,config:_,result:s,updateTagResult:ie,updateRegion:B,isEdit:i==null?void 0:i.isEdit,tagConfigurable:$,clipConfigurable:F})),React__default.default.createElement(index$4,null))))};var AudioAnnotate$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(AudioAnnotate);module.exports=AudioAnnotate$1;
1
+ "use strict";var React=require("react"),index$3=require("../audioPlayer/index.js"),dom=require("../../utils/dom.js"),index$4=require("../predictTracking/previewResult/index.js"),es=require("antd/es"),antd=require("antd"),index$5=require("../../constant/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),index_module=require("./index.module.scss.js"),index$2=require("./tagResultShow/index.js"),index$1=require("./audioContext/index.js"),index$6=require("./textInput/index.js"),reactRedux=require("react-redux"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),index=require("../../utils/index.js"),annotation=require("../../hooks/annotation.js"),index$7=require("../../views/MainView/sidebar/index.js"),index$8=require("./audioSide/labelSidebar/index.js"),index$9=require("./audioSide/clipSidebar/index.js"),tag=require("../../assets/annotation/audio/tag.svg.js"),tagA=require("../../assets/annotation/audio/tagA.svg.js"),clip=require("../../assets/annotation/audio/clip.svg.js"),clipA=require("../../assets/annotation/audio/clipA.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,a)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,__spreadValues=(e,t)=>{for(var a in t||(t={}))__hasOwnProp.call(t,a)&&__defNormalProp(e,a,t[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(t))__propIsEnum.call(t,a)&&__defNormalProp(e,a,t[a]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const{EAudioToolName}=lbAnnotation.cTool,EKeyCode=lbAnnotation.cKeyCode.default,{Sider,Content}=es.Layout,layoutCls=`${index$5.prefix}-layout`,ToggleAudioOption=({setSideTab:e,sideTab:t})=>{const a=[{tab:"tag",commonSvg:tag,selectedSvg:tagA},{tab:"clip",commonSvg:clip,selectedSvg:clipA}];return React__default.default.createElement("div",{className:index_module.toggleAudioOption},a.map((f,b)=>{const{tab:u,selectedSvg:x,commonSvg:S}=f;return React__default.default.createElement("div",{key:b,className:index_module.option},React__default.default.createElement("img",{className:index_module.icon,src:t===u?x:S,onClick:()=>{t!==u&&e(u)}}))}))},AudioTextToolTextarea=({result:e,inputDisabled:t,updateText:a,configList:f,autofocus:b,preContext:u,isCheck:x,clipAttributeConfigurable:S,clipTextConfigurable:A,textConfigurable:v,updateRegion:y,clipAttributeList:d})=>React__default.default.createElement("div",{className:index_module.textareaContainer},React__default.default.createElement("div",{className:index_module.textareaContent},React__default.default.createElement(index$6.default,{isCheck:x,result:e==null?void 0:e.value,textInputDisabled:t,textID:(e==null?void 0:e.id)||0,updateText:a,configList:f,autofocus:!t&&b,preContext:u,regions:e==null?void 0:e.regions,clipAttributeConfigurable:S,clipTextConfigurable:A,textConfigurable:v,updateRegion:y,clipAttributeList:d}))),AudioSideBar=e=>{var t,a;const{sider:f,config:b,result:u,updateTagResult:x,updateRegion:S,isEdit:A,tagConfigurable:v,clipConfigurable:y}=e;let d=(b==null?void 0:b.inputList)||[],E=(t=u==null?void 0:u.tag)!=null?t:{},i=(a=u==null?void 0:u.regions)!=null?a:[];const[D,L]=React.useState([]),[C,g]=React.useState("tag");React.useEffect(()=>{if(!v&&y){g("clip");return}g("tag")},[v,y]),React.useEffect(()=>(window.addEventListener("keydown",O),()=>{window.removeEventListener("keydown",O)}));const O=o=>{if(v&&y)switch(o.keyCode){case EKeyCode.L:g("tag");break;case EKeyCode.X:g("clip");break}if(C==="tag"){if(!lbAnnotation.CommonToolUtils.hotkeyFilter(o))return;lbAnnotation.CommonToolUtils.isMoveKey(o==null?void 0:o.keyCode)&&o.preventDefault();let l=o.keyCode;if(l&&(l<=57&&l>=49||l<=105&&l>=97)){l>57?l=l-97:l=l-49;const s=D.slice();d.length===1?(_(0,l),L([0,l]),setTimeout(()=>{L([])},500)):s.length===1?(_(s[0],l),L([s[0],l]),setTimeout(()=>{L([])},500)):L([l])}}},_=(o,l)=>{if(o<d.length&&d[o].subSelected&&l<d[o].subSelected.length){const s=d[o].value,p=d[o].isMulti;let T=d[o].subSelected[l].value,M=0;const q=E;for(const w in E)if(w===d[o].value){if(M++,p===!0){const j=q[w].split(";").filter(U=>U!==""),$=j.indexOf(T);$===-1?j.push(T):j.splice($,1),T=j.join(";")}T===""?delete q[w]:q[w]=T}M===0&&Object.assign(E,{[s]:T}),x(E)}},P=o=>{delete E[o],x(E)},h=v&&y&&React__default.default.createElement(ToggleAudioOption,{setSideTab:g,sideTab:C}),N=C==="tag"&&React__default.default.createElement(index$8.default,{labelInfoSet:v?d:[],labelSelectedList:D,setLabel:_,tagResult:E,clearResult:P,isEdit:A,withPanelTab:!1}),I=C==="clip"&&React__default.default.createElement(index$9,{regions:i,updateRegion:S,useAudioClipStore:index$1.useAudioClipStore});return f?typeof f=="function"?React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},f({toggleAudioOption:h,labelSidebar:N,clipSidebar:I})):f:React__default.default.createElement("div",{className:`${index$7.sidebarCls}`},React__default.default.createElement("div",{className:`${index$7.sidebarCls}__content`},h,N,I))},AudioAnnotate=e=>{var t,a,f,b,u,x,S,A,v;const y=(a=(t=e.style)==null?void 0:t.sider)==null?void 0:a.width,{step:d,stepList:E,audioContext:i,sider:D,drawLayerSlot:L,imgList:C,imgIndex:g,currentData:O,config:_,stepInfo:P}=e,h=lbAnnotation.CommonToolUtils.getCurrentStepToolAndConfig(d,E),N=index.jsonParser(O.result),{toolInstanceRef:I}=annotation.useCustomToolInstance({basicInfo:N}),[o,l]=React.useState(!0),[s,p]=React.useState(null),[T,M]=React.useState(!1);React.useEffect(()=>{l(!0),M(!0)},[g]),React.useEffect(()=>{o===!1&&Z()},[o]),React.useEffect(()=>{I.current.exportData=()=>[[s],{}],I.current.setResult=ae,I.current.clearResult=ie},[s]);const q=React.useMemo(()=>{const n=N[`step_${P==null?void 0:P.step}`];return(n==null?void 0:n.result)||[]},[_,N,P]),{tagConfigurable:w,textConfigurable:j=!0,clipConfigurable:$=!1,clipAttributeConfigurable:U=!1,clipAttributeList:F=[],clipTextConfigurable:V=!1,inputList:z=[],configList:G=[]}=React.useMemo(()=>{if(h)return lbAnnotation.CommonToolUtils.jsonParser(h==null?void 0:h.config)},[h]),H={clipConfigurable:$,clipAttributeConfigurable:U,clipAttributeList:F,clipTextConfigurable:V},K=i?i==null?void 0:i.valid:!0,J=(b=(f=lbAnnotation.CommonToolUtils.jsonParser(O.result))==null?void 0:f.duration)!=null?b:0,Q=K?J:0,Y=!K||o||![j,V].includes(!0);let W={};if(g!==-1&&(C==null?void 0:C.length)){const n=(u=C[g])==null?void 0:u.preResult,r=(i==null?void 0:i.isEdit)?(x=i==null?void 0:i.stepConfig)==null?void 0:x.loadPreStep:P==null?void 0:P.loadPreStep;if(n&&r){const c=lbAnnotation.CommonToolUtils.jsonParser(n),m=(A=(S=c==null?void 0:c.config)==null?void 0:S.context)!=null?A:{};Object.keys(m).forEach(R=>{R&&m[R]&&(W[R]={visible:!0,content:m[R],type:R})})}}const Z=()=>{(q==null?void 0:q.length)>0?p(q[0]):p({id:lbAnnotation.uuid(),sourceID:"",value:X(),tag:ee(),regions:[]})},X=(n=!0)=>{const r={};let c=_.configList||[];return c.length>0&&c.forEach(m=>{r[m.key]=n&&m.default||""}),r},ee=()=>lbAnnotation.TagUtils.getDefaultResultByConfig(_.inputList||[]),te=({duration:n,hasError:r})=>{l(!1)},ne=n=>{p(r=>__spreadProps(__spreadValues({},r),{regions:((r==null?void 0:r.regions)||[]).filter(c=>c.id!==n)}))},B=n=>{p(r=>{var c;const m=(c=r==null?void 0:r.regions)!=null?c:[],{id:R}=n;return m.find(k=>k.id===R)?__spreadProps(__spreadValues({},r),{regions:m.map(k=>R===k.id?__spreadValues(__spreadValues({},k),n):k)}):__spreadProps(__spreadValues({},r),{regions:[...m,n]})})},oe=(n,r)=>{p(c=>__spreadProps(__spreadValues({},c),{value:__spreadProps(__spreadValues({},c.value),{[r]:n})}))},le=n=>{p(r=>__spreadProps(__spreadValues({},r),{tag:n}))},ae=n=>{p(n)},ie=()=>{p(n=>__spreadProps(__spreadValues({},n),{value:X(),tag:{},regions:[]}))};return React__default.default.createElement(index$1.AudioClipProvider,null,React__default.default.createElement(antd.Spin,{spinning:o,wrapperClassName:"audio-tool-spinner"},React__default.default.createElement(es.Layout,{className:dom.getClassName("layout","container"),style:{height:"100%"}},e==null?void 0:e.leftSider,React__default.default.createElement(Content,{className:`${layoutCls}__content`},React__default.default.createElement("div",{className:index_module.containerWrapper},React__default.default.createElement("div",{className:index_module.audioWrapper},w&&React__default.default.createElement(index$2,{result:s==null?void 0:s.tag,labelInfoSet:z,hasPromptLayer:!!(i==null?void 0:i.promptLayer)}),i==null?void 0:i.promptLayer,React__default.default.createElement(index$3.AudioPlayer,__spreadValues({context:{isEdit:i==null?void 0:i.isEdit,count:Q,toolName:EAudioToolName.AudioTextTool,imgIndex:g},drawLayerSlot:L,fileData:O,onLoaded:te,invalid:!K,updateRegion:B,removeRegion:ne,regions:s==null?void 0:s.regions,activeToolPanel:i==null?void 0:i.activeToolPanel,footer:e.footer},H))),(j||V)&&React__default.default.createElement(AudioTextToolTextarea,{preContext:W,result:s,inputDisabled:Y,updateText:oe,updateRegion:B,configList:G,autofocus:T,textConfigurable:j,clipTextConfigurable:V,clipAttributeList:F,clipAttributeConfigurable:U}))),React__default.default.createElement(Sider,{className:`${layoutCls}__side`,width:y!=null?y:240,style:(v=e.style)==null?void 0:v.sider},React__default.default.createElement(AudioSideBar,{sider:D,config:_,result:s,updateTagResult:le,updateRegion:B,isEdit:i==null?void 0:i.isEdit,tagConfigurable:w,clipConfigurable:$})),React__default.default.createElement(index$4,null))))};var AudioAnnotate$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(AudioAnnotate);module.exports=AudioAnnotate$1;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),React=require("react"),index=require("../AnnotationView/index.js"),useSize=require("../../hooks/useSize.js"),useSingleBox=require("./hooks/useSingleBox.js"),useHighlight=require("./hooks/useHighlight.js"),index$2=require("./components/HighlightVisible/index.js"),PointCloudContext=require("./PointCloudContext.js"),index$1=require("../pointCloud2DRectOperationView/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__async=(e,s,o)=>new Promise((d,a)=>{var u=t=>{try{n(o.next(t))}catch(i){a(i)}},r=t=>{try{n(o.throw(t))}catch(i){a(i)}},n=t=>t.done?d(t.value):Promise.resolve(t.value).then(u,r);n((o=o.apply(e,s)).next())});const PointCloud2DSingleView=({view2dData:e,setSelectedID:s,currentData:o,showEnlarge:d,checkMode:a=!1})=>{var u;const r=React.useRef(null),n=React.useRef(),{selectedBox:t}=useSingleBox.useSingleBox(),i=useSize(r),{url:g,calib:C,path:b}=e,{toggle2dVisible:y,isHighlightVisible:j}=useHighlight.useHighlight({currentData:o}),[q,h]=React.useState(!1),{cuboidBoxIn2DView:S,cacheImageNodeSize:P}=React.useContext(PointCloudContext.PointCloudContext),_=!e,v=c=>{f(),P({path:b,imgNode:c})},f=React.useCallback(()=>{var c,m;const x=(c=n.current)==null?void 0:c.toolInstance;if(s(""),!t||!x)return;const l=e.annotations.find(B=>B.annotation.id===t.info.id);let p="";l&&((m=l==null?void 0:l.annotation.pointList)==null?void 0:m.length)>0&&(x.focusPositionByPointList(l==null?void 0:l.annotation.pointList),p=t.info.id,s(p))},[t,n.current,e.annotations]);React.useEffect(()=>{f()},[f]);const k=()=>__async(void 0,null,function*(){h(!0),yield y(g,C),h(!1)});return React__default.default.createElement("div",{className:dom.getClassName("point-cloud-2d-image"),ref:r},S?React__default.default.createElement(index,{src:(u=e==null?void 0:e.url)!=null?u:"",annotations:e.annotations,size:i,ref:n,globalStyle:{display:_?"none":"block"},afterImgOnLoad:v,zoomInfo:{min:.01,max:1e3,ratio:.4}}):React__default.default.createElement(index$1,{mappingData:e,size:i,checkMode:a,afterImgOnLoad:v}),React__default.default.createElement(index$2,{visible:j(g),onClick:k,loading:q,style:{position:"absolute",right:16,top:16,zIndex:d?-1:101}}))};module.exports=PointCloud2DSingleView;
1
+ "use strict";var dom=require("../../utils/dom.js"),React=require("react"),index=require("../AnnotationView/index.js"),useSize=require("../../hooks/useSize.js"),useSingleBox=require("./hooks/useSingleBox.js"),useHighlight=require("./hooks/useHighlight.js"),index$2=require("./components/HighlightVisible/index.js"),PointCloudContext=require("./PointCloudContext.js"),index$1=require("../pointCloud2DRectOperationView/index.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),__async=(e,s,o)=>new Promise((d,a)=>{var u=t=>{try{n(o.next(t))}catch(i){a(i)}},r=t=>{try{n(o.throw(t))}catch(i){a(i)}},n=t=>t.done?d(t.value):Promise.resolve(t.value).then(u,r);n((o=o.apply(e,s)).next())});const PointCloud2DSingleView=({view2dData:e,setSelectedID:s,currentData:o,showEnlarge:d,checkMode:a=!1})=>{var u;const r=React.useRef(null),n=React.useRef(),{selectedBox:t}=useSingleBox.useSingleBox(),i=useSize(r),{url:g,calib:h,path:b}=e,{toggle2dVisible:y,isHighlightVisible:j}=useHighlight.useHighlight({currentData:o}),[q,v]=React.useState(!1),{cuboidBoxIn2DView:S,cacheImageNodeSize:P}=React.useContext(PointCloudContext.PointCloudContext),_=!e,m=c=>{f(),P({path:b,imgNode:c})},f=React.useCallback(()=>{var c,x;const p=(c=n.current)==null?void 0:c.toolInstance;if(s(""),!t||!p)return;const l=e.annotations.find(B=>B.annotation.id===t.info.id);let C="";l&&((x=l==null?void 0:l.annotation.pointList)==null?void 0:x.length)>0&&(p.focusPositionByPointList(l==null?void 0:l.annotation.pointList),C=t.info.id,s(C))},[t,n.current,e.annotations]);React.useEffect(()=>{f()},[f]);const k=()=>__async(void 0,null,function*(){v(!0),yield y(g,h),v(!1)});return React__default.default.createElement("div",{className:dom.getClassName("point-cloud-2d-image"),ref:r},S?React__default.default.createElement(index,{src:(u=e==null?void 0:e.url)!=null?u:"",annotations:e.annotations,size:i,ref:n,globalStyle:{display:_?"none":"block"},afterImgOnLoad:m,zoomInfo:{min:.01,max:1e3,ratio:.4}}):React__default.default.createElement(index$1,{mappingData:e,size:i,checkMode:a,afterImgOnLoad:m}),h&&React__default.default.createElement(index$2,{visible:j(g),onClick:k,loading:q,style:{position:"absolute",right:16,top:16,zIndex:d?-1:101}}))};module.exports=PointCloud2DSingleView;
@@ -1 +1 @@
1
- "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),reactRedux=require("react-redux"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),map=require("../../store/annotation/map.js"),lbUtils=require("@labelbee/lb-utils"),PointCloud2DSingleView=require("./PointCloud2DSingleView.js"),index=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),classNames=require("classnames"),icon_esc=require("../../assets/annotation/common/icon_esc.svg.js"),icon_left_squareOutlined=require("../../assets/annotation/common/icon_left_squareOutlined.svg.js"),icon_right_squareOutlined=require("../../assets/annotation/common/icon_right_squareOutlined.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,n,t)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,__spreadValues=(e,n)=>{for(var t in n||(n={}))__hasOwnProp.call(n,t)&&__defNormalProp(e,t,n[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(n))__propIsEnum.call(n,t)&&__defNormalProp(e,t,n[t]);return e},__spreadProps=(e,n)=>__defProps(e,__getOwnPropDescs(n));const EKeyCode=lbAnnotation.cKeyCode.default,ContainerTitle=({showEnlarge:e,isEnlargeTopView:n,data:t,setIsEnlarge:v,setCurIndex:u,curIndex:p=0,index:y,annotations2d:c})=>n?React__default.default.createElement(index,{title:t==null?void 0:t.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{v(!1),u(void 0)}}),React__default.default.createElement("span",null,t==null?void 0:t.calName),React__default.default.createElement("span",{style:{marginLeft:"8px"}},p+1,"/",c==null?void 0:c.length)):React__default.default.createElement(index,{title:t==null?void 0:t.calName,onClick:()=>{v(!0),u(y)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),PointCloud2DView=({currentData:e,config:n,thumbnailWidth:t,isEnlargeTopView:v,highlightAttribute:u,loadPCDFileLoading:p,checkMode:y})=>{var c;const[s,O]=React.useState([]),{topViewInstance:F,displayPointCloudList:w}=React.useContext(PointCloudContext.PointCloudContext),[E,j]=React.useState(""),[m,_]=React.useState(!1),[a,g]=React.useState(void 0);React.useEffect(()=>{var l;if(!p&&F&&(e==null?void 0:e.mappingImgList)&&((l=e==null?void 0:e.mappingImgList)==null?void 0:l.length)>0){const o={fill:"transparent",color:"green"};let r=[];e==null||e.mappingImgList.forEach(i=>{var d;const N=w.reduce((R,f)=>{var h;const V=f.id===E||u===f.attribute,{transferViewData:A,viewRangePointList:b}=lbAnnotation.pointCloudLidar2image(f,i.calib,{createRange:V}),L=(h=lbUtils.toolStyleConverter.getColorFromConfig({attribute:f.attribute},__spreadProps(__spreadValues({},n),{attributeConfigurable:!0}),{}))==null?void 0:h.stroke,T=k({viewDataPointList:A,pointCloudBox:f,defaultViewStyle:o,stroke:L}),q=[...R,...T];return(b==null?void 0:b.length)>0&&q.push({type:"polygon",annotation:__spreadProps(__spreadValues({id:E,pointList:b},o),{stroke:L,fill:"rgba(255, 255, 255, 0.6)"})}),q},[]);r.push({annotations:N,url:i==null?void 0:i.url,calName:(d=i.calib)==null?void 0:d.calName,calib:i==null?void 0:i.calib,path:i==null?void 0:i.path})}),O(r)}},[w,e==null?void 0:e.mappingImgList,E,u,p]),React.useEffect(()=>(window.addEventListener("keydown",x),()=>{window.removeEventListener("keydown",x)}),[a]);const x=l=>{const{keyCode:o}=l;switch(o){case EKeyCode.Esc:m&&_(!1);break;case EKeyCode.Left:P();break;case EKeyCode.Right:C();break}},P=()=>{a===void 0||!m||Number(a)>0&&g(a-1)},C=()=>{a===void 0||!m||Number(a)<(s==null?void 0:s.length)-1&&g(a+1)},k=({viewDataPointList:l,pointCloudBox:o,defaultViewStyle:r,stroke:i})=>l.map(d=>({type:d.type,annotation:__spreadProps(__spreadValues({id:o.id,pointList:d.pointList},r),{stroke:i})})),I=!e||!(e==null?void 0:e.mappingImgList)||!(((c=e==null?void 0:e.mappingImgList)==null?void 0:c.length)>0),S=React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},React__default.default.createElement("img",{src:icon_left_squareOutlined,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>P()}),React__default.default.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("img",{src:icon_right_squareOutlined,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>C()}),React__default.default.createElement("img",{src:icon_esc,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{_(!1),g(void 0)}}),React__default.default.createElement("span",null,"\u952E\u9000\u51FA"));return(s==null?void 0:s.length)>0?React__default.default.createElement(React__default.default.Fragment,null,s.map((l,o)=>{const r=m&&o===a;return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-2d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:r}),title:React__default.default.createElement(ContainerTitle,{showEnlarge:r,isEnlargeTopView:v,data:l,setIsEnlarge:_,setCurIndex:g,curIndex:a,index:o,annotations2d:s}),titleOnSurface:!r,style:{display:I?"none":"flex",width:r?"100%":t},key:o,toolbar:S},(l==null?void 0:l.annotations)&&(l==null?void 0:l.url)&&React__default.default.createElement(PointCloud2DSingleView,{currentData:e,view2dData:l,setSelectedID:j,showEnlarge:r,checkMode:y}))})):null};var PointCloud2DView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DView);module.exports=PointCloud2DView$1;
1
+ "use strict";var dom=require("../../utils/dom.js"),React=require("react"),PointCloudLayout=require("./PointCloudLayout.js"),PointCloudContext=require("./PointCloudContext.js"),reactRedux=require("react-redux"),lbAnnotation=require("@labelbee/lb-annotation"),ctx=require("../../store/ctx.js"),map=require("../../store/annotation/map.js"),lbUtils=require("@labelbee/lb-utils"),PointCloud2DSingleView=require("./PointCloud2DSingleView.js"),index=require("./components/TitleButton/index.js"),icons=require("@ant-design/icons"),classNames=require("classnames"),icon_esc=require("../../assets/annotation/common/icon_esc.svg.js"),icon_left_squareOutlined=require("../../assets/annotation/common/icon_left_squareOutlined.svg.js"),icon_right_squareOutlined=require("../../assets/annotation/common/icon_right_squareOutlined.svg.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,n,t)=>n in e?__defProp(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,__spreadValues=(e,n)=>{for(var t in n||(n={}))__hasOwnProp.call(n,t)&&__defNormalProp(e,t,n[t]);if(__getOwnPropSymbols)for(var t of __getOwnPropSymbols(n))__propIsEnum.call(n,t)&&__defNormalProp(e,t,n[t]);return e},__spreadProps=(e,n)=>__defProps(e,__getOwnPropDescs(n));const EKeyCode=lbAnnotation.cKeyCode.default,ContainerTitle=({showEnlarge:e,isEnlargeTopView:n,data:t,setIsEnlarge:v,setCurIndex:u,curIndex:p=0,index:E,annotations2d:c})=>n?React__default.default.createElement(index,{title:t==null?void 0:t.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?React__default.default.createElement("div",{style:{display:"flex",alignItems:"center"}},React__default.default.createElement(icons.LeftOutlined,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{v(!1),u(void 0)}}),React__default.default.createElement("span",null,t==null?void 0:t.calName),React__default.default.createElement("span",{style:{marginLeft:"8px"}},p+1,"/",c==null?void 0:c.length)):React__default.default.createElement(index,{title:t==null?void 0:t.calName,onClick:()=>{v(!0),u(E)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),PointCloud2DView=({currentData:e,config:n,thumbnailWidth:t,isEnlargeTopView:v,highlightAttribute:u,loadPCDFileLoading:p,checkMode:E})=>{var c;const[s,j]=React.useState([]),{topViewInstance:k,displayPointCloudList:w}=React.useContext(PointCloudContext.PointCloudContext),[_,I]=React.useState(""),[m,b]=React.useState(!1),[a,g]=React.useState(void 0);React.useEffect(()=>{var l;if(!p&&k&&(e==null?void 0:e.mappingImgList)&&((l=e==null?void 0:e.mappingImgList)==null?void 0:l.length)>0){const o={fill:"transparent",color:"green"};let i=[];e==null||e.mappingImgList.forEach(r=>{var d;const V=w.reduce((A,f)=>{var h,L;const T=f.id===_||u===f.attribute,{transferViewData:q,viewRangePointList:y}=(h=lbAnnotation.pointCloudLidar2image(f,r.calib,{createRange:T}))!=null?h:{};if(!q||!y)return[];const O=(L=lbUtils.toolStyleConverter.getColorFromConfig({attribute:f.attribute},__spreadProps(__spreadValues({},n),{attributeConfigurable:!0}),{}))==null?void 0:L.stroke,K=S({viewDataPointList:q,pointCloudBox:f,defaultViewStyle:o,stroke:O}),F=[...A,...K];return(y==null?void 0:y.length)>0&&F.unshift({type:"polygon",annotation:__spreadProps(__spreadValues({id:_,pointList:y},o),{stroke:O,fill:"rgba(255, 255, 255, 0.6)"})}),F},[]);i.push({annotations:V,url:r==null?void 0:r.url,calName:(d=r==null?void 0:r.calib)==null?void 0:d.calName,calib:r==null?void 0:r.calib,path:r==null?void 0:r.path})}),j(i)}},[w,e==null?void 0:e.mappingImgList,_,u,p]),React.useEffect(()=>(window.addEventListener("keydown",x),()=>{window.removeEventListener("keydown",x)}),[a]);const x=l=>{const{keyCode:o}=l;switch(o){case EKeyCode.Esc:m&&b(!1);break;case EKeyCode.Left:C();break;case EKeyCode.Right:P();break}},C=()=>{a===void 0||!m||Number(a)>0&&g(a-1)},P=()=>{a===void 0||!m||Number(a)<(s==null?void 0:s.length)-1&&g(a+1)},S=({viewDataPointList:l,pointCloudBox:o,defaultViewStyle:i,stroke:r})=>l?l.map(d=>({type:d.type,annotation:__spreadProps(__spreadValues({id:o.id,pointList:d.pointList},i),{stroke:r})})):[],N=!e||!(e==null?void 0:e.mappingImgList)||!(((c=e==null?void 0:e.mappingImgList)==null?void 0:c.length)>0),R=React__default.default.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},React__default.default.createElement("img",{src:icon_left_squareOutlined,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>C()}),React__default.default.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),React__default.default.createElement("img",{src:icon_right_squareOutlined,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>P()}),React__default.default.createElement("img",{src:icon_esc,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{b(!1),g(void 0)}}),React__default.default.createElement("span",null,"\u952E\u9000\u51FA"));return(s==null?void 0:s.length)>0?React__default.default.createElement(React__default.default.Fragment,null,s.map((l,o)=>{const i=m&&o===a;return React__default.default.createElement(PointCloudLayout.PointCloudContainer,{className:classNames__default.default({[dom.getClassName("point-cloud-2d-container")]:!0,[dom.getClassName("point-cloud-container","zoom")]:i}),title:React__default.default.createElement(ContainerTitle,{showEnlarge:i,isEnlargeTopView:v,data:l,setIsEnlarge:b,setCurIndex:g,curIndex:a,index:o,annotations2d:s}),titleOnSurface:!i,style:{display:N?"none":"flex",width:i?"100%":t},key:o,toolbar:R},(l==null?void 0:l.annotations)&&(l==null?void 0:l.url)&&React__default.default.createElement(PointCloud2DSingleView,{currentData:e,view2dData:l,setSelectedID:I,showEnlarge:i,checkMode:E}))})):null};var PointCloud2DView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloud2DView);module.exports=PointCloud2DView$1;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),useSingleBox=require("./hooks/useSingleBox.js"),reactI18next=require("react-i18next");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,o)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,__spreadValues=(e,t)=>{for(var o in t||(t={}))__hasOwnProp.call(t,o)&&__defNormalProp(e,o,t[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(t))__propIsEnum.call(t,o)&&__defNormalProp(e,o,t[o]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const DECIMAL_PLACES=2,DEFAULT_BOX_INFO_STYLE={color:"white",backgroundColor:"rgba(153, 153, 153, 0.3)",padding:"8px 10px",zIndex:20,fontSize:12},SizeInfoForView=({perspectiveView:e})=>{const{pointCloudBoxList:t,selectedID:o}=React__default.default.useContext(PointCloudContext.PointCloudContext),s=t.find(i=>i.id===o),l=reactI18next.useTranslation(),{t:a}=l;if(o&&s){const{length:i,width:c,height:r}=lbUtils.PointCloudUtils.transferBox2Kitti(s),f=e===lbUtils.EPerspectiveView.Back?[{label:a("Width"),value:c},{label:a("Height"),value:r}]:[{label:a("Length"),value:i},{label:a("Height"),value:r}];return React__default.default.createElement("div",{style:__spreadProps(__spreadValues({position:"absolute"},DEFAULT_BOX_INFO_STYLE),{bottom:"4%",left:"50%",transform:"translate(-50%, 0)"})},f.map((u,n)=>React__default.default.createElement("span",{key:n,style:{marginRight:n===0?16:0}},`${u.label}: ${u.value.toFixed(DECIMAL_PLACES)}`)))}return null},BoxInfos=({checkMode:e,config:t,style:o})=>{const s=React__default.default.useContext(PointCloudContext.PointCloudContext),{selectedBox:l}=useSingleBox.useSingleBox(),[a,i]=React.useState([]),c=reactI18next.useTranslation(),{t:r,i18n:f}=c,u=o;return React.useEffect(()=>{var n;if(!l)return;const{length:b,width:x,height:v,rotation_y:g}=lbUtils.PointCloudUtils.transferBox2Kitti(l.info),{x:h,y:_,z:y}=l.info.center;let d=[{label:"x",value:h.toFixed(DECIMAL_PLACES)},{label:"y",value:_.toFixed(DECIMAL_PLACES)},{label:"z",value:y.toFixed(DECIMAL_PLACES)},{label:r("Length"),value:b.toFixed(DECIMAL_PLACES)},{label:r("Width"),value:x.toFixed(DECIMAL_PLACES)},{label:r("Height"),value:v.toFixed(DECIMAL_PLACES)},{label:r("Rotation_y"),value:lbAnnotation.UnitUtils.rad2deg(g).toFixed(DECIMAL_PLACES)}];(n=s.mainViewInstance)==null||n.filterPointsByBox(l.info).then(p=>{if(!p){i(d);return}d.push({label:r("PointCount"),value:`${p.num}`}),e===!0&&l.info.subAttribute&&t&&lbUtils.PointCloudUtils.getSubAttributeName(l.info.subAttribute,t).forEach(m=>d.push(m)),i(d)})},[l,f.language]),l?React__default.default.createElement("div",{style:o||__spreadProps(__spreadValues({position:"absolute"},DEFAULT_BOX_INFO_STYLE),{right:8,bottom:8})},a.map(n=>u?React__default.default.createElement("div",{key:n.label,style:{margin:"0px 4px"}},`${n.label}: ${n.value}`):React__default.default.createElement("div",{key:n.label},React__default.default.createElement("span",{style:{width:"38px",display:"inline-block",textAlign:"end"}},n.label),": ",React__default.default.createElement("span",null,n.value)))):null},PointCloudValidity=()=>{const e=React__default.default.useContext(PointCloudContext.PointCloudContext),{t}=reactI18next.useTranslation();return e.valid===!1?React__default.default.createElement("div",{style:{position:"absolute",backgroundColor:"rgb(242, 101, 73)",color:"white",opacity:.7,left:0,top:0,fontSize:30,padding:"8px 16px",zIndex:20,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},t("Invalid")):null};exports.BoxInfos=BoxInfos,exports.PointCloudValidity=PointCloudValidity,exports.SizeInfoForView=SizeInfoForView;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var lbUtils=require("@labelbee/lb-utils"),React=require("react"),PointCloudContext=require("./PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),useSingleBox=require("./hooks/useSingleBox.js"),reactI18next=require("react-i18next");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,l)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):e[t]=l,__spreadValues=(e,t)=>{for(var l in t||(t={}))__hasOwnProp.call(t,l)&&__defNormalProp(e,l,t[l]);if(__getOwnPropSymbols)for(var l of __getOwnPropSymbols(t))__propIsEnum.call(t,l)&&__defNormalProp(e,l,t[l]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t));const DECIMAL_PLACES=2,DEFAULT_BOX_INFO_STYLE={color:"white",backgroundColor:"rgba(153, 153, 153, 0.3)",padding:"8px 10px",zIndex:20,fontSize:12},SizeInfoForView=({perspectiveView:e})=>{const{pointCloudBoxList:t,selectedID:l}=React__default.default.useContext(PointCloudContext.PointCloudContext),u=t.find(a=>a.id===l),n=reactI18next.useTranslation(),{t:i}=n;if(l&&u){const{length:a,width:c,height:r}=lbUtils.PointCloudUtils.transferBox2Kitti(u),f=e===lbUtils.EPerspectiveView.Back?[{label:i("Width"),value:c},{label:i("Height"),value:r}]:[{label:i("Length"),value:a},{label:i("Height"),value:r}];return React__default.default.createElement("div",{style:__spreadProps(__spreadValues({position:"absolute"},DEFAULT_BOX_INFO_STYLE),{bottom:"4%",left:"50%",transform:"translate(-50%, 0)"})},f.map((s,o)=>React__default.default.createElement("span",{key:o,style:{marginRight:o===0?16:0}},`${s.label}: ${s.value.toFixed(DECIMAL_PLACES)}`)))}return null},BoxInfos=({checkMode:e,config:t,style:l})=>{const u=React__default.default.useContext(PointCloudContext.PointCloudContext),{selectedBox:n}=useSingleBox.useSingleBox(),[i,a]=React.useState([]),c=reactI18next.useTranslation(),{t:r,i18n:f}=c,s=l;return React.useEffect(()=>{var o,p;if(!n)return;const{length:b,width:v,height:x,rotation_y:m}=lbUtils.PointCloudUtils.transferBox2Kitti(n.info),{x:g,y:h,z:_}=n.info.center;let d=[{label:"x",value:g==null?void 0:g.toFixed(DECIMAL_PLACES)},{label:"y",value:h==null?void 0:h.toFixed(DECIMAL_PLACES)},{label:"z",value:_==null?void 0:_.toFixed(DECIMAL_PLACES)},{label:r("Length"),value:b==null?void 0:b.toFixed(DECIMAL_PLACES)},{label:r("Width"),value:v==null?void 0:v.toFixed(DECIMAL_PLACES)},{label:r("Height"),value:x==null?void 0:x.toFixed(DECIMAL_PLACES)},{label:r("Rotation_y"),value:(o=lbAnnotation.UnitUtils.rad2deg(m))==null?void 0:o.toFixed(DECIMAL_PLACES)}];(p=u.mainViewInstance)==null||p.filterPointsByBox(n.info).then(y=>{if(!y){a(d);return}d.push({label:r("PointCount"),value:`${y.num}`}),e===!0&&n.info.subAttribute&&t&&lbUtils.PointCloudUtils.getSubAttributeName(n.info.subAttribute,t).forEach(C=>d.push(C)),a(d)})},[n,f.language]),n?React__default.default.createElement("div",{style:l||__spreadProps(__spreadValues({position:"absolute"},DEFAULT_BOX_INFO_STYLE),{right:8,bottom:8})},i.map(o=>s?React__default.default.createElement("div",{key:o.label,style:{margin:"0px 4px"}},`${o.label}: ${o.value}`):React__default.default.createElement("div",{key:o.label},React__default.default.createElement("span",{style:{width:"38px",display:"inline-block",textAlign:"end"}},o.label),": ",React__default.default.createElement("span",null,o.value)))):null},PointCloudValidity=()=>{const e=React__default.default.useContext(PointCloudContext.PointCloudContext),{t}=reactI18next.useTranslation();return e.valid===!1?React__default.default.createElement("div",{style:{position:"absolute",backgroundColor:"rgb(242, 101, 73)",color:"white",opacity:.7,left:0,top:0,fontSize:30,padding:"8px 16px",zIndex:20,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},t("Invalid")):null};exports.BoxInfos=BoxInfos,exports.PointCloudValidity=PointCloudValidity,exports.SizeInfoForView=SizeInfoForView;
@@ -1 +1 @@
1
- "use strict";var useSize=require("../../hooks/useSize.js"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),React=require("react"),reactRedux=require("react-redux"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const PointCloudSegment=({currentData:e,config:n,checkMode:c})=>{var o,u;const a=React.useRef(null),{setPtSegmentInstance:d,setDefaultAttribute:m,ptSegmentInstance:r}=React.useContext(PointCloudContext.PointCloudContext),t=useSize(a),i=(u=(o=n==null?void 0:n.attributeList)==null?void 0:o[0])==null?void 0:u.value;return React.useEffect(()=>{var l;if(!(t==null?void 0:t.width)||!a.current||r)return;const s=new lbAnnotation.PointCloud({container:a.current,isOrthographicCamera:!0,isSegment:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(t),config:n,checkMode:c});(l=s.store)==null||l.setAttribute(i),m(i),d(s)},[t]),React.useEffect(()=>{r&&(r.initRenderer(),r.initOrthographicCamera(lbUtils.PointCloudUtils.getDefaultOrthographicParams(t)),r.render())},[t]),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-layout"),ref:a})};var PointCloudSegment$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudSegment);module.exports=PointCloudSegment$1;
1
+ "use strict";var useSize=require("../../hooks/useSize.js"),map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),dom=require("../../utils/dom.js"),lbAnnotation=require("@labelbee/lb-annotation"),React=require("react"),reactRedux=require("react-redux"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const PointCloudSegment=({currentData:e,config:n,checkMode:c})=>{var o,u;const a=React.useRef(null),{setPtSegmentInstance:d,setDefaultAttribute:m,ptSegmentInstance:r}=React.useContext(PointCloudContext.PointCloudContext),t=useSize(a),i=(u=(o=n==null?void 0:n.attributeList)==null?void 0:o[0])==null?void 0:u.value;return React.useEffect(()=>{var l;if(!(t==null?void 0:t.width)||!a.current||r)return;const s=new lbAnnotation.PointCloud({container:a.current,isOrthographicCamera:!0,isSegment:!0,orthographicParams:lbUtils.PointCloudUtils.getDefaultOrthographicParams(t),config:n,checkMode:c});(l=s.store)==null||l.setAttribute(i),m(i),d(s)},[t]),React.useEffect(()=>{r&&(r.initRenderer(),r.initOrthographicCamera(lbUtils.PointCloudUtils.getDefaultOrthographicParams(t)),r.render())},[t]),React__default.default.createElement("div",{className:dom.getClassName("point-cloud-wrapper"),ref:a})};var PointCloudSegment$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudSegment);module.exports=PointCloudSegment$1;
@@ -0,0 +1 @@
1
+ "use strict";var map=require("../../store/annotation/map.js"),ctx=require("../../store/ctx.js"),React=require("react"),index$1=require("../AnnotationView/index.js"),reactRedux=require("react-redux"),PointCloudContext=require("./PointCloudContext.js"),index=require("./components/TitleButton/index.js"),antd=require("antd"),highlightSegmentWorker=require("../../_virtual/highlightSegmentWorker.js"),lbAnnotation=require("@labelbee/lb-annotation"),_=require("lodash");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,n,r)=>n in t?__defProp(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,__spreadValues=(t,n)=>{for(var r in n||(n={}))__hasOwnProp.call(n,r)&&__defNormalProp(t,r,n[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(n))__propIsEnum.call(n,r)&&__defNormalProp(t,r,n[r]);return t},__spreadProps=(t,n)=>__defProps(t,__getOwnPropDescs(n));const PointCloudSegment2DSingleView=({path:t,url:n,calib:r,pcdUrl:s,highlightAttribute:l})=>{const{ptSegmentInstance:e,cacheImageNodeSize:S,imageSizes:y}=React.useContext(PointCloudContext.PointCloudContext),x=React.useRef(null),f=React.useRef(0),p=React.useRef({}),c=React.useRef(),[g,v]=React.useState([]),[w,h]=React.useState(!1),P=React.useRef(void 0);React.useEffect(()=>()=>{f.current=0,p.current={},c.current=void 0},[s]);const m=React.useCallback(()=>{var o,a,i;if(f.current=f.current+1,f.current===2){const u=(o=e==null?void 0:e.store)==null?void 0:o.originPoints;if(!u||!c.current){console.error("cacheMappingPCD2Img Error",{path:t,points:u,filterSize:c.current});return}p.current=(i=(a=lbAnnotation.pointMappingLidar2image(u,r,c.current))==null?void 0:a.pcdMapping)!=null?i:{}}},[e]),C=React.useMemo(()=>{const o=(a,i)=>{var u,b;if(a&&c.current){P.current&&((b=(u=P.current)==null?void 0:u.terminate)==null||b.call(u));const E=p.current,d=new highlightSegmentWorker;d.current=d,h(!0),d.postMessage({cacheMap:E,indexes:a,defaultRGBA:i}),d.onmessage=O=>{v(O.data.annotations),d.terminate(),h(!1),d.current=void 0}}};return _.debounce(o,100)},[]);React.useEffect(()=>{if(!(e==null?void 0:e.store))return;const o=e.store.getHighlightAttribute(l!=null?l:""),a=e==null?void 0:e.getColorFromConfig(l!=null?l:"");C(o.flat(),a.stroke)},[l,e]),React.useEffect(()=>{if(e){const o=({newAttribute:a})=>{const i=e==null?void 0:e.getColorFromConfig(a);i&&v(g.map(u=>__spreadProps(__spreadValues({},u),{defaultRGBA:i.stroke})))};return e.on("updateDefaultAttribute",o),()=>{e.unbind("updateDefaultAttribute",o)}}},[e,g]),React.useEffect(()=>{if(e){const o=a=>{if(a.cacheSegData){const{cacheSegData:i}=a;if(i==null?void 0:i.indexes){const u=e.getColorFromConfig(i.attribute);C(i==null?void 0:i.indexes,u.stroke)}}else v([])};return e.on("syncPointCloudStatus",o),e.on("loadPCDFileEnd",m),()=>{e.unbind("syncPointCloudStatus",o),e.unbind("loadPCDFileEnd",m)}}},[e,s,y]);const D=o=>{S({path:t,imgNode:o}),c.current={width:o.width,height:o.height},m()};return React__default.default.createElement("div",{key:t,style:{position:"relative"},ref:x},React__default.default.createElement(index,{title:r.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF",position:"absolute",top:10,left:10,zIndex:1}}),React__default.default.createElement(antd.Spin,{spinning:w,delay:1e3},React__default.default.createElement(index$1,{size:{width:300,height:200},key:t,src:n,annotations:g,afterImgOnLoad:D})))},PointCloudSegment2DView=({currentData:t,highlightAttribute:n})=>{var r;const s=(r=t.mappingImgList)!=null?r:[];return(s==null?void 0:s.length)>0?React__default.default.createElement("div",{style:{position:"absolute",height:"100%",overflowY:"scroll",zIndex:100,width:300}},s==null?void 0:s.map((l,e)=>l.calib&&React__default.default.createElement(PointCloudSegment2DSingleView,{key:l.path+e,path:l.path,url:l.url,calib:l.calib,pcdUrl:t.url,highlightAttribute:n}))):null};var PointCloudSegment2DView$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudSegment2DView);module.exports=PointCloudSegment2DView$1;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),PointCloudContext=require("./PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),useAttribute=require("./hooks/useAttribute.js");const PointCloudSegmentListener=({checkMode:c,currentData:o,imgIndex:m,highlightAttribute:a,config:g,toolInstanceRef:s})=>{const{updateSegmentAttribute:v}=useAttribute.useAttribute(),n=React.useContext(PointCloudContext.PointCloudContext),{ptSegmentInstance:e,setSegmentation:u}=n;React.useEffect(()=>{var t;if(e&&o.url)return e.emit("clearStash"),e.emit("clearAllSegmentData"),e.loadPCDFile((t=o==null?void 0:o.url)!=null?t:"").then(()=>{var l,r;const i=lbUtils.PointCloudUtils.getSegmentFromResultList((l=o==null?void 0:o.result)!=null?l:"");(r=e==null?void 0:e.store)==null||r.updateCurrentSegment(i)}),e.on("syncSegmentData",u),()=>{e.unbind("syncSegmentData",u)}},[m,e]),React.useEffect(()=>{var t;(t=e==null?void 0:e.store)==null||t.highlightPointsByAttribute(a!=null?a:"")},[a,e]);const S=(t,l)=>{var r,i;switch(t){case"h":e==null||e.emit("LassoSelector");break;case"j":e==null||e.emit("CircleSelector");break;case"u":e==null||e.emit("setSegmentMode",lbUtils.EPointCloudSegmentMode.Add);break;case"i":e==null||e.emit("setSegmentMode",lbUtils.EPointCloudSegmentMode.Remove);break;case"enter":e==null||e.emit("updateCheck2Edit");break;case"delete":e==null||e.emit("deleteSelectedSegmentData",(i=(r=e.store)==null?void 0:r.cacheSegData)==null?void 0:i.id);break}},d=t=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(t)||c===!0)return;const l=t.key.toLocaleLowerCase();S(l)};return React.useEffect(()=>(window.addEventListener("keydown",d),s.current.setDefaultAttribute=t=>{v(t)},()=>{window.removeEventListener("keydown",d)}),[e]),React.useEffect(()=>{s.current.clearResult=()=>{!n.ptSegmentInstance||n.ptSegmentInstance.emit("clearAllSegmentData")}},[n.pointCloudBoxList,n.valid,n.polygonList,n.lineList,n.pointCloudSphereList,n.ptSegmentInstance]),null};var PointCloudSegmentListener$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudSegmentListener);module.exports=PointCloudSegmentListener$1;
1
+ "use strict";var React=require("react"),map=require("../../store/annotation/map.js"),reactRedux=require("react-redux"),ctx=require("../../store/ctx.js"),PointCloudContext=require("./PointCloudContext.js"),lbAnnotation=require("@labelbee/lb-annotation"),lbUtils=require("@labelbee/lb-utils"),useAttribute=require("./hooks/useAttribute.js"),actionCreators=require("../../store/annotation/actionCreators.js");const PointCloudSegmentListener=({checkMode:m,currentData:l,imgIndex:v,highlightAttribute:a,config:C,toolInstanceRef:u})=>{const s=ctx.useDispatch(),{updateSegmentAttribute:S,updateSegmentSubAttribute:b}=useAttribute.useAttribute(),n=React.useContext(PointCloudContext.PointCloudContext),{ptSegmentInstance:e,setSegmentation:d}=n;React.useEffect(()=>{var t;if(e&&l.url)return actionCreators.SetPointCloudLoading(s,!0),e.emit("clearStash"),e.emit("clearAllSegmentData"),e.loadPCDFile((t=l==null?void 0:l.url)!=null?t:"").then(()=>{var o,r;const i=lbUtils.PointCloudUtils.getSegmentFromResultList((o=l==null?void 0:l.result)!=null?o:"");(r=e==null?void 0:e.store)==null||r.updateCurrentSegment(i),actionCreators.SetPointCloudLoading(s,!1)}),e.on("syncSegmentData",d),()=>{e.unbind("syncSegmentData",d)}},[v,e]),React.useEffect(()=>{var t;(t=e==null?void 0:e.store)==null||t.highlightPointsByAttribute(a!=null?a:"")},[a,e]);const g=(t,o)=>{var r,i;switch(t){case"h":e==null||e.emit("LassoSelector");break;case"j":e==null||e.emit("RectSelector");break;case"k":e==null||e.emit("CircleSelector");break;case"u":e==null||e.emit("setSegmentMode",lbUtils.EPointCloudSegmentMode.Add);break;case"i":e==null||e.emit("setSegmentMode",lbUtils.EPointCloudSegmentMode.Remove);break;case"enter":e==null||e.emit("updateCheck2Edit");break;case"delete":e==null||e.emit("deleteSelectedSegmentData",(i=(r=e.store)==null?void 0:r.cacheSegData)==null?void 0:i.id);break}},c=t=>{if(!lbAnnotation.CommonToolUtils.hotkeyFilter(t)||m===!0)return;const o=t.key.toLocaleLowerCase();g(o)};return React.useEffect(()=>(window.addEventListener("keydown",c),u.current.setDefaultAttribute=t=>{S(t),e==null||e.emit("updateDefaultAttribute",{newAttribute:t})},u.current.setSubAttribute=(t,o)=>{b(t,o)},()=>{window.removeEventListener("keydown",c)}),[e]),React.useEffect(()=>{u.current.clearResult=()=>{!n.ptSegmentInstance||(n.ptSegmentInstance.emit("clearStash"),n.ptSegmentInstance.emit("clearAllSegmentData"))}},[n.pointCloudBoxList,n.valid,n.polygonList,n.lineList,n.pointCloudSphereList,n.ptSegmentInstance]),null};var PointCloudSegmentListener$1=reactRedux.connect(map.a2MapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudSegmentListener);module.exports=PointCloudSegmentListener$1;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),dom=require("../../utils/dom.js"),finish=require("../../assets/annotation/pointCloudTool/finish.svg.js"),cancel=require("../../assets/annotation/pointCloudTool/cancel.svg.js"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils"),reactI18next=require("react-i18next");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const SegmentInfo=({infoList:e})=>{const{t:l}=reactI18next.useTranslation();return e?React__default.default.createElement("div",{className:dom.getClassName("point-cloud-status","info")},e.map(n=>React__default.default.createElement("div",{key:n.key},React__default.default.createElement("span",null,l(n.key),"\uFF1A "),React__default.default.createElement("span",null,n.value)))):null},PointCloudSegmentStatus=()=>{var e,l,n,d,r;const{t:s}=reactI18next.useTranslation(),{ptSegmentInstance:t,setDefaultAttribute:m}=React.useContext(PointCloudContext.PointCloudContext),[o,f]=React.useState({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready});React.useEffect(()=>{if(t){const a=c=>{f(c),c.cacheSegData&&m(c.cacheSegData.attribute)};return t==null||t.on("syncPointCloudStatus",a),()=>{t==null||t.unbind("syncPointCloudStatus",a)}}},[t]);const u=o.segmentStatus;if(u===lbUtils.EPointCloudSegmentStatus.Ready)return null;const g=u===lbUtils.EPointCloudSegmentStatus.Check,C=u===lbUtils.EPointCloudSegmentStatus.Edit;let i=null;const S=((n=(l=(e=o.cacheSegData)==null?void 0:e.points)==null?void 0:l.length)!=null?n:0)/3;let v=[{key:"SelectedPoints",value:S},{key:"Attribute",value:(r=(d=o.cacheSegData)==null?void 0:d.attribute)!=null?r:""}];return g&&(i=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-status","operation")},React__default.default.createElement("span",{className:dom.getClassName("point-cloud-status","button"),onClick:()=>{t==null||t.emit("updateCheck2Edit")}},s("EnterEditMode"),"(Enter)"))),C&&(i=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-status","operation")},React__default.default.createElement("span",{className:dom.getClassName("point-cloud-status","button"),onClick:()=>{var a;t==null||t.emit("addStash2Store"),((a=t==null?void 0:t.store)==null?void 0:a.segmentFocusMode)===lbUtils.EPointCloudSegmentFocusMode.Focus&&(t==null||t.emit("setSegmentFocusMode",lbUtils.EPointCloudSegmentFocusMode.Unfocus))}},React__default.default.createElement("img",{className:dom.getClassName("point-cloud-status","icon"),src:finish}),s("Finish")),React__default.default.createElement("span",{className:dom.getClassName("point-cloud-status","button"),onClick:()=>{var a;t==null||t.emit("clearStash"),((a=t==null?void 0:t.store)==null?void 0:a.segmentFocusMode)===lbUtils.EPointCloudSegmentFocusMode.Focus&&(t==null||t.emit("setSegmentFocusMode",lbUtils.EPointCloudSegmentFocusMode.Unfocus))}},React__default.default.createElement("img",{className:dom.getClassName("point-cloud-status","icon"),src:cancel}),s("Cancel")))),React__default.default.createElement(React__default.default.Fragment,null,i,React__default.default.createElement(SegmentInfo,{infoList:v}))};module.exports=PointCloudSegmentStatus;
1
+ "use strict";var React=require("react"),dom=require("../../utils/dom.js"),finish=require("../../assets/annotation/pointCloudTool/finish.svg.js"),cancel=require("../../assets/annotation/pointCloudTool/cancel.svg.js"),PointCloudContext=require("./PointCloudContext.js"),lbUtils=require("@labelbee/lb-utils"),reactI18next=require("react-i18next");function _interopDefaultLegacy(a){return a&&typeof a=="object"&&"default"in a?a:{default:a}}var React__default=_interopDefaultLegacy(React);const SegmentInfo=({infoList:a})=>{const{t:s}=reactI18next.useTranslation();return a?React__default.default.createElement("div",{className:dom.getClassName("point-cloud-status","info")},a.map(n=>React__default.default.createElement("div",{key:n.key},React__default.default.createElement("span",null,s(n.key),"\uFF1A "),React__default.default.createElement("span",null,n.value)))):null},PointCloudSegmentStatus=a=>{var s,n,m,g,S,v,f;const{config:C}=a,{t:i}=reactI18next.useTranslation(),{ptSegmentInstance:t,setDefaultAttribute:p}=React.useContext(PointCloudContext.PointCloudContext),[l,c]=React.useState({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready});React.useEffect(()=>{if(t){const e=u=>{c(u),u.cacheSegData&&p(u.cacheSegData.attribute)},o=({segmentData:u,currentSegmentStatus:y})=>{if(y===lbUtils.EPointCloudSegmentStatus.Ready){if(!u){c({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready});return}c({segmentStatus:lbUtils.EPointCloudSegmentStatus.Hover,cacheSegData:u})}};return t==null||t.on("syncPointCloudStatus",e),t==null||t.on("hoverSegmentInstance",o),()=>{t==null||t.unbind("syncPointCloudStatus",e),t==null||t.unbind("hoverSegmentInstance",o)}}},[t]);const d=l.segmentStatus;if(d===lbUtils.EPointCloudSegmentStatus.Ready)return null;const b=d===lbUtils.EPointCloudSegmentStatus.Check,h=d===lbUtils.EPointCloudSegmentStatus.Edit;let r=null;const P=((m=(n=(s=l.cacheSegData)==null?void 0:s.points)==null?void 0:n.length)!=null?m:0)/3,E=[{key:"SelectedPoints",value:P},{key:"Attribute",value:(S=(g=C.attributeList.find(e=>{var o;return e.value===((o=l.cacheSegData)==null?void 0:o.attribute)}))==null?void 0:g.key)!=null?S:""}];return Object.keys(((v=l.cacheSegData)==null?void 0:v.subAttribute)||{}).length>0&&E.push({key:"SubAttribute",value:lbUtils.PointCloudUtils.getSubAttributeName(((f=l.cacheSegData)==null?void 0:f.subAttribute)||{},C).map(e=>React__default.default.createElement("div",{key:e.label},e.label," - ",e.value))}),b&&(r=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-status","operation")},React__default.default.createElement("span",{className:dom.getClassName("point-cloud-status","button"),onClick:()=>{t==null||t.emit("updateCheck2Edit")}},i("EnterEditMode"),"(Enter)"))),h&&(r=React__default.default.createElement("div",{className:dom.getClassName("point-cloud-status","operation")},React__default.default.createElement("span",{className:dom.getClassName("point-cloud-status","button"),onClick:()=>{var e;t==null||t.emit("addStash2Store"),((e=t==null?void 0:t.store)==null?void 0:e.segmentFocusMode)===lbUtils.EPointCloudSegmentFocusMode.Focus&&(t==null||t.emit("setSegmentFocusMode",lbUtils.EPointCloudSegmentFocusMode.Unfocus))}},React__default.default.createElement("img",{className:dom.getClassName("point-cloud-status","icon"),src:finish}),i("Finish")),React__default.default.createElement("span",{className:dom.getClassName("point-cloud-status","button"),onClick:()=>{var e;t==null||t.emit("clearStash"),((e=t==null?void 0:t.store)==null?void 0:e.segmentFocusMode)===lbUtils.EPointCloudSegmentFocusMode.Focus&&(t==null||t.emit("setSegmentFocusMode",lbUtils.EPointCloudSegmentFocusMode.Unfocus))}},React__default.default.createElement("img",{className:dom.getClassName("point-cloud-status","icon"),src:cancel}),i("Cancel")))),React__default.default.createElement(React__default.default.Fragment,null,r,React__default.default.createElement(SegmentInfo,{infoList:E}))};module.exports=PointCloudSegmentStatus;
@@ -1 +1 @@
1
- "use strict";var React=require("react"),icons=require("@ant-design/icons"),dom=require("../../../../utils/dom.js");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React);const TitleButton=({title:t,onClick:e,style:a})=>React__default.default.createElement("span",{className:dom.getClassName("point-cloud-container","title-button"),style:a},t,e&&React__default.default.createElement(icons.ExpandAltOutlined,{onClick:e,style:{marginLeft:4}}));module.exports=TitleButton;
1
+ "use strict";var React=require("react"),icons=require("@ant-design/icons"),dom=require("../../../../utils/dom.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const TitleButton=({title:e,onClick:t,style:a})=>!t&&!e?null:React__default.default.createElement("span",{className:dom.getClassName("point-cloud-container","title-button"),style:a},e,t&&React__default.default.createElement(icons.ExpandAltOutlined,{onClick:t,style:{marginLeft:4}}));module.exports=TitleButton;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js");const useAttribute=()=>{const{topViewInstance:t,sideViewInstance:u,backViewInstance:l,mainViewInstance:i,ptSegmentInstance:o,defaultAttribute:s,setDefaultAttribute:r}=React.useContext(PointCloudContext.PointCloudContext);React.useEffect(()=>{if(!(t==null?void 0:t.toolInstance))return;const e=()=>{r(t==null?void 0:t.toolInstance.defaultAttribute)};return t==null||t.toolInstance.on("changeAttributeSidebar",e),()=>{t==null||t.toolInstance.unbind("changeAttributeSidebar",e)}},[t==null?void 0:t.toolInstance]);const d=e=>{[t==null?void 0:t.toolInstance,u==null?void 0:u.toolInstance,l==null?void 0:l.toolInstance].forEach(n=>{n==null||n.setDefaultAttribute(e)})},c=e=>{t==null||t.toolInstance.setDefaultAttribute(e)},b=e=>{i==null||i.generateBox(e)},v=React.useCallback(e=>{var n,a;!o||((n=o.store)==null||n.setAttribute(e),(a=o.pointCloudRender)==null||a.updatePointsColor(),r(e))},[o]);return{syncThreeViewsAttribute:d,updateDefaultAttribute:c,reRenderPointCloud3DBox:b,defaultAttribute:s,updateSegmentAttribute:v}};exports.useAttribute=useAttribute;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),PointCloudContext=require("../PointCloudContext.js");const useAttribute=()=>{const{topViewInstance:t,sideViewInstance:l,backViewInstance:i,mainViewInstance:r,ptSegmentInstance:n,defaultAttribute:s,setDefaultAttribute:a}=React.useContext(PointCloudContext.PointCloudContext);React.useEffect(()=>{if(!(t==null?void 0:t.toolInstance))return;const e=()=>{a(t==null?void 0:t.toolInstance.defaultAttribute)};return t==null||t.toolInstance.on("changeAttributeSidebar",e),()=>{t==null||t.toolInstance.unbind("changeAttributeSidebar",e)}},[t==null?void 0:t.toolInstance]);const d=e=>{[t==null?void 0:t.toolInstance,l==null?void 0:l.toolInstance,i==null?void 0:i.toolInstance].forEach(o=>{o==null||o.setDefaultAttribute(e)})},c=e=>{t==null||t.toolInstance.setDefaultAttribute(e)},b=e=>{r==null||r.generateBox(e)},v=React.useCallback(e=>{var o,u;!n||((o=n.store)==null||o.setAttribute(e),(u=n.pointCloudRender)==null||u.updatePointsColor(),a(e))},[n]),A=React.useCallback((e,o)=>{var u;!n||(u=n.store)==null||u.setSubAttribute(e,o)},[n]);return{syncThreeViewsAttribute:d,updateDefaultAttribute:c,reRenderPointCloud3DBox:b,defaultAttribute:s,updateSegmentAttribute:v,updateSegmentSubAttribute:A}};exports.useAttribute=useAttribute;
@@ -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"),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(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const PointCloudView=({currentData:t,imgList:f,drawLayerSlot:u,checkMode:l,intelligentFit:P,imgIndex:g,loadPCDFileLoading:j})=>{const e=React.useContext(PointCloudContext.PointCloudContext),{globalPattern:d,setGlobalPattern:v,selectedIDs:c}=e,p=ctx.useDispatch(),[a,m]=React.useState(!1),E=(c==null?void 0:c.length)>0&&a,x=index.jsonParser(t.result),{toolInstanceRef:o,clearToolInstance:L}=annotation.useCustomToolInstance({basicInfo:x});if(React.useEffect(()=>{o.current.setPointCloudGlobalPattern=n=>{n!==d&&(v(n),e.clearAllDetectionInstance(),L())}},[d]),React.useEffect(()=>{var n;if(actionCreators.SetLoadPCDFileLoading(p,!0),t){const{boxParamsList:i,polygonList:r,lineList:s,sphereParamsList:q,segmentation:b}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult((n=t==null?void 0:t.result)!=null?n:"");e.setPointCloudResult(i),e.setPolygonList(r),e.setLineList(s),e.setPointCloudSphereList(q),e.setSegmentation(b)}},[g]),React.useEffect(()=>{o.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],o.current.exportCustomData=()=>{var n,i,r,s;return{resultPolygon:(n=e.polygonList)!=null?n:[],resultLine:(i=e.lineList)!=null?i:[],resultPoint:(r=e.pointCloudSphereList)!=null?r:[],segmentation:(s=e.segmentation)!=null?s:[]}}},[e.pointCloudBoxList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),f.length===0)return null;if(d===lbUtils.EPointCloudPattern.Segmentation)return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegmentListener,{checkMode:l,toolInstanceRef:o}),React__default.default.createElement(PointCloudSegmentToolbar,null),React__default.default.createElement(PointCloudSegment,{checkMode:l}),React__default.default.createElement(PointCloudSegmentStatus,null),u==null?void 0:u({direct:!0}));let C=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&&(C=React__default.default.createElement(index$2,{selectAndEnlarge:E,checkMode:l})),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:l,toolInstanceRef:o}),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")},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left")},React__default.default.createElement(PointCloud3DView,null),C),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:u,checkMode:l,intelligentFit:P,setIsEnlargeTopView:m,onExitZoom:()=>{m(!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})))),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");function _interopDefaultLegacy(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var React__default=_interopDefaultLegacy(React),classNames__default=_interopDefaultLegacy(classNames);const PointCloudView=({currentData:t,imgList:f,drawLayerSlot:s,checkMode:l,intelligentFit:g,imgIndex:P,loadPCDFileLoading:S,config:v})=>{const e=React.useContext(PointCloudContext.PointCloudContext),{globalPattern:d,setGlobalPattern:p,selectedIDs:c}=e,E=ctx.useDispatch(),[a,m]=React.useState(!1),x=(c==null?void 0:c.length)>0&&a,L=index.jsonParser(t.result),{toolInstanceRef:o,clearToolInstance:q}=annotation.useCustomToolInstance({basicInfo:L});if(React.useEffect(()=>{o.current.setPointCloudGlobalPattern=n=>{n!==d&&(p(n),e.clearAllDetectionInstance(),q())}},[d]),React.useEffect(()=>{var n;if(actionCreators.SetLoadPCDFileLoading(E,!0),t){const{boxParamsList:i,polygonList:r,lineList:u,sphereParamsList:b,segmentation:j}=lbUtils.PointCloudUtils.parsePointCloudCurrentResult((n=t==null?void 0:t.result)!=null?n:"");e.setPointCloudResult(i),e.setPolygonList(r),e.setLineList(u),e.setPointCloudSphereList(b),e.setSegmentation(j)}},[P]),React.useEffect(()=>{o.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],o.current.exportCustomData=()=>{var n,i,r,u;return{resultPolygon:(n=e.polygonList)!=null?n:[],resultLine:(i=e.lineList)!=null?i:[],resultPoint:(r=e.pointCloudSphereList)!=null?r:[],segmentation:(u=e.segmentation)!=null?u:[]}}},[e.pointCloudBoxList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),f.length===0)return null;if(d===lbUtils.EPointCloudPattern.Segmentation)return React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegmentListener,{checkMode:l,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:l}),React__default.default.createElement(PointCloudSegment2DView,null)),React__default.default.createElement(PointCloudSegmentStatus,{config:v}),s==null?void 0:s({direct:!0}));let C=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&&(C=React__default.default.createElement(index$2,{selectAndEnlarge:x,checkMode:l})),React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudListener,{checkMode:l,toolInstanceRef:o}),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")},React__default.default.createElement("div",{className:dom.getClassName("point-cloud-container","left")},React__default.default.createElement(PointCloud3DView,null),C),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:s,checkMode:l,intelligentFit:g,setIsEnlargeTopView:m,onExitZoom:()=>{m(!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})))),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;
package/dist/index.css CHANGED
@@ -1964,6 +1964,13 @@
1964
1964
  position: relative;
1965
1965
  }
1966
1966
 
1967
+ .bee-point-cloud-container__title-button {
1968
+ border-radius: 2px;
1969
+ padding: 4px 8px;
1970
+ background-color: #fff;
1971
+ color: #000000;
1972
+ }
1973
+
1967
1974
  .bee-point-cloud-wrapper {
1968
1975
  display: flex;
1969
1976
  height: 100%;
@@ -2061,12 +2068,6 @@
2061
2068
  left: 16px;
2062
2069
  z-index: 1000;
2063
2070
  }
2064
- .bee-point-cloud-wrapper .bee-point-cloud-container__title-button {
2065
- border-radius: 2px;
2066
- padding: 4px 8px;
2067
- background-color: #fff;
2068
- color: #000000;
2069
- }
2070
2071
  .bee-point-cloud-wrapper .bee-point-cloud-container__zoom {
2071
2072
  position: absolute;
2072
2073
  top: 0px;
@@ -27,6 +27,7 @@ interface IProps {
27
27
  max: number;
28
28
  ratio: number;
29
29
  };
30
+ staticMode?: boolean;
30
31
  }
31
32
  declare const _default: React.ForwardRefExoticComponent<IProps & React.RefAttributes<unknown>>;
32
33
  export default _default;
@@ -19,6 +19,7 @@ interface IProps {
19
19
  updateColorConfig?: (value: string, color: string) => void;
20
20
  updateSize?: (size: IDefaultSize) => void;
21
21
  attributeLockChange?: (list: any) => void;
22
+ forbidShowLimitPopover?: boolean;
22
23
  }
23
24
  declare const AttributeList: React.ForwardRefExoticComponent<IProps & React.RefAttributes<unknown>>;
24
25
  export default AttributeList;
@@ -15,7 +15,7 @@ export interface IAnnotationData2dView {
15
15
  annotations: IAnnotationDataTemporarily[];
16
16
  url: string;
17
17
  calName?: string;
18
- calib: ICalib;
18
+ calib?: ICalib;
19
19
  path: string;
20
20
  }
21
21
  interface IProps extends IA2MapStateProps {
@@ -22,7 +22,7 @@ interface IPointCloudSegment {
22
22
  type AttrPanelLayout = '' | 'left' | 'right';
23
23
  interface IHighlight2DData {
24
24
  url: string;
25
- calib: ICalib;
25
+ calib?: ICalib;
26
26
  }
27
27
  export interface IPointCloudContext extends IPointCloudContextInstances, IPointCloudStatus, IPointCloudSegment {
28
28
  pointCloudBoxList: IPointCloudBoxList;
@@ -0,0 +1,7 @@
1
+ import { IA2MapStateProps } from '@/store/annotation/map';
2
+ import React from 'react';
3
+ interface IProps extends IA2MapStateProps {
4
+ checkMode?: boolean;
5
+ }
6
+ declare const _default: import("react-redux").ConnectedComponent<({ currentData, highlightAttribute }: IProps) => React.JSX.Element | null, import("react-redux").Omit<IProps, "imgIndex" | "imgList" | "config" | "highlightAttribute" | "loadPCDFileLoading" | "currentData" | "stepInfo" | "configString">>;
7
+ export default _default;
@@ -1,3 +1,6 @@
1
1
  import React from 'react';
2
- declare const PointCloudSegmentStatus: () => React.JSX.Element | null;
2
+ import { IPointCloudConfig } from '@labelbee/lb-utils';
3
+ declare const PointCloudSegmentStatus: (props: {
4
+ config: IPointCloudConfig;
5
+ }) => React.JSX.Element | null;
3
6
  export default PointCloudSegmentStatus;
@@ -4,5 +4,5 @@ interface IProps {
4
4
  onClick?: () => void;
5
5
  style?: React.CSSProperties;
6
6
  }
7
- declare const TitleButton: ({ title, onClick, style }: IProps) => React.JSX.Element;
7
+ declare const TitleButton: ({ title, onClick, style }: IProps) => React.JSX.Element | null;
8
8
  export default TitleButton;
@@ -5,4 +5,5 @@ export declare const useAttribute: () => {
5
5
  reRenderPointCloud3DBox: (newBox: IPointCloudBox) => void;
6
6
  defaultAttribute: string;
7
7
  updateSegmentAttribute: (attribute: string) => void;
8
+ updateSegmentSubAttribute: (key: string, value: string) => void;
8
9
  };
@@ -6,7 +6,7 @@
6
6
  import { IAnnotationStateProps } from '../../../store/annotation/map';
7
7
  import { ICalib } from '@labelbee/lb-utils';
8
8
  declare const useHighlight: ({ currentData }: Partial<IAnnotationStateProps>) => {
9
- toggle2dVisible: (url: string, calib: ICalib) => Promise<void>;
9
+ toggle2dVisible: (url: string, calib?: ICalib) => Promise<void>;
10
10
  isHighlightVisible: (url: string) => boolean;
11
11
  };
12
12
  export { useHighlight };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _=require("lodash"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(n){return n&&typeof n=="object"&&"default"in n?n:{default:n}}var ___default=_interopDefaultLegacy(_),__defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(n,t,e)=>t in n?__defProp(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,__spreadValues=(n,t)=>{for(var e in t||(t={}))__hasOwnProp.call(t,e)&&__defNormalProp(n,e,t[e]);if(__getOwnPropSymbols)for(var e of __getOwnPropSymbols(t))__propIsEnum.call(t,e)&&__defNormalProp(n,e,t[e]);return n},__spreadProps=(n,t)=>__defProps(n,__getOwnPropDescs(t));const jsonParser=(n,t={})=>{try{return typeof n=="string"?JSON.parse(n):___default.default.isObject(n)?n:t}catch(e){return t}},classnames=n=>{if(Array.isArray(n))return n.filter(t=>t).join(" ");if(___default.default.isObject(n)){const t=[];return Object.keys(n).forEach(e=>{n[e]&&t.push(e)}),t.join(" ")}return""},getBoundingRect=n=>{let t=Infinity,e=Infinity,r=-Infinity,i=-Infinity;for(const o of n)t=Math.min(t,o.x),e=Math.min(e,o.y),r=Math.max(r,o.x),i=Math.max(i,o.y);return{x:t,y:e,width:r-t,height:i-e}},isBoundingRectInImage=(()=>{const n=(t,e)=>{const r=Math.max(t.x,e.x),i=Math.max(t.y,e.y),o=Math.min(t.x+t.width,e.x+e.width),s=Math.min(t.y+t.height,e.y+e.height),u=o-r,a=s-i;return u>=0&&a>=0?{x:r,y:i,width:u,height:a}:null};return(t,e,r)=>{if(r[e]){const i=r[e].width,o=r[e].height;return n(t,{x:0,y:0,width:i,height:o})!==null}return!1}})(),getRectPointCloudBox=n=>{const{pointCloudBox:t,mappingData:e,imageSizes:r}=n,{transferViewData:i}=lbAnnotation.pointCloudLidar2image(t,e.calib),o=i.reduce((a,c)=>c.type==="line"?[...a,...c.pointList]:a,[]),s=__spreadProps(__spreadValues({},getBoundingRect(o)),{imageName:e.path});if(isBoundingRectInImage(s,e.path,r))return s};exports.classnames=classnames,exports.getBoundingRect=getBoundingRect,exports.getRectPointCloudBox=getRectPointCloudBox,exports.jsonParser=jsonParser;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _=require("lodash"),lbAnnotation=require("@labelbee/lb-annotation");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var ___default=_interopDefaultLegacy(_),__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));const jsonParser=(e,t={})=>{try{return typeof e=="string"?JSON.parse(e):___default.default.isObject(e)?e:t}catch(r){return t}},classnames=e=>{if(Array.isArray(e))return e.filter(t=>t).join(" ");if(___default.default.isObject(e)){const t=[];return Object.keys(e).forEach(r=>{e[r]&&t.push(r)}),t.join(" ")}return""},getBoundingRect=e=>{let t=Infinity,r=Infinity,n=-Infinity,o=-Infinity;for(const i of e)t=Math.min(t,i.x),r=Math.min(r,i.y),n=Math.max(n,i.x),o=Math.max(o,i.y);return{x:t,y:r,width:n-t,height:o-r}},isBoundingRectInImage=(()=>{const e=(t,r)=>{const n=Math.max(t.x,r.x),o=Math.max(t.y,r.y),i=Math.min(t.x+t.width,r.x+r.width),s=Math.min(t.y+t.height,r.y+r.height),a=i-n,u=s-o;return a>=0&&u>=0?{x:n,y:o,width:a,height:u}:null};return(t,r,n)=>{if(n[r]){const o=n[r].width,i=n[r].height;return e(t,{x:0,y:0,width:o,height:i})!==null}return!1}})(),getRectPointCloudBox=e=>{var t;const{pointCloudBox:r,mappingData:n,imageSizes:o}=e,{transferViewData:i}=(t=lbAnnotation.pointCloudLidar2image(r,n.calib))!=null?t:{};if(!i)return;const s=i.reduce((c,p)=>p.type==="line"?[...c,...p.pointList]:c,[]),a=__spreadProps(__spreadValues({},getBoundingRect(s)),{imageName:n.path});if(isBoundingRectInImage(a,n.path,o))return a};exports.classnames=classnames,exports.getBoundingRect=getBoundingRect,exports.getRectPointCloudBox=getRectPointCloudBox,exports.jsonParser=jsonParser;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var React=require("react"),icons=require("@ant-design/icons"),ToolIcons=require("../ToolIcons.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$1=require("./components/batchUpdateModal/index.js"),lbUtils=require("@labelbee/lb-utils"),index$2=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"),index$3=require("../index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),usePointCloudViews=require("../../../../components/pointCloudView/hooks/usePointCloudViews.js");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,n)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,__spreadValues=(t,e)=>{for(var n in e||(e={}))__hasOwnProp.call(e,n)&&__defNormalProp(t,n,e[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(e))__propIsEnum.call(e,n)&&__defNormalProp(t,n,e[n]);return t},__spreadProps=(t,e)=>__defProps(t,__getOwnPropDescs(e));const AnnotatedBox=({imgList:t,imgIndex:e})=>{const n=React.useContext(PointCloudContext.PointCloudContext),[d,s]=React.useState([]),{t:a}=reactI18next.useTranslation();React.useEffect(()=>{const f=t;let r=new Map;s(lbUtils.PointCloudUtils.getAllPointCloudResult({imgList:f,extraBoxList:u,ignoreIndexList:[e]}).filter(o=>!o.trackID||r.get(o.trackID)?!1:(r.set(o.trackID,!0),!0)).sort((o,v)=>{var i,g;const c=(i=o==null?void 0:o.trackID)!=null?i:0,p=(g=v==null?void 0:v.trackID)!=null?g:0;return c-p}).map(o=>{var v;return(v=o==null?void 0:o.trackID)!=null?v:0}))},[n.pointCloudBoxList,t]);const{pointCloudBoxList:u}=n;return React__default.default.createElement("div",{style:{padding:24,borderBottom:"1px solid #eee"}},React__default.default.createElement("div",{style:{marginBottom:16}},a("AllTrackIDs")),React__default.default.createElement("div",null,d.map(f=>React__default.default.createElement(antd.Tag,{color:"#F3F4FF",key:f,style:{color:"#666",marginBottom:8}},f))))},BoxTrackIDInput=()=>{const[t,e]=React.useState(!1),n=React.useContext(PointCloudContext.PointCloudContext),{pointCloudBoxList:d}=n,{selectedBox:s,updateSelectedBox:a}=useSingleBox.useSingleBox(),[u,f]=React.useState(""),{t:r}=reactI18next.useTranslation(),o=s==null?void 0:s.info.trackID,v=c=>!!d.find(S=>S.trackID===c&&S.id!==(s==null?void 0:s.info.id)),i=(c=!1)=>{const p=parseInt(u,10);if(c&&e(!1),isNaN(p)){antd.message.error(r("PositiveIntegerCheck"));return}if(u.indexOf(".")>-1){antd.message.error(r("NotAllowDecimalPointsInTrackID"));return}if(v(p)){antd.message.error(r("DuplicateTrackIDsExist"));return}if(!(p>0)){antd.message.error(r("PositiveIntegerCheck"));return}g(p)};React.useEffect(()=>{e(!1)},[o]);const g=c=>{var p;const S=a({trackID:c});(p=n==null?void 0:n.topViewInstance)==null||p.updatePolygonList(S!=null?S:[])};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,r("CurrentBoxTrackIDs")),o&&React__default.default.createElement(index$1,{id:o,updateCurrentPolygonList:c=>g(c)})),React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},t&&o?React__default.default.createElement(antd.Input,{defaultValue:o,onChange:c=>{f(c.target.value)},disabled:!o,size:"small",onBlur:()=>{i()},onPressEnter:()=>{i(!0)}}):React__default.default.createElement("span",null,o),React__default.default.createElement(icons.EditFilled,{style:{color:"#999",marginLeft:16,cursor:typeof o!="undefined"?"pointer":"not-allowed"},onClick:()=>{o&&e(!t)}})))},AttributeUpdater=({attributeList:t,subAttributeList:e,toolInstance:n,config:d,stepList:s,stepInfo:a,enableColorPicker:u})=>{const{selectedBox:f}=useSingleBox.useSingleBox(),r=React.useContext(PointCloudContext.PointCloudContext),{t:o}=reactI18next.useTranslation(),{defaultAttribute:v}=useAttribute.useAttribute(),i=usePointCloudViews.usePointCloudViews(),g=ctx.useDispatch(),c={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"},p={margin:"12px 20px 8px",fontSize:14,fontWeight:500,wordWrap:"break-word"},S=(l,x)=>{var b,_,I,y,m;const E=(b=d==null?void 0:d.attributeList)==null?void 0:b.map(C=>C.value===l?__spreadProps(__spreadValues({},C),{color:x}):C),k=__spreadProps(__spreadValues({},d),{attributeList:E}),T=JSON.stringify(k),B=s==null?void 0:s.map(C=>(C==null?void 0:C.step)===(a==null?void 0:a.step)?__spreadProps(__spreadValues({},C),{config:T}):C);(_=r==null?void 0:r.topViewInstance)==null||_.updateAttributeList(E),(I=r==null?void 0:r.sideViewInstance)==null||I.updateAttributeList(E),(y=r==null?void 0:r.backViewInstance)==null||y.updateAttributeList(E),(m=r==null?void 0:r.mainViewInstance)==null||m.setConfig(k),g(actionCreators.SetTaskStepList({stepList:B}))},w=l=>{i.updateViewsByDefaultSize&&i.updateViewsByDefaultSize(l)},D=l=>{n.setDefaultAttribute(l)},P=(l,x)=>{n.setSubAttribute(l,x)},L=t.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}));return React__default.default.createElement("div",null,React__default.default.createElement("div",{style:c},o("Attribute")),React__default.default.createElement(index$2.default,{list:L,forbidDefault:!0,selectedAttribute:v!=null?v:"",attributeChanged:l=>D(l),updateColorConfig:S,enableColorPicker:u,updateSize:w}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),f&&React__default.default.createElement(React__default.default.Fragment,null,e.map(l=>{var x,b,_,I,y;return(l==null?void 0:l.subSelected)&&React__default.default.createElement("div",{style:{marginTop:12},key:l.value},React__default.default.createElement("div",{style:p},o("SubAttribute"),"-",l.key),((x=l.subSelected)==null?void 0:x.length)<5?React__default.default.createElement(index$2.default,{list:l.subSelected.map(m=>({label:m.key,value:m.value})),selectedAttribute:(_=(b=r.selectedPointCloudBox)==null?void 0:b.subAttribute)==null?void 0:_[l.value],num:"-",forbidColor:!0,forbidDefault:!0,attributeChanged:m=>P(l.value,m),style:{marginBottom:12}}):React__default.default.createElement(antd.Select,{style:{margin:"0px 21px 17px 16px",width:"87%"},value:(y=(I=r.selectedPointCloudBox)==null?void 0:I.subAttribute)==null?void 0:y[l.value],placeholder:o("PleaseSelect"),onChange:m=>P(l.value,m),allowClear:!0},l.subSelected.map(m=>React__default.default.createElement(antd.Select.Option,{key:m.value,value:m.value},m.key))),React__default.default.createElement(antd.Divider,{style:{margin:0}}))})))},renderSegmentTools=[{toolName:"LassoSelector",commonSvg:lassoSelector,selectedSvg:lassoSelector_a},{toolName:"CircleSelector",commonSvg:circleSelector,selectedSvg:circleSelector_a}],PointCloudSegToolIcon=({toolInstance:t})=>{const{ptSegmentInstance:e}=React.useContext(PointCloudContext.PointCloudContext),[n,d]=React.useState("LassoSelector"),{t:s}=reactI18next.useTranslation();return React.useEffect(()=>{if(!e)return;const a=()=>{d("LassoSelector")},u=()=>{d("CircleSelector")};return e.on("LassoSelector",a),e.on("CircleSelector",u),()=>{e.unbind("LassoSelector",a),e.unbind("CircleSelector",u)}},[e]),React__default.default.createElement("div",{className:`${index$3.sidebarCls}__level`},renderSegmentTools.map(a=>{const u=n===a.toolName;return React__default.default.createElement("span",{className:`${index$3.sidebarCls}__toolOption`,key:a.toolName,onClick:()=>e==null?void 0:e.emit(a.toolName)},React__default.default.createElement("img",{className:`${index$3.sidebarCls}__singleTool`,src:u?a==null?void 0:a.selectedSvg:a==null?void 0:a.commonSvg}),React__default.default.createElement("span",{className:index.classnames({[`${index$3.sidebarCls}__toolOption__selected`]:u})},s(a.toolName)))}))},PointCloudToolSidebar=({stepInfo:t,toolInstance:e,imgList:n,imgIndex:d,stepList:s,enableColorPicker:a})=>{var u,f;const{updatePointCloudPattern:r,pointCloudPattern:o,isPointCloudSegmentationPattern:v}=useStatus.useStatus(),i=index.jsonParser(t.config),g=(u=i==null?void 0:i.attributeList)!=null?u:[],c=(i==null?void 0:i.secondaryAttributeConfigurable)===!0?(f=i==null?void 0:i.inputList)!=null?f:[]:[];return v?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegToolIcon,{toolInstance:e}),React__default.default.createElement(AttributeUpdater,{toolInstance:e,attributeList:g,subAttributeList:c,config:i,stepList:s,stepInfo:t,enableColorPicker:a})):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ToolIcons.ToolIcons,{toolName:lbAnnotation.cTool.EPointCloudName.PointCloud,selectedToolName:o,onChange:p=>r==null?void 0:r(p)}),React__default.default.createElement(AttributeUpdater,{toolInstance:e,attributeList:g,subAttributeList:c,config:i,stepList:s,stepInfo:t,enableColorPicker:a}),(i==null?void 0:i.trackConfigurable)===!0&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(BoxTrackIDInput,null),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(AnnotatedBox,{imgList:n,imgIndex:d})))},mapStateToProps=t=>{var e,n,d,s;const a=StepUtils.getCurrentStepInfo((e=t.annotation)==null?void 0:e.step,(n=t.annotation)==null?void 0:n.stepList),u=(d=t.annotation)==null?void 0:d.toolInstance,f=(s=t.annotation)==null?void 0:s.stepList;return{stepInfo:a,toolInstance:u,imgList:t.annotation.imgList,imgIndex:t.annotation.imgIndex,stepList:f}};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"),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$1=require("./components/batchUpdateModal/index.js"),lbUtils=require("@labelbee/lb-utils"),index$2=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$3=require("../index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),usePointCloudViews=require("../../../../components/pointCloudView/hooks/usePointCloudViews.js");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,o)=>e in t?__defProp(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,__spreadValues=(t,e)=>{for(var o in e||(e={}))__hasOwnProp.call(e,o)&&__defNormalProp(t,o,e[o]);if(__getOwnPropSymbols)for(var o of __getOwnPropSymbols(e))__propIsEnum.call(e,o)&&__defNormalProp(t,o,e[o]);return t},__spreadProps=(t,e)=>__defProps(t,__getOwnPropDescs(e));const AnnotatedBox=({imgList:t,imgIndex:e})=>{const o=React.useContext(PointCloudContext.PointCloudContext),[m,u]=React.useState([]),{t:l}=reactI18next.useTranslation();React.useEffect(()=>{const s=t;let v=new Map;u(lbUtils.PointCloudUtils.getAllPointCloudResult({imgList:s,extraBoxList:c,ignoreIndexList:[e]}).filter(a=>!a.trackID||v.get(a.trackID)?!1:(v.set(a.trackID,!0),!0)).sort((a,r)=>{var i,f;const d=(i=a==null?void 0:a.trackID)!=null?i:0,p=(f=r==null?void 0:r.trackID)!=null?f:0;return d-p}).map(a=>{var r;return(r=a==null?void 0:a.trackID)!=null?r:0}))},[o.pointCloudBoxList,t]);const{pointCloudBoxList:c}=o;return React__default.default.createElement("div",{style:{padding:24,borderBottom:"1px solid #eee"}},React__default.default.createElement("div",{style:{marginBottom:16}},l("AllTrackIDs")),React__default.default.createElement("div",null,m.map(s=>React__default.default.createElement(antd.Tag,{color:"#F3F4FF",key:s,style:{color:"#666",marginBottom:8}},s))))},BoxTrackIDInput=()=>{const[t,e]=React.useState(!1),o=React.useContext(PointCloudContext.PointCloudContext),{pointCloudBoxList:m}=o,{selectedBox:u,updateSelectedBox:l}=useSingleBox.useSingleBox(),[c,s]=React.useState(""),{t:v}=reactI18next.useTranslation(),a=u==null?void 0:u.info.trackID,r=d=>!!m.find(C=>C.trackID===d&&C.id!==(u==null?void 0:u.info.id)),i=(d=!1)=>{const p=parseInt(c,10);if(d&&e(!1),isNaN(p)){antd.message.error(v("PositiveIntegerCheck"));return}if(c.indexOf(".")>-1){antd.message.error(v("NotAllowDecimalPointsInTrackID"));return}if(r(p)){antd.message.error(v("DuplicateTrackIDsExist"));return}if(!(p>0)){antd.message.error(v("PositiveIntegerCheck"));return}f(p)};React.useEffect(()=>{e(!1)},[a]);const f=d=>{var p;const C=l({trackID:d});(p=o==null?void 0:o.topViewInstance)==null||p.updatePolygonList(C!=null?C:[])};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")),a&&React__default.default.createElement(index$1,{id:a,updateCurrentPolygonList:d=>f(d)})),React__default.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},t&&a?React__default.default.createElement(antd.Input,{defaultValue:a,onChange:d=>{s(d.target.value)},disabled:!a,size:"small",onBlur:()=>{i()},onPressEnter:()=>{i(!0)}}):React__default.default.createElement("span",null,a),React__default.default.createElement(icons.EditFilled,{style:{color:"#999",marginLeft:16,cursor:typeof a!="undefined"?"pointer":"not-allowed"},onClick:()=>{a&&e(!t)}})))},isAllowUpdateInSegment=({segmentStatus:t,globalPattern:e})=>e===lbUtils.EPointCloudPattern.Segmentation&&![lbUtils.EPointCloudSegmentStatus.Edit,lbUtils.EPointCloudSegmentStatus.Ready].includes(t),AttributeUpdater=({attributeList:t,subAttributeList:e,toolInstance:o,config:m,stepList:u,stepInfo:l,enableColorPicker:c})=>{const[s,v]=React.useState({segmentStatus:lbUtils.EPointCloudSegmentStatus.Ready}),{selectedBox:a}=useSingleBox.useSingleBox(),r=React.useContext(PointCloudContext.PointCloudContext),{ptSegmentInstance:i}=r,{t:f}=reactI18next.useTranslation(),{defaultAttribute:d}=useAttribute.useAttribute(),p=usePointCloudViews.usePointCloudViews(),{isPointCloudSegmentationPattern:C}=useStatus.useStatus(),k=ctx.useDispatch(),L={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"},h={margin:"12px 20px 8px",fontSize:14,fontWeight:500,wordWrap:"break-word"};React.useEffect(()=>{if(!!i)return i.on("syncPointCloudStatus",v),()=>{i.unbind("syncPointCloudStatus",v)}},[i]);const j=(n,_)=>{var b,P,E,y,I;const x=(b=m==null?void 0:m.attributeList)==null?void 0:b.map(S=>S.value===n?__spreadProps(__spreadValues({},S),{color:_}):S),D=__spreadProps(__spreadValues({},m),{attributeList:x}),w=JSON.stringify(D),g=u==null?void 0:u.map(S=>(S==null?void 0:S.step)===(l==null?void 0:l.step)?__spreadProps(__spreadValues({},S),{config:w}):S);(P=r==null?void 0:r.topViewInstance)==null||P.updateAttributeList(x),(E=r==null?void 0:r.sideViewInstance)==null||E.updateAttributeList(x),(y=r==null?void 0:r.backViewInstance)==null||y.updateAttributeList(x),(I=r==null?void 0:r.mainViewInstance)==null||I.setConfig(D),k(actionCreators.SetTaskStepList({stepList:g}))},B=n=>{p.updateViewsByDefaultSize&&p.updateViewsByDefaultSize(n)},q=n=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:s.segmentStatus})||o.setDefaultAttribute(n)},T=(n,_)=>{isAllowUpdateInSegment({globalPattern:r.globalPattern,segmentStatus:s.segmentStatus})||o.setSubAttribute(n,_)},V=t.map(n=>({label:n.key,value:n.value,color:n==null?void 0:n.color,limit:n==null?void 0:n.limit,isDefault:n==null?void 0:n.isDefault})),N=a||s.cacheSegData&&s.segmentStatus===lbUtils.EPointCloudSegmentStatus.Edit,O=C;return React__default.default.createElement("div",null,React__default.default.createElement("div",{style:L},f("Attribute")),React__default.default.createElement(index$2.default,{list:V,forbidDefault:!0,selectedAttribute:d!=null?d:"",attributeChanged:n=>q(n),updateColorConfig:j,enableColorPicker:c,updateSize:B,forbidShowLimitPopover:O}),React__default.default.createElement(antd.Divider,{style:{margin:0}}),N&&React__default.default.createElement(React__default.default.Fragment,null,e.map(n=>{var _,b,P,E,y,I,x,D,w;return(n==null?void 0:n.subSelected)&&React__default.default.createElement("div",{style:{marginTop:12},key:n.value},React__default.default.createElement("div",{style:h},f("SubAttribute"),"-",n.key),((_=n.subSelected)==null?void 0:_.length)<5?React__default.default.createElement(index$2.default,{list:n.subSelected.map(g=>({label:g.key,value:g.value})),selectedAttribute:((P=(b=r.selectedPointCloudBox)==null?void 0:b.subAttribute)==null?void 0:P[n.value])||((y=(E=s.cacheSegData)==null?void 0:E.subAttribute)==null?void 0:y[n.value]),num:"-",forbidColor:!0,forbidDefault:!0,attributeChanged:g=>T(n.value,g),style:{marginBottom:12}}):React__default.default.createElement(antd.Select,{style:{margin:"0px 21px 17px 16px",width:"87%"},value:((x=(I=r.selectedPointCloudBox)==null?void 0:I.subAttribute)==null?void 0:x[n.value])||((w=(D=s.cacheSegData)==null?void 0:D.subAttribute)==null?void 0:w[n.value]),placeholder:f("PleaseSelect"),onChange:g=>T(n.value,g),allowClear:!0},n.subSelected.map(g=>React__default.default.createElement(antd.Select.Option,{key:g.value,value:g.value},g.key))),React__default.default.createElement(antd.Divider,{style:{margin:0}}))})))},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:t})=>{const{ptSegmentInstance:e}=React.useContext(PointCloudContext.PointCloudContext),[o,m]=React.useState("LassoSelector"),{t:u}=reactI18next.useTranslation();return React.useEffect(()=>{if(!e)return;const l=()=>{m("LassoSelector")},c=()=>{m("RectSelector")},s=()=>{m("CircleSelector")};return e.on("LassoSelector",l),e.on("RectSelector",c),e.on("CircleSelector",s),()=>{e.unbind("LassoSelector",l),e.unbind("RectSelector",c),e.unbind("CircleSelector",s)}},[e]),React__default.default.createElement("div",{className:`${index$3.sidebarCls}__level`},renderSegmentTools.map(l=>{const c=o===l.toolName;return React__default.default.createElement("span",{className:`${index$3.sidebarCls}__toolOption`,key:l.toolName,onClick:()=>e==null?void 0:e.emit(l.toolName)},React__default.default.createElement("img",{className:`${index$3.sidebarCls}__singleTool`,src:c?l==null?void 0:l.selectedSvg:l==null?void 0:l.commonSvg}),React__default.default.createElement("span",{className:index.classnames({[`${index$3.sidebarCls}__toolOption__selected`]:c})},u(l.toolName)))}))},PointCloudToolSidebar=({stepInfo:t,toolInstance:e,imgList:o,imgIndex:m,stepList:u,enableColorPicker:l})=>{var c,s;const{updatePointCloudPattern:v,pointCloudPattern:a,isPointCloudSegmentationPattern:r}=useStatus.useStatus(),i=index.jsonParser(t.config),f=(c=i==null?void 0:i.attributeList)!=null?c:[],d=(i==null?void 0:i.secondaryAttributeConfigurable)===!0?(s=i==null?void 0:i.inputList)!=null?s:[]:[];return r?React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(PointCloudSegToolIcon,{toolInstance:e}),React__default.default.createElement(AttributeUpdater,{toolInstance:e,attributeList:f,subAttributeList:d,config:i,stepList:u,stepInfo:t,enableColorPicker:l})):React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(ToolIcons.ToolIcons,{toolName:lbAnnotation.cTool.EPointCloudName.PointCloud,selectedToolName:a,onChange:p=>v==null?void 0:v(p)}),React__default.default.createElement(AttributeUpdater,{toolInstance:e,attributeList:f,subAttributeList:d,config:i,stepList:u,stepInfo:t,enableColorPicker:l}),(i==null?void 0:i.trackConfigurable)===!0&&React__default.default.createElement(React__default.default.Fragment,null,React__default.default.createElement(BoxTrackIDInput,null),React__default.default.createElement(antd.Divider,{style:{margin:0}}),React__default.default.createElement(AnnotatedBox,{imgList:o,imgIndex:m})))},mapStateToProps=t=>{var e,o,m,u;const l=StepUtils.getCurrentStepInfo((e=t.annotation)==null?void 0:e.step,(o=t.annotation)==null?void 0:o.stepList),c=(m=t.annotation)==null?void 0:m.toolInstance,s=(u=t.annotation)==null?void 0:u.stepList;return{stepInfo:l,toolInstance:c,imgList:t.annotation.imgList,imgIndex:t.annotation.imgIndex,stepList:s}};var PointCloudToolSidebar$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(PointCloudToolSidebar);exports.PointCloudSegToolIcon=PointCloudSegToolIcon,exports.default=PointCloudToolSidebar$1;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index=require("../common/index.js"),icon_move_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js"),icon_mouse_left_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js"),icon_mouse_right_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js"),changePointCloudValid=require("../../../../../../assets/annotation/pointCloudTool/changePointCloudValid.svg.js"),copy=require("../../../../../../assets/annotation/pointCloudTool/copy.svg.js"),nextBox=require("../../../../../../assets/annotation/pointCloudTool/nextBox.svg.js"),patse=require("../../../../../../assets/annotation/pointCloudTool/patse.svg.js"),prevBox=require("../../../../../../assets/annotation/pointCloudTool/prevBox.svg.js"),rotate180_black=require("../../../../../../assets/annotation/pointCloudTool/rotate180_black.svg.js"),selectAll=require("../../../../../../assets/annotation/pointCloudTool/selectAll.svg.js"),selectMultiple=require("../../../../../../assets/annotation/pointCloudTool/selectMultiple.svg.js"),icon_tab_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js"),icon_del_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js"),lassoSelector=require("../../../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js"),circleSelector=require("../../../../../../assets/annotation/pointCloudTool/circleSelector.svg.js"),addSvg=require("../../../../../../assets/annotation/pointCloudTool/addSvg.svg.js"),clearSvg=require("../../../../../../assets/annotation/pointCloudTool/clearSvg.svg.js"),React=require("react"),icons=require("@ant-design/icons"),index$1=require("../polygon/index.js");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React);const changePointSize={name:"PointThickness",icon:React__default.default.createElement("span",{style:{display:" inline-block",width:14,height:14,borderRadius:"50%",border:"1px solid"}}),shortCut:["+","-"],linkSymbol:""},rotateRoundCenter={name:"RotateAroundCenterPoint",icon:React__default.default.createElement(icons.ReloadOutlined,null),shortCut:[icon_mouse_left_kj],noticeInfo:"DragOperation"},Drag3D={name:"PointCloudViewTranslate",icon:icon_move_kj,shortCut:[icon_mouse_right_kj],noticeInfo:"Drag"},DragTopView={name:"TopViewTranslate",icon:icon_move_kj,shortCut:[icon_mouse_right_kj]},ChangeInvalid={name:"ChangePointCloudValid",icon:changePointCloudValid,shortCut:["V"]},CopyBox={name:"CopyBox",icon:copy,shortCut:["Ctrl","C"]},PasteBox={name:"PasteBox",icon:patse,shortCut:["Ctrl","V"]},LeftRotate={name:"RotateLeft",icon:React__default.default.createElement(icons.RotateLeftOutlined,null),shortCut:["Q"]},RightRotate={name:"RotateRight",icon:React__default.default.createElement(icons.RotateRightOutlined,null),shortCut:["E"]},PrevBox={name:"PreviousBox",icon:prevBox,shortCut:["Shift","Tab"]},NextBox={name:"NextBox",icon:nextBox,shortCut:["Tab"]},Rotate180={name:"Rotate180",icon:rotate180_black,shortCut:["G"],noticeInfo:"SelectedStatus"},CopyPrevPage={name:"CopyPrevPage",icon:copy,shortCut:["Alt","C"]},ChangeBoxInvalid={name:"ChangeBoxValid",icon:icon_tab_kj,shortCut:["F"],noticeInfo:"SelectedStatus"},SelectMulti={name:"MultiSelect",icon:selectMultiple,shortCut:["Ctrl",icon_mouse_right_kj]},SelectAll={name:"SelectAllBox",icon:selectAll,shortCut:["Ctrl","A"]},deleteBox={name:"Delete",icon:icon_del_kj,shortCut:["Del"],noticeInfo:"SelectedStatus"},LassoSelector={name:"LassoSelector",icon:lassoSelector,shortCut:["H"],noticeInfo:"SelectorMsg"},CircleSelector={name:"CircleSelector",icon:circleSelector,shortCut:["J"],noticeInfo:"SelectorMsg"},Drag3DBySpace={name:"PointCloudViewTranslate",icon:icon_move_kj,shortCut:["space",icon_mouse_right_kj]},AddMove={name:"AddPoint",icon:addSvg,shortCut:["U"]},DeletePoint={name:"DeletePoint",icon:clearSvg,shortCut:["I"]},pointCloudShortCutTable=[{name:"GeneralOperation"},index.backward,index.forward,changePointSize,index.scale,rotateRoundCenter,Drag3D,DragTopView,ChangeInvalid,{name:"RectPattern"},CopyBox,PasteBox,LeftRotate,RightRotate,PrevBox,NextBox,Rotate180,CopyPrevPage,ChangeBoxInvalid,deleteBox,SelectMulti,SelectAll,index.fullScreen],pointCloudShortCutTable_POLYGON=[{name:"GeneralOperation"},index.backward,index.forward,changePointSize,index.scale,rotateRoundCenter,Drag3D,DragTopView,ChangeInvalid,{name:"PolygonPattern"},index$1.polygon,index$1.invalidPolygon,index$1.selectedPolygon,index$1.changePolygonAttribute,index$1.deletePolygon,index$1.insertPolygonPoint,index$1.deletePolygonPoint],pointCloudShortCutTable_SEGMENT=[index.backward,index.forward,rotateRoundCenter,Drag3DBySpace,LassoSelector,CircleSelector,AddMove,DeletePoint];exports.default=pointCloudShortCutTable,exports.pointCloudShortCutTable_POLYGON=pointCloudShortCutTable_POLYGON,exports.pointCloudShortCutTable_SEGMENT=pointCloudShortCutTable_SEGMENT;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index=require("../common/index.js"),icon_move_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js"),icon_mouse_left_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js"),icon_mouse_right_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js"),changePointCloudValid=require("../../../../../../assets/annotation/pointCloudTool/changePointCloudValid.svg.js"),copy=require("../../../../../../assets/annotation/pointCloudTool/copy.svg.js"),nextBox=require("../../../../../../assets/annotation/pointCloudTool/nextBox.svg.js"),patse=require("../../../../../../assets/annotation/pointCloudTool/patse.svg.js"),prevBox=require("../../../../../../assets/annotation/pointCloudTool/prevBox.svg.js"),rotate180_black=require("../../../../../../assets/annotation/pointCloudTool/rotate180_black.svg.js"),selectAll=require("../../../../../../assets/annotation/pointCloudTool/selectAll.svg.js"),selectMultiple=require("../../../../../../assets/annotation/pointCloudTool/selectMultiple.svg.js"),icon_tab_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js"),icon_del_kj=require("../../../../../../assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js"),lassoSelector=require("../../../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js"),icon_rect=require("../../../../../../assets/annotation/rectTool/icon_rect.svg.js"),circleSelector=require("../../../../../../assets/annotation/pointCloudTool/circleSelector.svg.js"),addSvg=require("../../../../../../assets/annotation/pointCloudTool/addSvg.svg.js"),clearSvg=require("../../../../../../assets/annotation/pointCloudTool/clearSvg.svg.js"),React=require("react"),icons=require("@ant-design/icons"),index$1=require("../polygon/index.js");function _interopDefaultLegacy(o){return o&&typeof o=="object"&&"default"in o?o:{default:o}}var React__default=_interopDefaultLegacy(React);const changePointSize={name:"PointThickness",icon:React__default.default.createElement("span",{style:{display:" inline-block",width:14,height:14,borderRadius:"50%",border:"1px solid"}}),shortCut:["+","-"],linkSymbol:""},rotateRoundCenter={name:"RotateAroundCenterPoint",icon:React__default.default.createElement(icons.ReloadOutlined,null),shortCut:[icon_mouse_left_kj],noticeInfo:"DragOperation"},Drag3D={name:"PointCloudViewTranslate",icon:icon_move_kj,shortCut:[icon_mouse_right_kj],noticeInfo:"Drag"},DragTopView={name:"TopViewTranslate",icon:icon_move_kj,shortCut:[icon_mouse_right_kj]},ChangeInvalid={name:"ChangePointCloudValid",icon:changePointCloudValid,shortCut:["V"]},CopyBox={name:"CopyBox",icon:copy,shortCut:["Ctrl","C"]},PasteBox={name:"PasteBox",icon:patse,shortCut:["Ctrl","V"]},LeftRotate={name:"RotateLeft",icon:React__default.default.createElement(icons.RotateLeftOutlined,null),shortCut:["Q"]},RightRotate={name:"RotateRight",icon:React__default.default.createElement(icons.RotateRightOutlined,null),shortCut:["E"]},PrevBox={name:"PreviousBox",icon:prevBox,shortCut:["Shift","Tab"]},NextBox={name:"NextBox",icon:nextBox,shortCut:["Tab"]},Rotate180={name:"Rotate180",icon:rotate180_black,shortCut:["G"],noticeInfo:"SelectedStatus"},CopyPrevPage={name:"CopyPrevPage",icon:copy,shortCut:["Alt","C"]},ChangeBoxInvalid={name:"ChangeBoxValid",icon:icon_tab_kj,shortCut:["F"],noticeInfo:"SelectedStatus"},SelectMulti={name:"MultiSelect",icon:selectMultiple,shortCut:["Ctrl",icon_mouse_right_kj]},SelectAll={name:"SelectAllBox",icon:selectAll,shortCut:["Ctrl","A"]},deleteBox={name:"Delete",icon:icon_del_kj,shortCut:["Del"],noticeInfo:"SelectedStatus"},LassoSelector={name:"LassoSelector",icon:lassoSelector,shortCut:["H"],noticeInfo:"SelectorMsg"},RectSelector={name:"RectSelector",icon:icon_rect,shortCut:["J"],noticeInfo:"SelectorMsg"},CircleSelector={name:"CircleSelector",icon:circleSelector,shortCut:["K"],noticeInfo:"SelectorMsg"},Drag3DBySpace={name:"PointCloudViewTranslate",icon:icon_move_kj,shortCut:["space",icon_mouse_right_kj]},AddMove={name:"AddPoint",icon:addSvg,shortCut:["U"]},DeletePoint={name:"DeletePoint",icon:clearSvg,shortCut:["I"]},pointCloudShortCutTable=[{name:"GeneralOperation"},index.backward,index.forward,changePointSize,index.scale,rotateRoundCenter,Drag3D,DragTopView,ChangeInvalid,{name:"RectPattern"},CopyBox,PasteBox,LeftRotate,RightRotate,PrevBox,NextBox,Rotate180,CopyPrevPage,ChangeBoxInvalid,deleteBox,SelectMulti,SelectAll,index.fullScreen],pointCloudShortCutTable_POLYGON=[{name:"GeneralOperation"},index.backward,index.forward,changePointSize,index.scale,rotateRoundCenter,Drag3D,DragTopView,ChangeInvalid,{name:"PolygonPattern"},index$1.polygon,index$1.invalidPolygon,index$1.selectedPolygon,index$1.changePolygonAttribute,index$1.deletePolygon,index$1.insertPolygonPoint,index$1.deletePolygonPoint],pointCloudShortCutTable_SEGMENT=[index.backward,index.forward,rotateRoundCenter,Drag3DBySpace,LassoSelector,RectSelector,CircleSelector,AddMove,DeletePoint];exports.default=pointCloudShortCutTable,exports.pointCloudShortCutTable_POLYGON=pointCloudShortCutTable_POLYGON,exports.pointCloudShortCutTable_SEGMENT=pointCloudShortCutTable_SEGMENT;
@@ -0,0 +1,2 @@
1
+ function i(o,a){var r=atob(o);if(a){for(var e=new Uint8Array(r.length),n=0,t=r.length;n<t;++n)e[n]=r.charCodeAt(n);return String.fromCharCode.apply(null,new Uint16Array(e.buffer))}return r}function l(o,a,r){var e=a===void 0?null:a,n=r===void 0?!1:r,t=i(o,n),u=t.indexOf(`
2
+ `,10)+1,c=t.substring(u)+(e?"//# sourceMappingURL="+e:""),f=new Blob([c],{type:"application/javascript"});return URL.createObjectURL(f)}function v(o,a,r){var e;return function(t){return e=e||l(o,a,r),new Worker(e,t)}}export{v as createBase64WorkerFactory};
@@ -0,0 +1 @@
1
+ import{createBase64WorkerFactory as l}from"./_rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js";var Z=l("Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIGM9T2JqZWN0LmRlZmluZVByb3BlcnR5LG89T2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyxsPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksZj1PYmplY3QucHJvdG90eXBlLnByb3BlcnR5SXNFbnVtZXJhYmxlLGE9KHIsZSx0KT0+ZSBpbiByP2MocixlLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTp0fSk6cltlXT10LHU9KHIsZSk9Pntmb3IodmFyIHQgaW4gZXx8KGU9e30pKWwuY2FsbChlLHQpJiZhKHIsdCxlW3RdKTtpZihvKWZvcih2YXIgdCBvZiBvKGUpKWYuY2FsbChlLHQpJiZhKHIsdCxlW3RdKTtyZXR1cm4gcn07b25tZXNzYWdlPWZ1bmN0aW9uKGUpe2NvbnN0e2NhY2hlTWFwOnQsaW5kZXhlczpzLGRlZmF1bHRSR0JBOl99PWUuZGF0YSxkPXMubGVuZ3RoLHA9W107Zm9yKGxldCBuPTA7bjxkO249bisxKXtjb25zdCBpPXRbc1tuXV07aSYmcC5wdXNoKHUoe30saSkpfXBvc3RNZXNzYWdlKHthbm5vdGF0aW9uczpbe3R5cGU6InBpeGVsUG9pbnRzIixhbm5vdGF0aW9uOnAsZGVmYXVsdFJHQkE6X31dfSl9fSkoKTsKCg==",null,!1);export{Z as default};
@@ -1 +1 @@
1
- import v,{useState as A,useRef as b,useImperativeHandle as V,useEffect as u}from"react";import{ViewOperation as j,ImgUtils as Z}from"@labelbee/lb-annotation";import{Spin as k}from"antd/es";import D from"../../hooks/useRefCache.js";var U=Object.defineProperty,y=Object.getOwnPropertySymbols,x=Object.prototype.hasOwnProperty,F=Object.prototype.propertyIsEnumerable,O=(e,n,o)=>n in e?U(e,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[n]=o,g=(e,n)=>{for(var o in n||(n={}))x.call(n,o)&&O(e,o,n[o]);if(y)for(var o of y(n))F.call(n,o)&&O(e,o,n[o]);return e};const _={width:455,height:100},H=e=>{if(!e)return _;if(e.width&&e.height)return e;const n=g({},e);return n.width||(n.width=_.width),n.height||(n.height=_.height),n},N=(e,n)=>{var o,p;const{src:w,annotations:s=[],style:z={stroke:"blue",thickness:3},zoomChange:c,backgroundStyle:P={},onChange:d,showLoading:S=!1,globalStyle:C,afterImgOnLoad:L}=e,f=H(e.size),[R,h]=A(!1),m=b(null),r=b(),I=D(L);V(n,()=>{const t=r.current;return t?{zoomIn:()=>t.zoomChanged(!0),zoomOut:()=>t.zoomChanged(!1),initImgPos:()=>t.initImgPos(),toolInstance:t}:{}},[r.current]),u(()=>(m.current&&(r.current=new j({container:m.current,size:f,style:z,annotations:s,config:"{}",zoomInfo:e.zoomInfo}),r.current.init()),()=>{var t;(t=r.current)==null||t.destroy()}),[]),u(()=>{var t;r.current&&(h(!0),(t=r.current)==null||t.setLoading(!0),Z.load(w).then(a=>{var i,l;(i=r.current)==null||i.setLoading(!1),h(!1),(l=r.current)==null||l.setImgNode(a),I.current&&I.current(a)}).catch(()=>{var a;(a=r.current)==null||a.setLoading(!1),h(!1)}))},[w]),u(()=>{r.current&&r.current.updateData(s)},[s]),u(()=>{const t=r.current;(t==null?void 0:t.setSize)&&(t.setSize(f),t.initPosition())},[(o=e.size)==null?void 0:o.width,(p=e.size)==null?void 0:p.height]),u(()=>{var t,a;return r.current&&((t=r.current)==null||t.on("onChange",(...i)=>{d==null||d.apply(null,i)}),(a=r.current)==null||a.on("renderZoom",i=>{c&&c(i)})),()=>{var i,l;(i=r.current)==null||i.unbindAll("onChange"),(l=r.current)==null||l.unbindAll("renderZoom")}},[c,d]);const E=v.createElement("div",{ref:m,style:g(g({position:"relative"},f),P)});return v.createElement(k,{spinning:S||R,delay:300,style:C},E)};var T=v.forwardRef(N);export{T as default};
1
+ import p,{useState as j,useRef as f,useImperativeHandle as U,useEffect as c}from"react";import{ViewOperation as Z,ImgUtils as k}from"@labelbee/lb-annotation";import{Spin as M}from"antd/es";import x from"../../hooks/useRefCache.js";var F=Object.defineProperty,z=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable,S=(t,n,o)=>n in t?F(t,n,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[n]=o,w=(t,n)=>{for(var o in n||(n={}))H.call(n,o)&&S(t,o,n[o]);if(z)for(var o of z(n))N.call(n,o)&&S(t,o,n[o]);return t};const I={width:455,height:100},T=t=>{if(!t)return I;if(t.width&&t.height)return t;const n=w({},t);return n.width||(n.width=I.width),n.height||(n.height=I.height),n},$=(t,n)=>{var o,b;const{src:y,annotations:s=[],style:P={stroke:"blue",thickness:3},zoomChange:h,backgroundStyle:R={},onChange:v,showLoading:C=!1,globalStyle:L,afterImgOnLoad:A}=t,m=T(t.size),[E,g]=j(!1),_=f(null),r=f(),O=x(A),l=f([]),d=f(!0);U(n,()=>{const e=r.current;return e?{zoomIn:()=>e.zoomChanged(!0),zoomOut:()=>e.zoomChanged(!1),initImgPos:()=>e.initImgPos(),toolInstance:e}:{}},[r.current]),c(()=>(_.current&&(r.current=new Z({container:_.current,size:m,style:P,annotations:s,config:"{}",zoomInfo:t.zoomInfo,staticMode:t.staticMode}),r.current.init()),()=>{var e;(e=r.current)==null||e.destroy()}),[]),c(()=>{var e;r.current&&(g(!0),(e=r.current)==null||e.setLoading(!0),k.load(y).then(i=>{var a,u;(a=r.current)==null||a.setLoading(!1),g(!1),(u=r.current)==null||u.setImgNode(i),O.current&&O.current(i)}).catch(()=>{var i;(i=r.current)==null||i.setLoading(!1),g(!1)}))},[y]),c(()=>{if(d.current===!1){l.current.push(s);return}const e=()=>{d.current=!0,l.current=[]},i=()=>{var a;const u=l.current.length;if(u>0){const V=l.current[u-1];l.current=[],(a=r.current)==null||a.updateData(V).then(i).catch(e)}else d.current=!0};r.current&&(d.current=!1,r.current.updateData(s).then(i).catch(e))},[s]),c(()=>{const e=r.current;(e==null?void 0:e.setSize)&&(e.setSize(m),e.initPosition())},[(o=t.size)==null?void 0:o.width,(b=t.size)==null?void 0:b.height]),c(()=>{var e,i;return r.current&&((e=r.current)==null||e.on("onChange",(...a)=>{v==null||v.apply(null,a)}),(i=r.current)==null||i.on("renderZoom",a=>{h&&h(a)})),()=>{var a,u;(a=r.current)==null||a.unbindAll("onChange"),(u=r.current)==null||u.unbindAll("renderZoom")}},[h,v]);const D=p.createElement("div",{ref:_,style:w(w({position:"relative"},m),R)});return p.createElement(M,{spinning:C||E,delay:300,style:L},D)};var q=p.forwardRef($);export{q as default};
@@ -1 +1 @@
1
- import{COLORS_ARRAY as m,NULL_COLOR as I}from"../../data/Style.js";import{ColorTag as N}from"../colorTag/index.js";import{Radio as b}from"antd/es";import l,{useState as g}from"react";import{Popover as k}from"antd";import V from"../colorPalette/index.js";import{CloseOutlined as w}from"@ant-design/icons";import{useTranslation as x}from"react-i18next";import D from"./components/limitPopover/index.js";const C=[I].concat(m),U=l.forwardRef((e,E)=>{const h=l.useRef(),{t:R}=x(),L=e.list||[],[y,r]=g(!1),[O,P]=g(void 0);let n=[...C];e.forbidDefault===!0&&(n=n.slice(1));let c="sensebee-radio-group";e.noHeightLimit&&(c="sensebee-radio-group-no-limit-height");const T=(t,o)=>{e.updateColorConfig&&e.updateColorConfig(t,o)};return l.createElement("div",{className:c,style:e.style},l.createElement(b.Group,{name:"radiogroup",defaultValue:e==null?void 0:e.selectedAttribute,value:e==null?void 0:e.selectedAttribute,onChange:t=>e.attributeChanged(t.target.value),ref:E},L.map((t,o)=>{var s,d,f;let i=(s=e==null?void 0:e.num)!=null?s:o;const A=(t==null?void 0:t.value)===(e==null?void 0:e.selectedAttribute);e.forbidDefault===!0&&typeof i=="number"&&i++,typeof i=="number"&&i<=9&&i>=0||(i="-");let u=o>8&&!e.forbidDefault?m[(o-1)%m.length]:n[o%n.length];(t==null?void 0:t.color)&&(u=t.color);const{defaultSize:S,logicalCondition:v,sizeRange:_}=((d=t==null?void 0:t.limit)==null?void 0:d.sizeLimit)||{},j=((f=t==null?void 0:t.limit)==null?void 0:f.positionLimit)||S||_||(v==null?void 0:v.length)>0,z=A&&j;return l.createElement(b,{value:t.value,ref:h,key:t.label+o},l.createElement("span",{className:"sensebee-radio-label",title:t.label},!(e==null?void 0:e.forbidColor)&&l.createElement(k,{content:l.createElement(V,{defaultColor:u,setColor:a=>T(t.value,a)}),title:l.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},l.createElement("span",null,R("Palette")),l.createElement(w,{onClick:()=>r(!1)})),visible:y&&O===o,onVisibleChange:a=>{!a||r(a)}},l.createElement(N,{color:u,style:{cursor:"pointer",marginRight:"8px"},onClick:()=>{(e==null?void 0:e.enableColorPicker)&&(P(o),r(!0))}})),t.label),z&&l.createElement(D,{limit:t.limit,updateSize:e==null?void 0:e.updateSize}),l.createElement("span",{className:"sensebee-radio-num"},i))})))});export{C as ATTRIBUTE_COLORS,U as default};
1
+ import{COLORS_ARRAY as m,NULL_COLOR as I}from"../../data/Style.js";import{ColorTag as N}from"../colorTag/index.js";import{Radio as b}from"antd/es";import l,{useState as g}from"react";import{Popover as k}from"antd";import w from"../colorPalette/index.js";import{CloseOutlined as V}from"@ant-design/icons";import{useTranslation as x}from"react-i18next";import D from"./components/limitPopover/index.js";const C=[I].concat(m),U=l.forwardRef((e,h)=>{const E=l.useRef(),{t:R}=x(),L=e.list||[],[y,r]=g(!1),[P,O]=g(void 0);let n=[...C];e.forbidDefault===!0&&(n=n.slice(1));let c="sensebee-radio-group";e.noHeightLimit&&(c="sensebee-radio-group-no-limit-height");const S=(t,o)=>{e.updateColorConfig&&e.updateColorConfig(t,o)};return l.createElement("div",{className:c,style:e.style},l.createElement(b.Group,{name:"radiogroup",defaultValue:e==null?void 0:e.selectedAttribute,value:e==null?void 0:e.selectedAttribute,onChange:t=>e.attributeChanged(t.target.value),ref:h},L.map((t,o)=>{var s,d,f;let i=(s=e==null?void 0:e.num)!=null?s:o;const T=(t==null?void 0:t.value)===(e==null?void 0:e.selectedAttribute);e.forbidDefault===!0&&typeof i=="number"&&i++,typeof i=="number"&&i<=9&&i>=0||(i="-");let u=o>8&&!e.forbidDefault?m[(o-1)%m.length]:n[o%n.length];(t==null?void 0:t.color)&&(u=t.color);const{defaultSize:A,logicalCondition:v,sizeRange:_}=((d=t==null?void 0:t.limit)==null?void 0:d.sizeLimit)||{},j=((f=t==null?void 0:t.limit)==null?void 0:f.positionLimit)||A||_||(v==null?void 0:v.length)>0,z=T&&j&&e.forbidShowLimitPopover!==!0;return l.createElement(b,{value:t.value,ref:E,key:t.label+o},l.createElement("span",{className:"sensebee-radio-label",title:t.label},!(e==null?void 0:e.forbidColor)&&l.createElement(k,{content:l.createElement(w,{defaultColor:u,setColor:a=>S(t.value,a)}),title:l.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},l.createElement("span",null,R("Palette")),l.createElement(V,{onClick:()=>r(!1)})),visible:y&&P===o,onVisibleChange:a=>{!a||r(a)}},l.createElement(N,{color:u,style:{cursor:"pointer",marginRight:"8px"},onClick:()=>{(e==null?void 0:e.enableColorPicker)&&(O(o),r(!0))}})),t.label),z&&l.createElement(D,{limit:t.limit,updateSize:e==null?void 0:e.updateSize}),l.createElement("span",{className:"sensebee-radio-num"},i))})))});export{C as ATTRIBUTE_COLORS,U as default};
@@ -1 +1 @@
1
- import o,{useState as V,useEffect as X,useMemo as ne}from"react";import{AudioPlayer as Ce}from"../audioPlayer/index.js";import{getClassName as je}from"../../utils/dom.js";import Re from"../predictTracking/previewResult/index.js";import{Layout as ie}from"antd/es";import{Spin as Te}from"antd";import{prefix as Pe}from"../../constant/index.js";import{cKeyCode as Le,CommonToolUtils as K,uuid as he,TagUtils as we,cTool as Ae}from"@labelbee/lb-annotation";import O from"./index.module.scss.js";import Oe from"./tagResultShow/index.js";import{AudioClipProvider as Ie,useAudioClipStore as Ne}from"./audioContext/index.js";import ke from"./textInput/index.js";import{connect as De}from"react-redux";import{a2MapStateToProps as $e}from"../../store/annotation/map.js";import{LabelBeeContext as Me}from"../../store/ctx.js";import{jsonParser as Ve}from"../../utils/index.js";import{useCustomToolInstance as Ke}from"../../hooks/annotation.js";import{sidebarCls as Q}from"../../views/MainView/sidebar/index.js";import Be from"./audioSide/labelSidebar/index.js";import Fe from"./audioSide/clipSidebar/index.js";import We from"../../assets/annotation/audio/tag.svg.js";import Ue from"../../assets/annotation/audio/tagA.svg.js";import Xe from"../../assets/annotation/audio/clip.svg.js";import qe from"../../assets/annotation/audio/clipA.svg.js";var ze=Object.defineProperty,Ge=Object.defineProperties,He=Object.getOwnPropertyDescriptors,le=Object.getOwnPropertySymbols,Je=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable,se=(e,t,s)=>t in e?ze(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,y=(e,t)=>{for(var s in t||(t={}))Je.call(t,s)&&se(e,s,t[s]);if(le)for(var s of le(t))Qe.call(t,s)&&se(e,s,t[s]);return e},I=(e,t)=>Ge(e,He(t));const{EAudioToolName:Ye}=Ae,re=Le.default,{Sider:Ze,Content:et}=ie,ae=`${Pe}-layout`,tt=({setSideTab:e,sideTab:t})=>{const s=[{tab:"tag",commonSvg:We,selectedSvg:Ue},{tab:"clip",commonSvg:Xe,selectedSvg:qe}];return o.createElement("div",{className:O.toggleAudioOption},s.map((m,S)=>{const{tab:c,selectedSvg:x,commonSvg:C}=m;return o.createElement("div",{key:S,className:O.option},o.createElement("img",{className:O.icon,src:t===c?x:C,onClick:()=>{t!==c&&e(c)}}))}))},ot=({result:e,inputDisabled:t,updateText:s,configList:m,autofocus:S,preContext:c,isCheck:x,clipAttributeConfigurable:C,clipTextConfigurable:N,textConfigurable:p,updateRegion:E,clipAttributeList:d})=>o.createElement("div",{className:O.textareaContainer},o.createElement("div",{className:O.textareaContent},o.createElement(ke,{isCheck:x,result:e==null?void 0:e.value,textInputDisabled:t,textID:(e==null?void 0:e.id)||0,updateText:s,configList:m,autofocus:!t&&S,preContext:c,regions:e==null?void 0:e.regions,clipAttributeConfigurable:C,clipTextConfigurable:N,textConfigurable:p,updateRegion:E,clipAttributeList:d}))),nt=e=>{var t,s;const{sider:m,config:S,result:c,updateTagResult:x,updateRegion:C,isEdit:N,tagConfigurable:p,clipConfigurable:E}=e;let d=(S==null?void 0:S.inputList)||[],_=(t=c==null?void 0:c.tag)!=null?t:{},r=(s=c==null?void 0:c.regions)!=null?s:[];const[q,h]=V([]),[j,g]=V("tag");X(()=>{if(!p&&E){g("clip");return}g("tag")},[p,E]),X(()=>(window.addEventListener("keydown",k),()=>{window.removeEventListener("keydown",k)}));const k=i=>{if(p&&E)switch(i.keyCode){case re.L:g("tag");break;case re.X:g("clip");break}if(j==="tag"){if(!K.hotkeyFilter(i))return;K.isMoveKey(i==null?void 0:i.keyCode)&&i.preventDefault();let l=i.keyCode;if(l&&(l<=57&&l>=49||l<=105&&l>=97)){l>57?l=l-97:l=l-49;const u=q.slice();d.length===1?(R(0,l),h([0,l]),setTimeout(()=>{h([])},500)):u.length===1?(R(u[0],l),h([u[0],l]),setTimeout(()=>{h([])},500)):h([l])}}},R=(i,l)=>{if(i<d.length&&d[i].subSelected&&l<d[i].subSelected.length){const u=d[i].value,v=d[i].isMulti;let T=d[i].subSelected[l].value,z=0;const B=_;for(const M in _)if(M===d[i].value){if(z++,v===!0){const P=B[M].split(";").filter(W=>W!==""),F=P.indexOf(T);F===-1?P.push(T):P.splice(F,1),T=P.join(";")}T===""?delete B[M]:B[M]=T}z===0&&Object.assign(_,{[u]:T}),x(_)}},w=i=>{delete _[i],x(_)},A=p&&E&&o.createElement(tt,{setSideTab:g,sideTab:j}),D=j==="tag"&&o.createElement(Be,{labelInfoSet:p?d:[],labelSelectedList:q,setLabel:R,tagResult:_,clearResult:w,isEdit:N,withPanelTab:!1}),$=j==="clip"&&o.createElement(Fe,{regions:r,updateRegion:C,useAudioClipStore:Ne});return m?typeof m=="function"?o.createElement("div",{className:`${Q}`},m({toggleAudioOption:A,labelSidebar:D,clipSidebar:$})):m:o.createElement("div",{className:`${Q}`},o.createElement("div",{className:`${Q}__content`},A,D,$))},it=e=>{var t,s,m,S,c,x,C,N,p;const E=(s=(t=e.style)==null?void 0:t.sider)==null?void 0:s.width,{step:d,stepList:_,audioContext:r,sider:q,drawLayerSlot:h,imgList:j,imgIndex:g,currentData:k,config:R,stepInfo:w}=e,A=K.getCurrentStepToolAndConfig(d,_),D=Ve(k.result),{toolInstanceRef:$}=Ke({basicInfo:D}),[i,l]=V(!0),[u,v]=V(null),[T,z]=V(!1),[B,M]=V(0);X(()=>{l(!0),z(!0)},[g]),X(()=>{i===!1&&ge()},[i]),X(()=>{$.current.exportData=()=>[[u],{duration:B,valid:H}],$.current.setResult=Ee,$.current.clearResult=_e},[u]);const P=ne(()=>{const n=D[`step_${w==null?void 0:w.step}`];return(n==null?void 0:n.result)||[]},[R,D,w]),{tagConfigurable:F,textConfigurable:W=!0,clipConfigurable:Y=!1,clipAttributeConfigurable:Z=!1,clipAttributeList:ee=[],clipTextConfigurable:G=!1,inputList:ue=[],configList:ce=[]}=ne(()=>{if(A)return K.jsonParser(A==null?void 0:A.config)},[A]),de={clipConfigurable:Y,clipAttributeConfigurable:Z,clipAttributeList:ee,clipTextConfigurable:G},H=r?r==null?void 0:r.valid:!0,fe=(S=(m=K.jsonParser(k.result))==null?void 0:m.duration)!=null?S:0,me=H?fe:0,pe=!H||i||![W,G].includes(!0);let te={};if(g!==-1&&(j==null?void 0:j.length)){const n=(c=j[g])==null?void 0:c.preResult,a=(r==null?void 0:r.isEdit)?(x=r==null?void 0:r.stepConfig)==null?void 0:x.loadPreStep:w==null?void 0:w.loadPreStep;if(n&&a){const f=K.jsonParser(n),b=(N=(C=f==null?void 0:f.config)==null?void 0:C.context)!=null?N:{};Object.keys(b).forEach(L=>{L&&b[L]&&(te[L]={visible:!0,content:b[L],type:L})})}}const ge=()=>{(P==null?void 0:P.length)>0?v(P[0]):v({id:he(),sourceID:"",value:oe(),tag:ve(),regions:[]})},oe=(n=!0)=>{const a={};let f=R.configList||[];return f.length>0&&f.forEach(b=>{a[b.key]=n&&b.default||""}),a},ve=()=>we.getDefaultResultByConfig(R.inputList||[]),be=({duration:n,hasError:a})=>{l(!1),M(n)},ye=n=>{v(a=>I(y({},a),{regions:((a==null?void 0:a.regions)||[]).filter(f=>f.id!==n)}))},J=n=>{v(a=>{var f;const b=(f=a==null?void 0:a.regions)!=null?f:[],{id:L}=n;return b.find(U=>U.id===L)?I(y({},a),{regions:b.map(U=>L===U.id?y(y({},U),n):U)}):I(y({},a),{regions:[...b,n]})})},Se=(n,a)=>{v(f=>I(y({},f),{value:I(y({},f.value),{[a]:n})}))},xe=n=>{v(a=>I(y({},a),{tag:n}))},Ee=n=>{v(n)},_e=()=>{v(n=>I(y({},n),{value:oe(),tag:{},regions:[]}))};return o.createElement(Ie,null,o.createElement(Te,{spinning:i,wrapperClassName:"audio-tool-spinner"},o.createElement(ie,{className:je("layout","container"),style:{height:"100%"}},e==null?void 0:e.leftSider,o.createElement(et,{className:`${ae}__content`},o.createElement("div",{className:O.containerWrapper},o.createElement("div",{className:O.audioWrapper},F&&o.createElement(Oe,{result:u==null?void 0:u.tag,labelInfoSet:ue,hasPromptLayer:!!(r==null?void 0:r.promptLayer)}),r==null?void 0:r.promptLayer,o.createElement(Ce,y({context:{isEdit:r==null?void 0:r.isEdit,count:me,toolName:Ye.AudioTextTool,imgIndex:g},drawLayerSlot:h,fileData:k,onLoaded:be,invalid:!H,updateRegion:J,removeRegion:ye,regions:u==null?void 0:u.regions,activeToolPanel:r==null?void 0:r.activeToolPanel,footer:e.footer},de))),(W||G)&&o.createElement(ot,{preContext:te,result:u,inputDisabled:pe,updateText:Se,updateRegion:J,configList:ce,autofocus:T,textConfigurable:W,clipTextConfigurable:G,clipAttributeList:ee,clipAttributeConfigurable:Z}))),o.createElement(Ze,{className:`${ae}__side`,width:E!=null?E:240,style:(p=e.style)==null?void 0:p.sider},o.createElement(nt,{sider:q,config:R,result:u,updateTagResult:xe,updateRegion:J,isEdit:r==null?void 0:r.isEdit,tagConfigurable:F,clipConfigurable:Y})),o.createElement(Re,null))))};var lt=De($e,null,null,{context:Me})(it);export{lt as default};
1
+ import o,{useState as W,useEffect as U,useMemo as te}from"react";import{AudioPlayer as Ee}from"../audioPlayer/index.js";import{getClassName as _e}from"../../utils/dom.js";import Ce from"../predictTracking/previewResult/index.js";import{Layout as oe}from"antd/es";import{Spin as je}from"antd";import{prefix as Re}from"../../constant/index.js";import{cKeyCode as Te,CommonToolUtils as K,uuid as Pe,TagUtils as Le,cTool as he}from"@labelbee/lb-annotation";import N from"./index.module.scss.js";import we from"./tagResultShow/index.js";import{AudioClipProvider as Ae,useAudioClipStore as Oe}from"./audioContext/index.js";import Ie from"./textInput/index.js";import{connect as Ne}from"react-redux";import{a2MapStateToProps as ke}from"../../store/annotation/map.js";import{LabelBeeContext as $e}from"../../store/ctx.js";import{jsonParser as De}from"../../utils/index.js";import{useCustomToolInstance as Me}from"../../hooks/annotation.js";import{sidebarCls as Q}from"../../views/MainView/sidebar/index.js";import Ve from"./audioSide/labelSidebar/index.js";import Ke from"./audioSide/clipSidebar/index.js";import Be from"../../assets/annotation/audio/tag.svg.js";import Fe from"../../assets/annotation/audio/tagA.svg.js";import We from"../../assets/annotation/audio/clip.svg.js";import Ue from"../../assets/annotation/audio/clipA.svg.js";var Xe=Object.defineProperty,qe=Object.defineProperties,ze=Object.getOwnPropertyDescriptors,ne=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable,ie=(e,t,s)=>t in e?Xe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,y=(e,t)=>{for(var s in t||(t={}))Ge.call(t,s)&&ie(e,s,t[s]);if(ne)for(var s of ne(t))He.call(t,s)&&ie(e,s,t[s]);return e},k=(e,t)=>qe(e,ze(t));const{EAudioToolName:Je}=he,le=Te.default,{Sider:Qe,Content:Ye}=oe,se=`${Re}-layout`,Ze=({setSideTab:e,sideTab:t})=>{const s=[{tab:"tag",commonSvg:Be,selectedSvg:Fe},{tab:"clip",commonSvg:We,selectedSvg:Ue}];return o.createElement("div",{className:N.toggleAudioOption},s.map((m,S)=>{const{tab:c,selectedSvg:x,commonSvg:C}=m;return o.createElement("div",{key:S,className:N.option},o.createElement("img",{className:N.icon,src:t===c?x:C,onClick:()=>{t!==c&&e(c)}}))}))},et=({result:e,inputDisabled:t,updateText:s,configList:m,autofocus:S,preContext:c,isCheck:x,clipAttributeConfigurable:C,clipTextConfigurable:$,textConfigurable:p,updateRegion:E,clipAttributeList:d})=>o.createElement("div",{className:N.textareaContainer},o.createElement("div",{className:N.textareaContent},o.createElement(Ie,{isCheck:x,result:e==null?void 0:e.value,textInputDisabled:t,textID:(e==null?void 0:e.id)||0,updateText:s,configList:m,autofocus:!t&&S,preContext:c,regions:e==null?void 0:e.regions,clipAttributeConfigurable:C,clipTextConfigurable:$,textConfigurable:p,updateRegion:E,clipAttributeList:d}))),tt=e=>{var t,s;const{sider:m,config:S,result:c,updateTagResult:x,updateRegion:C,isEdit:$,tagConfigurable:p,clipConfigurable:E}=e;let d=(S==null?void 0:S.inputList)||[],_=(t=c==null?void 0:c.tag)!=null?t:{},r=(s=c==null?void 0:c.regions)!=null?s:[];const[X,h]=W([]),[j,g]=W("tag");U(()=>{if(!p&&E){g("clip");return}g("tag")},[p,E]),U(()=>(window.addEventListener("keydown",D),()=>{window.removeEventListener("keydown",D)}));const D=i=>{if(p&&E)switch(i.keyCode){case le.L:g("tag");break;case le.X:g("clip");break}if(j==="tag"){if(!K.hotkeyFilter(i))return;K.isMoveKey(i==null?void 0:i.keyCode)&&i.preventDefault();let l=i.keyCode;if(l&&(l<=57&&l>=49||l<=105&&l>=97)){l>57?l=l-97:l=l-49;const u=X.slice();d.length===1?(R(0,l),h([0,l]),setTimeout(()=>{h([])},500)):u.length===1?(R(u[0],l),h([u[0],l]),setTimeout(()=>{h([])},500)):h([l])}}},R=(i,l)=>{if(i<d.length&&d[i].subSelected&&l<d[i].subSelected.length){const u=d[i].value,v=d[i].isMulti;let T=d[i].subSelected[l].value,q=0;const O=_;for(const I in _)if(I===d[i].value){if(q++,v===!0){const P=O[I].split(";").filter(z=>z!==""),B=P.indexOf(T);B===-1?P.push(T):P.splice(B,1),T=P.join(";")}T===""?delete O[I]:O[I]=T}q===0&&Object.assign(_,{[u]:T}),x(_)}},w=i=>{delete _[i],x(_)},A=p&&E&&o.createElement(Ze,{setSideTab:g,sideTab:j}),M=j==="tag"&&o.createElement(Ve,{labelInfoSet:p?d:[],labelSelectedList:X,setLabel:R,tagResult:_,clearResult:w,isEdit:$,withPanelTab:!1}),V=j==="clip"&&o.createElement(Ke,{regions:r,updateRegion:C,useAudioClipStore:Oe});return m?typeof m=="function"?o.createElement("div",{className:`${Q}`},m({toggleAudioOption:A,labelSidebar:M,clipSidebar:V})):m:o.createElement("div",{className:`${Q}`},o.createElement("div",{className:`${Q}__content`},A,M,V))},ot=e=>{var t,s,m,S,c,x,C,$,p;const E=(s=(t=e.style)==null?void 0:t.sider)==null?void 0:s.width,{step:d,stepList:_,audioContext:r,sider:X,drawLayerSlot:h,imgList:j,imgIndex:g,currentData:D,config:R,stepInfo:w}=e,A=K.getCurrentStepToolAndConfig(d,_),M=De(D.result),{toolInstanceRef:V}=Me({basicInfo:M}),[i,l]=W(!0),[u,v]=W(null),[T,q]=W(!1);U(()=>{l(!0),q(!0)},[g]),U(()=>{i===!1&&me()},[i]),U(()=>{V.current.exportData=()=>[[u],{}],V.current.setResult=Se,V.current.clearResult=xe},[u]);const O=te(()=>{const n=M[`step_${w==null?void 0:w.step}`];return(n==null?void 0:n.result)||[]},[R,M,w]),{tagConfigurable:I,textConfigurable:P=!0,clipConfigurable:B=!1,clipAttributeConfigurable:z=!1,clipAttributeList:Y=[],clipTextConfigurable:G=!1,inputList:re=[],configList:ae=[]}=te(()=>{if(A)return K.jsonParser(A==null?void 0:A.config)},[A]),ue={clipConfigurable:B,clipAttributeConfigurable:z,clipAttributeList:Y,clipTextConfigurable:G},H=r?r==null?void 0:r.valid:!0,ce=(S=(m=K.jsonParser(D.result))==null?void 0:m.duration)!=null?S:0,de=H?ce:0,fe=!H||i||![P,G].includes(!0);let Z={};if(g!==-1&&(j==null?void 0:j.length)){const n=(c=j[g])==null?void 0:c.preResult,a=(r==null?void 0:r.isEdit)?(x=r==null?void 0:r.stepConfig)==null?void 0:x.loadPreStep:w==null?void 0:w.loadPreStep;if(n&&a){const f=K.jsonParser(n),b=($=(C=f==null?void 0:f.config)==null?void 0:C.context)!=null?$:{};Object.keys(b).forEach(L=>{L&&b[L]&&(Z[L]={visible:!0,content:b[L],type:L})})}}const me=()=>{(O==null?void 0:O.length)>0?v(O[0]):v({id:Pe(),sourceID:"",value:ee(),tag:pe(),regions:[]})},ee=(n=!0)=>{const a={};let f=R.configList||[];return f.length>0&&f.forEach(b=>{a[b.key]=n&&b.default||""}),a},pe=()=>Le.getDefaultResultByConfig(R.inputList||[]),ge=({duration:n,hasError:a})=>{l(!1)},ve=n=>{v(a=>k(y({},a),{regions:((a==null?void 0:a.regions)||[]).filter(f=>f.id!==n)}))},J=n=>{v(a=>{var f;const b=(f=a==null?void 0:a.regions)!=null?f:[],{id:L}=n;return b.find(F=>F.id===L)?k(y({},a),{regions:b.map(F=>L===F.id?y(y({},F),n):F)}):k(y({},a),{regions:[...b,n]})})},be=(n,a)=>{v(f=>k(y({},f),{value:k(y({},f.value),{[a]:n})}))},ye=n=>{v(a=>k(y({},a),{tag:n}))},Se=n=>{v(n)},xe=()=>{v(n=>k(y({},n),{value:ee(),tag:{},regions:[]}))};return o.createElement(Ae,null,o.createElement(je,{spinning:i,wrapperClassName:"audio-tool-spinner"},o.createElement(oe,{className:_e("layout","container"),style:{height:"100%"}},e==null?void 0:e.leftSider,o.createElement(Ye,{className:`${se}__content`},o.createElement("div",{className:N.containerWrapper},o.createElement("div",{className:N.audioWrapper},I&&o.createElement(we,{result:u==null?void 0:u.tag,labelInfoSet:re,hasPromptLayer:!!(r==null?void 0:r.promptLayer)}),r==null?void 0:r.promptLayer,o.createElement(Ee,y({context:{isEdit:r==null?void 0:r.isEdit,count:de,toolName:Je.AudioTextTool,imgIndex:g},drawLayerSlot:h,fileData:D,onLoaded:ge,invalid:!H,updateRegion:J,removeRegion:ve,regions:u==null?void 0:u.regions,activeToolPanel:r==null?void 0:r.activeToolPanel,footer:e.footer},ue))),(P||G)&&o.createElement(et,{preContext:Z,result:u,inputDisabled:fe,updateText:be,updateRegion:J,configList:ae,autofocus:T,textConfigurable:P,clipTextConfigurable:G,clipAttributeList:Y,clipAttributeConfigurable:z}))),o.createElement(Qe,{className:`${se}__side`,width:E!=null?E:240,style:(p=e.style)==null?void 0:p.sider},o.createElement(tt,{sider:X,config:R,result:u,updateTagResult:ye,updateRegion:J,isEdit:r==null?void 0:r.isEdit,tagConfigurable:I,clipConfigurable:B})),o.createElement(Ce,null))))};var nt=Ne(ke,null,null,{context:$e})(ot);export{nt as default};
@@ -1 +1 @@
1
- import{getClassName as H}from"../../utils/dom.js";import m,{useRef as v,useState as L,useContext as R,useCallback as _,useEffect as O}from"react";import N from"../AnnotationView/index.js";import w from"../../hooks/useSize.js";import{useSingleBox as A}from"./hooks/useSingleBox.js";import{useHighlight as q}from"./hooks/useHighlight.js";import F from"./components/HighlightVisible/index.js";import{PointCloudContext as G}from"./PointCloudContext.js";import J from"../pointCloud2DRectOperationView/index.js";var K=(t,l,e)=>new Promise((d,a)=>{var r=o=>{try{n(e.next(o))}catch(i){a(i)}},c=o=>{try{n(e.throw(o))}catch(i){a(i)}},n=o=>o.done?d(o.value):Promise.resolve(o.value).then(r,c);n((e=e.apply(t,l)).next())});const M=({view2dData:t,setSelectedID:l,currentData:e,showEnlarge:d,checkMode:a=!1})=>{var r;const c=v(null),n=v(),{selectedBox:o}=A(),i=w(c),{url:p,calib:V,path:y}=t,{toggle2dVisible:j,isHighlightVisible:P}=q({currentData:e}),[S,h]=L(!1),{cuboidBoxIn2DView:k,cacheImageNodeSize:z}=R(G),B=!t,g=u=>{f(),z({path:y,imgNode:u})},f=_(()=>{var u,x;const b=(u=n.current)==null?void 0:u.toolInstance;if(l(""),!o||!b)return;const s=t.annotations.find(E=>E.annotation.id===o.info.id);let C="";s&&((x=s==null?void 0:s.annotation.pointList)==null?void 0:x.length)>0&&(b.focusPositionByPointList(s==null?void 0:s.annotation.pointList),C=o.info.id,l(C))},[o,n.current,t.annotations]);O(()=>{f()},[f]);const I=()=>K(void 0,null,function*(){h(!0),yield j(p,V),h(!1)});return m.createElement("div",{className:H("point-cloud-2d-image"),ref:c},k?m.createElement(N,{src:(r=t==null?void 0:t.url)!=null?r:"",annotations:t.annotations,size:i,ref:n,globalStyle:{display:B?"none":"block"},afterImgOnLoad:g,zoomInfo:{min:.01,max:1e3,ratio:.4}}):m.createElement(J,{mappingData:t,size:i,checkMode:a,afterImgOnLoad:g}),m.createElement(F,{visible:P(p),onClick:I,loading:S,style:{position:"absolute",right:16,top:16,zIndex:d?-1:101}}))};export{M as default};
1
+ import{getClassName as H}from"../../utils/dom.js";import m,{useRef as V,useState as L,useContext as R,useCallback as _,useEffect as O}from"react";import N from"../AnnotationView/index.js";import w from"../../hooks/useSize.js";import{useSingleBox as A}from"./hooks/useSingleBox.js";import{useHighlight as q}from"./hooks/useHighlight.js";import F from"./components/HighlightVisible/index.js";import{PointCloudContext as G}from"./PointCloudContext.js";import J from"../pointCloud2DRectOperationView/index.js";var K=(t,l,e)=>new Promise((d,a)=>{var r=o=>{try{n(e.next(o))}catch(i){a(i)}},c=o=>{try{n(e.throw(o))}catch(i){a(i)}},n=o=>o.done?d(o.value):Promise.resolve(o.value).then(r,c);n((e=e.apply(t,l)).next())});const M=({view2dData:t,setSelectedID:l,currentData:e,showEnlarge:d,checkMode:a=!1})=>{var r;const c=V(null),n=V(),{selectedBox:o}=A(),i=w(c),{url:p,calib:h,path:y}=t,{toggle2dVisible:j,isHighlightVisible:P}=q({currentData:e}),[S,g]=L(!1),{cuboidBoxIn2DView:k,cacheImageNodeSize:z}=R(G),B=!t,x=u=>{f(),z({path:y,imgNode:u})},f=_(()=>{var u,b;const C=(u=n.current)==null?void 0:u.toolInstance;if(l(""),!o||!C)return;const s=t.annotations.find(E=>E.annotation.id===o.info.id);let v="";s&&((b=s==null?void 0:s.annotation.pointList)==null?void 0:b.length)>0&&(C.focusPositionByPointList(s==null?void 0:s.annotation.pointList),v=o.info.id,l(v))},[o,n.current,t.annotations]);O(()=>{f()},[f]);const I=()=>K(void 0,null,function*(){g(!0),yield j(p,h),g(!1)});return m.createElement("div",{className:H("point-cloud-2d-image"),ref:c},k?m.createElement(N,{src:(r=t==null?void 0:t.url)!=null?r:"",annotations:t.annotations,size:i,ref:n,globalStyle:{display:B?"none":"block"},afterImgOnLoad:x,zoomInfo:{min:.01,max:1e3,ratio:.4}}):m.createElement(J,{mappingData:t,size:i,checkMode:a,afterImgOnLoad:x}),h&&m.createElement(F,{visible:P(p),onClick:I,loading:S,style:{position:"absolute",right:16,top:16,zIndex:d?-1:101}}))};export{M as default};
@@ -1 +1 @@
1
- import{getClassName as S}from"../../utils/dom.js";import n,{useState as E,useContext as X,useEffect as V}from"react";import{PointCloudContainer as Y}from"./PointCloudLayout.js";import{PointCloudContext as Z}from"./PointCloudContext.js";import{connect as B}from"react-redux";import{cKeyCode as D,pointCloudLidar2image as ee}from"@labelbee/lb-annotation";import{LabelBeeContext as te}from"../../store/ctx.js";import{a2MapStateToProps as ne}from"../../store/annotation/map.js";import{toolStyleConverter as oe}from"@labelbee/lb-utils";import ie from"./PointCloud2DSingleView.js";import R from"./components/TitleButton/index.js";import{LeftOutlined as le}from"@ant-design/icons";import re from"classnames";import se from"../../assets/annotation/common/icon_esc.svg.js";import ae from"../../assets/annotation/common/icon_left_squareOutlined.svg.js";import ce from"../../assets/annotation/common/icon_right_squareOutlined.svg.js";var ue=Object.defineProperty,me=Object.defineProperties,pe=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,de=Object.prototype.hasOwnProperty,fe=Object.prototype.propertyIsEnumerable,T=(e,o,t)=>o in e?ue(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,h=(e,o)=>{for(var t in o||(o={}))de.call(o,t)&&T(e,t,o[t]);if(A)for(var t of A(o))fe.call(o,t)&&T(e,t,o[t]);return e},x=(e,o)=>me(e,pe(o));const C=D.default,ge=({showEnlarge:e,isEnlargeTopView:o,data:t,setIsEnlarge:f,setCurIndex:u,curIndex:g=0,index:w,annotations2d:m})=>o?n.createElement(R,{title:t==null?void 0:t.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?n.createElement("div",{style:{display:"flex",alignItems:"center"}},n.createElement(le,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{f(!1),u(void 0)}}),n.createElement("span",null,t==null?void 0:t.calName),n.createElement("span",{style:{marginLeft:"8px"}},g+1,"/",m==null?void 0:m.length)):n.createElement(R,{title:t==null?void 0:t.calName,onClick:()=>{f(!0),u(w)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),ve=({currentData:e,config:o,thumbnailWidth:t,isEnlargeTopView:f,highlightAttribute:u,loadPCDFileLoading:g,checkMode:w})=>{var m;const[c,K]=E([]),{topViewInstance:$,displayPointCloudList:L}=X(Z),[b,q]=E(""),[v,P]=E(!1),[a,y]=E(void 0);V(()=>{var i;if(!g&&$&&(e==null?void 0:e.mappingImgList)&&((i=e==null?void 0:e.mappingImgList)==null?void 0:i.length)>0){const l={fill:"transparent",color:"green"};let r=[];e==null||e.mappingImgList.forEach(s=>{var p;const H=L.reduce((J,d)=>{var k;const Q=d.id===b||u===d.attribute,{transferViewData:U,viewRangePointList:_}=ee(d,s.calib,{createRange:Q}),I=(k=oe.getColorFromConfig({attribute:d.attribute},x(h({},o),{attributeConfigurable:!0}),{}))==null?void 0:k.stroke,W=z({viewDataPointList:U,pointCloudBox:d,defaultViewStyle:l,stroke:I}),N=[...J,...W];return(_==null?void 0:_.length)>0&&N.push({type:"polygon",annotation:x(h({id:b,pointList:_},l),{stroke:I,fill:"rgba(255, 255, 255, 0.6)"})}),N},[]);r.push({annotations:H,url:s==null?void 0:s.url,calName:(p=s.calib)==null?void 0:p.calName,calib:s==null?void 0:s.calib,path:s==null?void 0:s.path})}),K(r)}},[L,e==null?void 0:e.mappingImgList,b,u,g]),V(()=>(window.addEventListener("keydown",F),()=>{window.removeEventListener("keydown",F)}),[a]);const F=i=>{const{keyCode:l}=i;switch(l){case C.Esc:v&&P(!1);break;case C.Left:O();break;case C.Right:j();break}},O=()=>{a===void 0||!v||Number(a)>0&&y(a-1)},j=()=>{a===void 0||!v||Number(a)<(c==null?void 0:c.length)-1&&y(a+1)},z=({viewDataPointList:i,pointCloudBox:l,defaultViewStyle:r,stroke:s})=>i.map(p=>({type:p.type,annotation:x(h({id:l.id,pointList:p.pointList},r),{stroke:s})})),M=!e||!(e==null?void 0:e.mappingImgList)||!(((m=e==null?void 0:e.mappingImgList)==null?void 0:m.length)>0),G=n.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},n.createElement("img",{src:ae,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>O()}),n.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),n.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),n.createElement("img",{src:ce,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>j()}),n.createElement("img",{src:se,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{P(!1),y(void 0)}}),n.createElement("span",null,"\u952E\u9000\u51FA"));return(c==null?void 0:c.length)>0?n.createElement(n.Fragment,null,c.map((i,l)=>{const r=v&&l===a;return n.createElement(Y,{className:re({[S("point-cloud-2d-container")]:!0,[S("point-cloud-container","zoom")]:r}),title:n.createElement(ge,{showEnlarge:r,isEnlargeTopView:f,data:i,setIsEnlarge:P,setCurIndex:y,curIndex:a,index:l,annotations2d:c}),titleOnSurface:!r,style:{display:M?"none":"flex",width:r?"100%":t},key:l,toolbar:G},(i==null?void 0:i.annotations)&&(i==null?void 0:i.url)&&n.createElement(ie,{currentData:e,view2dData:i,setSelectedID:q,showEnlarge:r,checkMode:w}))})):null};var ye=B(ne,null,null,{context:te})(ve);export{ye as default};
1
+ import{getClassName as R}from"../../utils/dom.js";import n,{useState as b,useContext as Y,useEffect as A}from"react";import{PointCloudContainer as Z}from"./PointCloudLayout.js";import{PointCloudContext as B}from"./PointCloudContext.js";import{connect as D}from"react-redux";import{cKeyCode as ee,pointCloudLidar2image as te}from"@labelbee/lb-annotation";import{LabelBeeContext as ne}from"../../store/ctx.js";import{a2MapStateToProps as oe}from"../../store/annotation/map.js";import{toolStyleConverter as ie}from"@labelbee/lb-utils";import le from"./PointCloud2DSingleView.js";import T from"./components/TitleButton/index.js";import{LeftOutlined as re}from"@ant-design/icons";import se from"classnames";import ae from"../../assets/annotation/common/icon_esc.svg.js";import ue from"../../assets/annotation/common/icon_left_squareOutlined.svg.js";import ce from"../../assets/annotation/common/icon_right_squareOutlined.svg.js";var me=Object.defineProperty,pe=Object.defineProperties,de=Object.getOwnPropertyDescriptors,K=Object.getOwnPropertySymbols,fe=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,$=(e,o,t)=>o in e?me(e,o,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[o]=t,h=(e,o)=>{for(var t in o||(o={}))fe.call(o,t)&&$(e,t,o[t]);if(K)for(var t of K(o))ge.call(o,t)&&$(e,t,o[t]);return e},x=(e,o)=>pe(e,de(o));const C=ee.default,ve=({showEnlarge:e,isEnlargeTopView:o,data:t,setIsEnlarge:f,setCurIndex:c,curIndex:g=0,index:w,annotations2d:m})=>o?n.createElement(T,{title:t==null?void 0:t.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}):e?n.createElement("div",{style:{display:"flex",alignItems:"center"}},n.createElement(re,{style:{cursor:"pointer",marginRight:"12px"},onClick:()=>{f(!1),c(void 0)}}),n.createElement("span",null,t==null?void 0:t.calName),n.createElement("span",{style:{marginLeft:"8px"}},g+1,"/",m==null?void 0:m.length)):n.createElement(T,{title:t==null?void 0:t.calName,onClick:()=>{f(!0),c(w)},style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF"}}),ye=({currentData:e,config:o,thumbnailWidth:t,isEnlargeTopView:f,highlightAttribute:c,loadPCDFileLoading:g,checkMode:w})=>{var m;const[u,q]=b([]),{topViewInstance:z,displayPointCloudList:L}=Y(B),[_,M]=b(""),[v,P]=b(!1),[a,y]=b(void 0);A(()=>{var i;if(!g&&z&&(e==null?void 0:e.mappingImgList)&&((i=e==null?void 0:e.mappingImgList)==null?void 0:i.length)>0){const r={fill:"transparent",color:"green"};let s=[];e==null||e.mappingImgList.forEach(l=>{var p;const Q=L.reduce((U,d)=>{var k,I;const W=d.id===_||c===d.attribute,{transferViewData:N,viewRangePointList:E}=(k=te(d,l.calib,{createRange:W}))!=null?k:{};if(!N||!E)return[];const S=(I=ie.getColorFromConfig({attribute:d.attribute},x(h({},o),{attributeConfigurable:!0}),{}))==null?void 0:I.stroke,X=G({viewDataPointList:N,pointCloudBox:d,defaultViewStyle:r,stroke:S}),V=[...U,...X];return(E==null?void 0:E.length)>0&&V.unshift({type:"polygon",annotation:x(h({id:_,pointList:E},r),{stroke:S,fill:"rgba(255, 255, 255, 0.6)"})}),V},[]);s.push({annotations:Q,url:l==null?void 0:l.url,calName:(p=l==null?void 0:l.calib)==null?void 0:p.calName,calib:l==null?void 0:l.calib,path:l==null?void 0:l.path})}),q(s)}},[L,e==null?void 0:e.mappingImgList,_,c,g]),A(()=>(window.addEventListener("keydown",F),()=>{window.removeEventListener("keydown",F)}),[a]);const F=i=>{const{keyCode:r}=i;switch(r){case C.Esc:v&&P(!1);break;case C.Left:O();break;case C.Right:j();break}},O=()=>{a===void 0||!v||Number(a)>0&&y(a-1)},j=()=>{a===void 0||!v||Number(a)<(u==null?void 0:u.length)-1&&y(a+1)},G=({viewDataPointList:i,pointCloudBox:r,defaultViewStyle:s,stroke:l})=>i?i.map(p=>({type:p.type,annotation:x(h({id:r.id,pointList:p.pointList},s),{stroke:l})})):[],H=!e||!(e==null?void 0:e.mappingImgList)||!(((m=e==null?void 0:e.mappingImgList)==null?void 0:m.length)>0),J=n.createElement("div",{style:{display:"flex",alignItems:"center",fontSize:"14px"}},n.createElement("img",{src:ue,style:{height:"24px",marginRight:"8px",cursor:"pointer"},onClick:()=>O()}),n.createElement("span",{style:{marginRight:"12px"}},"\u952E\u76D8\u5DE6\u952E\u4E0A\u4E00\u5F20"),n.createElement("span",{style:{margin:"0px 8px 0px 12px"}},"\u952E\u76D8\u53F3\u952E\u4E0A\u4E00\u5F20"),n.createElement("img",{src:ce,style:{height:"24px",marginRight:"12px",cursor:"pointer"},onClick:()=>j()}),n.createElement("img",{src:ae,style:{height:"24px",margin:"0px 8px 0px 12px",cursor:"pointer"},onClick:()=>{P(!1),y(void 0)}}),n.createElement("span",null,"\u952E\u9000\u51FA"));return(u==null?void 0:u.length)>0?n.createElement(n.Fragment,null,u.map((i,r)=>{const s=v&&r===a;return n.createElement(Z,{className:se({[R("point-cloud-2d-container")]:!0,[R("point-cloud-container","zoom")]:s}),title:n.createElement(ve,{showEnlarge:s,isEnlargeTopView:f,data:i,setIsEnlarge:P,setCurIndex:y,curIndex:a,index:r,annotations2d:u}),titleOnSurface:!s,style:{display:H?"none":"flex",width:s?"100%":t},key:r,toolbar:J},(i==null?void 0:i.annotations)&&(i==null?void 0:i.url)&&n.createElement(le,{currentData:e,view2dData:i,setSelectedID:M,showEnlarge:s,checkMode:w}))})):null};var Ee=D(oe,null,null,{context:ne})(ye);export{Ee as default};
@@ -1 +1 @@
1
- import{PointCloudUtils as m,EPerspectiveView as L}from"@labelbee/lb-utils";import r,{useState as j,useEffect as z}from"react";import{PointCloudContext as x}from"./PointCloudContext.js";import{UnitUtils as k}from"@labelbee/lb-annotation";import{useSingleBox as D}from"./hooks/useSingleBox.js";import{useTranslation as v}from"react-i18next";var N=Object.defineProperty,V=Object.defineProperties,$=Object.getOwnPropertyDescriptors,h=Object.getOwnPropertySymbols,H=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,_=(o,e,t)=>e in o?N(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,y=(o,e)=>{for(var t in e||(e={}))H.call(e,t)&&_(o,t,e[t]);if(h)for(var t of h(e))U.call(e,t)&&_(o,t,e[t]);return o},P=(o,e)=>V(o,$(e));const a=2,C={color:"white",backgroundColor:"rgba(153, 153, 153, 0.3)",padding:"8px 10px",zIndex:20,fontSize:12},R=({perspectiveView:o})=>{const{pointCloudBoxList:e,selectedID:t}=r.useContext(x),c=e.find(u=>u.id===t),l=v(),{t:s}=l;if(t&&c){const{length:u,width:f,height:i}=m.transferBox2Kitti(c),b=o===L.Back?[{label:s("Width"),value:f},{label:s("Height"),value:i}]:[{label:s("Length"),value:u},{label:s("Height"),value:i}];return r.createElement("div",{style:P(y({position:"absolute"},C),{bottom:"4%",left:"50%",transform:"translate(-50%, 0)"})},b.map((p,n)=>r.createElement("span",{key:n,style:{marginRight:n===0?16:0}},`${p.label}: ${p.value.toFixed(a)}`)))}return null},T=({checkMode:o,config:e,style:t})=>{const c=r.useContext(x),{selectedBox:l}=D(),[s,u]=j([]),f=v(),{t:i,i18n:b}=f,p=t;return z(()=>{var n;if(!l)return;const{length:w,width:E,height:O,rotation_y:I}=m.transferBox2Kitti(l.info),{x:S,y:B,z:F}=l.info.center;let d=[{label:"x",value:S.toFixed(a)},{label:"y",value:B.toFixed(a)},{label:"z",value:F.toFixed(a)},{label:i("Length"),value:w.toFixed(a)},{label:i("Width"),value:E.toFixed(a)},{label:i("Height"),value:O.toFixed(a)},{label:i("Rotation_y"),value:k.rad2deg(I).toFixed(a)}];(n=c.mainViewInstance)==null||n.filterPointsByBox(l.info).then(g=>{if(!g){u(d);return}d.push({label:i("PointCount"),value:`${g.num}`}),o===!0&&l.info.subAttribute&&e&&m.getSubAttributeName(l.info.subAttribute,e).forEach(A=>d.push(A)),u(d)})},[l,b.language]),l?r.createElement("div",{style:t||P(y({position:"absolute"},C),{right:8,bottom:8})},s.map(n=>p?r.createElement("div",{key:n.label,style:{margin:"0px 4px"}},`${n.label}: ${n.value}`):r.createElement("div",{key:n.label},r.createElement("span",{style:{width:"38px",display:"inline-block",textAlign:"end"}},n.label),": ",r.createElement("span",null,n.value)))):null},K=()=>{const o=r.useContext(x),{t:e}=v();return o.valid===!1?r.createElement("div",{style:{position:"absolute",backgroundColor:"rgb(242, 101, 73)",color:"white",opacity:.7,left:0,top:0,fontSize:30,padding:"8px 16px",zIndex:20,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},e("Invalid")):null};export{T as BoxInfos,K as PointCloudValidity,R as SizeInfoForView};
1
+ import{PointCloudUtils as v,EPerspectiveView as j}from"@labelbee/lb-utils";import l,{useState as z,useEffect as k}from"react";import{PointCloudContext as m}from"./PointCloudContext.js";import{UnitUtils as D}from"@labelbee/lb-annotation";import{useSingleBox as N}from"./hooks/useSingleBox.js";import{useTranslation as x}from"react-i18next";var V=Object.defineProperty,$=Object.defineProperties,H=Object.getOwnPropertyDescriptors,O=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable,I=(o,e,t)=>e in o?V(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t,S=(o,e)=>{for(var t in e||(e={}))U.call(e,t)&&I(o,t,e[t]);if(O)for(var t of O(e))R.call(e,t)&&I(o,t,e[t]);return o},B=(o,e)=>$(o,H(e));const a=2,F={color:"white",backgroundColor:"rgba(153, 153, 153, 0.3)",padding:"8px 10px",zIndex:20,fontSize:12},T=({perspectiveView:o})=>{const{pointCloudBoxList:e,selectedID:t}=l.useContext(m),c=e.find(u=>u.id===t),r=x(),{t:s}=r;if(t&&c){const{length:u,width:b,height:i}=v.transferBox2Kitti(c),f=o===j.Back?[{label:s("Width"),value:b},{label:s("Height"),value:i}]:[{label:s("Length"),value:u},{label:s("Height"),value:i}];return l.createElement("div",{style:B(S({position:"absolute"},F),{bottom:"4%",left:"50%",transform:"translate(-50%, 0)"})},f.map((d,n)=>l.createElement("span",{key:n,style:{marginRight:n===0?16:0}},`${d.label}: ${d.value.toFixed(a)}`)))}return null},K=({checkMode:o,config:e,style:t})=>{const c=l.useContext(m),{selectedBox:r}=N(),[s,u]=z([]),b=x(),{t:i,i18n:f}=b,d=t;return k(()=>{var n,g;if(!r)return;const{length:h,width:_,height:y,rotation_y:A}=v.transferBox2Kitti(r.info),{x:P,y:C,z:w}=r.info.center;let p=[{label:"x",value:P==null?void 0:P.toFixed(a)},{label:"y",value:C==null?void 0:C.toFixed(a)},{label:"z",value:w==null?void 0:w.toFixed(a)},{label:i("Length"),value:h==null?void 0:h.toFixed(a)},{label:i("Width"),value:_==null?void 0:_.toFixed(a)},{label:i("Height"),value:y==null?void 0:y.toFixed(a)},{label:i("Rotation_y"),value:(n=D.rad2deg(A))==null?void 0:n.toFixed(a)}];(g=c.mainViewInstance)==null||g.filterPointsByBox(r.info).then(E=>{if(!E){u(p);return}p.push({label:i("PointCount"),value:`${E.num}`}),o===!0&&r.info.subAttribute&&e&&v.getSubAttributeName(r.info.subAttribute,e).forEach(L=>p.push(L)),u(p)})},[r,f.language]),r?l.createElement("div",{style:t||B(S({position:"absolute"},F),{right:8,bottom:8})},s.map(n=>d?l.createElement("div",{key:n.label,style:{margin:"0px 4px"}},`${n.label}: ${n.value}`):l.createElement("div",{key:n.label},l.createElement("span",{style:{width:"38px",display:"inline-block",textAlign:"end"}},n.label),": ",l.createElement("span",null,n.value)))):null},W=()=>{const o=l.useContext(m),{t:e}=x();return o.valid===!1?l.createElement("div",{style:{position:"absolute",backgroundColor:"rgb(242, 101, 73)",color:"white",opacity:.7,left:0,top:0,fontSize:30,padding:"8px 16px",zIndex:20,width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"center"}},e("Invalid")):null};export{K as BoxInfos,W as PointCloudValidity,T as SizeInfoForView};
@@ -1 +1 @@
1
- import f from"../../hooks/useSize.js";import{a2MapStateToProps as C}from"../../store/annotation/map.js";import{LabelBeeContext as b}from"../../store/ctx.js";import{getClassName as g}from"../../utils/dom.js";import{PointCloud as h}from"@labelbee/lb-annotation";import P,{useRef as v,useContext as S,useEffect as u}from"react";import{connect as x}from"react-redux";import{PointCloudContext as j}from"./PointCloudContext.js";import{PointCloudUtils as m}from"@labelbee/lb-utils";const D=({currentData:R,config:r,checkMode:c})=>{var n,a;const o=v(null),{setPtSegmentInstance:d,setDefaultAttribute:p,ptSegmentInstance:e}=S(j),t=f(o),i=(a=(n=r==null?void 0:r.attributeList)==null?void 0:n[0])==null?void 0:a.value;return u(()=>{var l;if(!(t==null?void 0:t.width)||!o.current||e)return;const s=new h({container:o.current,isOrthographicCamera:!0,isSegment:!0,orthographicParams:m.getDefaultOrthographicParams(t),config:r,checkMode:c});(l=s.store)==null||l.setAttribute(i),p(i),d(s)},[t]),u(()=>{e&&(e.initRenderer(),e.initOrthographicCamera(m.getDefaultOrthographicParams(t)),e.render())},[t]),P.createElement("div",{className:g("point-cloud-layout"),ref:o})};var O=x(C,null,null,{context:b})(D);export{O as default};
1
+ import f from"../../hooks/useSize.js";import{a2MapStateToProps as C}from"../../store/annotation/map.js";import{LabelBeeContext as b}from"../../store/ctx.js";import{getClassName as g}from"../../utils/dom.js";import{PointCloud as h}from"@labelbee/lb-annotation";import P,{useRef as v,useContext as S,useEffect as u}from"react";import{connect as x}from"react-redux";import{PointCloudContext as j}from"./PointCloudContext.js";import{PointCloudUtils as m}from"@labelbee/lb-utils";const w=({currentData:O,config:o,checkMode:c})=>{var n,a;const r=v(null),{setPtSegmentInstance:p,setDefaultAttribute:d,ptSegmentInstance:e}=S(j),t=f(r),i=(a=(n=o==null?void 0:o.attributeList)==null?void 0:n[0])==null?void 0:a.value;return u(()=>{var l;if(!(t==null?void 0:t.width)||!r.current||e)return;const s=new h({container:r.current,isOrthographicCamera:!0,isSegment:!0,orthographicParams:m.getDefaultOrthographicParams(t),config:o,checkMode:c});(l=s.store)==null||l.setAttribute(i),d(i),p(s)},[t]),u(()=>{e&&(e.initRenderer(),e.initOrthographicCamera(m.getDefaultOrthographicParams(t)),e.render())},[t]),P.createElement("div",{className:g("point-cloud-wrapper"),ref:r})};var D=x(C,null,null,{context:b})(w);export{D as default};
@@ -0,0 +1 @@
1
+ import{a2MapStateToProps as L}from"../../store/annotation/map.js";import{LabelBeeContext as z}from"../../store/ctx.js";import d,{useContext as R,useRef as m,useState as w,useEffect as g,useCallback as V,useMemo as B}from"react";import A from"../AnnotationView/index.js";import{connect as W}from"react-redux";import{PointCloudContext as T}from"./PointCloudContext.js";import G from"./components/TitleButton/index.js";import{Spin as H}from"antd";import N from"../../_virtual/highlightSegmentWorker.js";import{pointMappingLidar2image as Y}from"@labelbee/lb-annotation";import{debounce as $}from"lodash";var q=Object.defineProperty,J=Object.defineProperties,K=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,Q=Object.prototype.hasOwnProperty,U=Object.prototype.propertyIsEnumerable,D=(t,o,n)=>o in t?q(t,o,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[o]=n,X=(t,o)=>{for(var n in o||(o={}))Q.call(o,n)&&D(t,n,o[n]);if(x)for(var n of x(o))U.call(o,n)&&D(t,n,o[n]);return t},Z=(t,o)=>J(t,K(o));const ee=({path:t,url:o,calib:n,pcdUrl:c,highlightAttribute:a})=>{const{ptSegmentInstance:e,cacheImageNodeSize:O,imageSizes:E}=R(T),F=m(null),f=m(0),v=m({}),u=m(),[h,P]=w([]),[I,C]=w(!1),b=m(void 0);g(()=>()=>{f.current=0,v.current={},u.current=void 0},[c]);const _=V(()=>{var r,l,i;if(f.current=f.current+1,f.current===2){const s=(r=e==null?void 0:e.store)==null?void 0:r.originPoints;if(!s||!u.current){console.error("cacheMappingPCD2Img Error",{path:t,points:s,filterSize:u.current});return}v.current=(i=(l=Y(s,n,u.current))==null?void 0:l.pcdMapping)!=null?i:{}}},[e]),S=B(()=>$((l,i)=>{var s,y;if(l&&u.current){b.current&&((y=(s=b.current)==null?void 0:s.terminate)==null||y.call(s));const k=v.current,p=new N;p.current=p,C(!0),p.postMessage({cacheMap:k,indexes:l,defaultRGBA:i}),p.onmessage=M=>{P(M.data.annotations),p.terminate(),C(!1),p.current=void 0}}},100),[]);g(()=>{if(!(e==null?void 0:e.store))return;const r=e.store.getHighlightAttribute(a!=null?a:""),l=e==null?void 0:e.getColorFromConfig(a!=null?a:"");S(r.flat(),l.stroke)},[a,e]),g(()=>{if(e){const r=({newAttribute:l})=>{const i=e==null?void 0:e.getColorFromConfig(l);i&&P(h.map(s=>Z(X({},s),{defaultRGBA:i.stroke})))};return e.on("updateDefaultAttribute",r),()=>{e.unbind("updateDefaultAttribute",r)}}},[e,h]),g(()=>{if(e){const r=l=>{if(l.cacheSegData){const{cacheSegData:i}=l;if(i==null?void 0:i.indexes){const s=e.getColorFromConfig(i.attribute);S(i==null?void 0:i.indexes,s.stroke)}}else P([])};return e.on("syncPointCloudStatus",r),e.on("loadPCDFileEnd",_),()=>{e.unbind("syncPointCloudStatus",r),e.unbind("loadPCDFileEnd",_)}}},[e,c,E]);const j=r=>{O({path:t,imgNode:r}),u.current={width:r.width,height:r.height},_()};return d.createElement("div",{key:t,style:{position:"relative"},ref:F},d.createElement(G,{title:n.calName,style:{background:"rgba(0, 0, 0, 0.74)",color:"#FFFFFF",position:"absolute",top:10,left:10,zIndex:1}}),d.createElement(H,{spinning:I,delay:1e3},d.createElement(A,{size:{width:300,height:200},key:t,src:o,annotations:h,afterImgOnLoad:j})))},te=({currentData:t,highlightAttribute:o})=>{var n;const c=(n=t.mappingImgList)!=null?n:[];return(c==null?void 0:c.length)>0?d.createElement("div",{style:{position:"absolute",height:"100%",overflowY:"scroll",zIndex:100,width:300}},c==null?void 0:c.map((a,e)=>a.calib&&d.createElement(ee,{key:a.path+e,path:a.path,url:a.url,calib:a.calib,pcdUrl:t.url,highlightAttribute:o}))):null};var oe=W(L,null,null,{context:z})(te);export{oe as default};
@@ -1 +1 @@
1
- import{useContext as C,useEffect as s}from"react";import{a2MapStateToProps as b}from"../../store/annotation/map.js";import{connect as f}from"react-redux";import{LabelBeeContext as L}from"../../store/ctx.js";import{PointCloudContext as k}from"./PointCloudContext.js";import{CommonToolUtils as w}from"@labelbee/lb-annotation";import{PointCloudUtils as y,EPointCloudSegmentMode as c}from"@labelbee/lb-utils";import{useAttribute as x}from"./hooks/useAttribute.js";const P=({checkMode:v,currentData:o,imgIndex:S,highlightAttribute:a,config:A,toolInstanceRef:u})=>{const{updateSegmentAttribute:p}=x(),n=C(k),{ptSegmentInstance:e,setSegmentation:m}=n;s(()=>{var t;if(e&&o.url)return e.emit("clearStash"),e.emit("clearAllSegmentData"),e.loadPCDFile((t=o==null?void 0:o.url)!=null?t:"").then(()=>{var l,i;const r=y.getSegmentFromResultList((l=o==null?void 0:o.result)!=null?l:"");(i=e==null?void 0:e.store)==null||i.updateCurrentSegment(r)}),e.on("syncSegmentData",m),()=>{e.unbind("syncSegmentData",m)}},[S,e]),s(()=>{var t;(t=e==null?void 0:e.store)==null||t.highlightPointsByAttribute(a!=null?a:"")},[a,e]);const g=(t,l)=>{var i,r;switch(t){case"h":e==null||e.emit("LassoSelector");break;case"j":e==null||e.emit("CircleSelector");break;case"u":e==null||e.emit("setSegmentMode",c.Add);break;case"i":e==null||e.emit("setSegmentMode",c.Remove);break;case"enter":e==null||e.emit("updateCheck2Edit");break;case"delete":e==null||e.emit("deleteSelectedSegmentData",(r=(i=e.store)==null?void 0:i.cacheSegData)==null?void 0:r.id);break}},d=t=>{if(!w.hotkeyFilter(t)||v===!0)return;const l=t.key.toLocaleLowerCase();g(l)};return s(()=>(window.addEventListener("keydown",d),u.current.setDefaultAttribute=t=>{p(t)},()=>{window.removeEventListener("keydown",d)}),[e]),s(()=>{u.current.clearResult=()=>{!n.ptSegmentInstance||n.ptSegmentInstance.emit("clearAllSegmentData")}},[n.pointCloudBoxList,n.valid,n.polygonList,n.lineList,n.pointCloudSphereList,n.ptSegmentInstance]),null};var h=f(b,null,null,{context:L})(P);export{h as default};
1
+ import{useContext as k,useEffect as a}from"react";import{a2MapStateToProps as L}from"../../store/annotation/map.js";import{connect as y}from"react-redux";import{LabelBeeContext as w,useDispatch as x}from"../../store/ctx.js";import{PointCloudContext as P}from"./PointCloudContext.js";import{CommonToolUtils as h}from"@labelbee/lb-annotation";import{PointCloudUtils as A,EPointCloudSegmentMode as S}from"@labelbee/lb-utils";import{useAttribute as D}from"./hooks/useAttribute.js";import{SetPointCloudLoading as p}from"../../store/annotation/actionCreators.js";const j=({checkMode:v,currentData:l,imgIndex:g,highlightAttribute:s,config:_,toolInstanceRef:u})=>{const m=x(),{updateSegmentAttribute:b,updateSegmentSubAttribute:C}=D(),n=k(P),{ptSegmentInstance:e,setSegmentation:d}=n;a(()=>{var t;if(e&&l.url)return p(m,!0),e.emit("clearStash"),e.emit("clearAllSegmentData"),e.loadPCDFile((t=l==null?void 0:l.url)!=null?t:"").then(()=>{var o,i;const r=A.getSegmentFromResultList((o=l==null?void 0:l.result)!=null?o:"");(i=e==null?void 0:e.store)==null||i.updateCurrentSegment(r),p(m,!1)}),e.on("syncSegmentData",d),()=>{e.unbind("syncSegmentData",d)}},[g,e]),a(()=>{var t;(t=e==null?void 0:e.store)==null||t.highlightPointsByAttribute(s!=null?s:"")},[s,e]);const f=(t,o)=>{var i,r;switch(t){case"h":e==null||e.emit("LassoSelector");break;case"j":e==null||e.emit("RectSelector");break;case"k":e==null||e.emit("CircleSelector");break;case"u":e==null||e.emit("setSegmentMode",S.Add);break;case"i":e==null||e.emit("setSegmentMode",S.Remove);break;case"enter":e==null||e.emit("updateCheck2Edit");break;case"delete":e==null||e.emit("deleteSelectedSegmentData",(r=(i=e.store)==null?void 0:i.cacheSegData)==null?void 0:r.id);break}},c=t=>{if(!h.hotkeyFilter(t)||v===!0)return;const o=t.key.toLocaleLowerCase();f(o)};return a(()=>(window.addEventListener("keydown",c),u.current.setDefaultAttribute=t=>{b(t),e==null||e.emit("updateDefaultAttribute",{newAttribute:t})},u.current.setSubAttribute=(t,o)=>{C(t,o)},()=>{window.removeEventListener("keydown",c)}),[e]),a(()=>{u.current.clearResult=()=>{!n.ptSegmentInstance||(n.ptSegmentInstance.emit("clearStash"),n.ptSegmentInstance.emit("clearAllSegmentData"))}},[n.pointCloudBoxList,n.valid,n.polygonList,n.lineList,n.pointCloudSphereList,n.ptSegmentInstance]),null};var E=y(L,null,null,{context:w})(j);export{E as default};
@@ -1 +1 @@
1
- import e,{useContext as F,useState as y,useEffect as N}from"react";import{getClassName as o}from"../../utils/dom.js";import P from"../../assets/annotation/pointCloudTool/finish.svg.js";import _ from"../../assets/annotation/pointCloudTool/cancel.svg.js";import{PointCloudContext as M}from"./PointCloudContext.js";import{EPointCloudSegmentStatus as u,EPointCloudSegmentFocusMode as i}from"@labelbee/lb-utils";import{useTranslation as v}from"react-i18next";const x=({infoList:a})=>{const{t:l}=v();return a?e.createElement("div",{className:o("point-cloud-status","info")},a.map(s=>e.createElement("div",{key:s.key},e.createElement("span",null,l(s.key),"\uFF1A "),e.createElement("span",null,s.value)))):null},j=()=>{var a,l,s,g,f;const{t:c}=v(),{ptSegmentInstance:t,setDefaultAttribute:S}=F(M),[m,E]=y({segmentStatus:u.Ready});N(()=>{if(t){const n=p=>{E(p),p.cacheSegData&&S(p.cacheSegData.attribute)};return t==null||t.on("syncPointCloudStatus",n),()=>{t==null||t.unbind("syncPointCloudStatus",n)}}},[t]);const r=m.segmentStatus;if(r===u.Ready)return null;const C=r===u.Check,b=r===u.Edit;let d=null;const h=((s=(l=(a=m.cacheSegData)==null?void 0:a.points)==null?void 0:l.length)!=null?s:0)/3;let k=[{key:"SelectedPoints",value:h},{key:"Attribute",value:(f=(g=m.cacheSegData)==null?void 0:g.attribute)!=null?f:""}];return C&&(d=e.createElement("div",{className:o("point-cloud-status","operation")},e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{t==null||t.emit("updateCheck2Edit")}},c("EnterEditMode"),"(Enter)"))),b&&(d=e.createElement("div",{className:o("point-cloud-status","operation")},e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{var n;t==null||t.emit("addStash2Store"),((n=t==null?void 0:t.store)==null?void 0:n.segmentFocusMode)===i.Focus&&(t==null||t.emit("setSegmentFocusMode",i.Unfocus))}},e.createElement("img",{className:o("point-cloud-status","icon"),src:P}),c("Finish")),e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{var n;t==null||t.emit("clearStash"),((n=t==null?void 0:t.store)==null?void 0:n.segmentFocusMode)===i.Focus&&(t==null||t.emit("setSegmentFocusMode",i.Unfocus))}},e.createElement("img",{className:o("point-cloud-status","icon"),src:_}),c("Cancel")))),e.createElement(e.Fragment,null,d,e.createElement(x,{infoList:k}))};export{j as default};
1
+ import e,{useContext as D,useState as M,useEffect as j}from"react";import{getClassName as o}from"../../utils/dom.js";import x from"../../assets/annotation/pointCloudTool/finish.svg.js";import R from"../../assets/annotation/pointCloudTool/cancel.svg.js";import{PointCloudContext as I}from"./PointCloudContext.js";import{EPointCloudSegmentStatus as a,PointCloudUtils as T,EPointCloudSegmentFocusMode as d}from"@labelbee/lb-utils";import{useTranslation as y}from"react-i18next";const U=({infoList:c})=>{const{t:r}=y();return c?e.createElement("div",{className:o("point-cloud-status","info")},c.map(s=>e.createElement("div",{key:s.key},e.createElement("span",null,r(s.key),"\uFF1A "),e.createElement("span",null,s.value)))):null},H=c=>{var r,s,S,f,b,E,C;const{config:h}=c,{t:m}=y(),{ptSegmentInstance:t,setDefaultAttribute:F}=D(I),[u,v]=M({segmentStatus:a.Ready});j(()=>{if(t){const n=l=>{v(l),l.cacheSegData&&F(l.cacheSegData.attribute)},i=({segmentData:l,currentSegmentStatus:A})=>{if(A===a.Ready){if(!l){v({segmentStatus:a.Ready});return}v({segmentStatus:a.Hover,cacheSegData:l})}};return t==null||t.on("syncPointCloudStatus",n),t==null||t.on("hoverSegmentInstance",i),()=>{t==null||t.unbind("syncPointCloudStatus",n),t==null||t.unbind("hoverSegmentInstance",i)}}},[t]);const g=u.segmentStatus;if(g===a.Ready)return null;const N=g===a.Check,_=g===a.Edit;let p=null;const P=((S=(s=(r=u.cacheSegData)==null?void 0:r.points)==null?void 0:s.length)!=null?S:0)/3,k=[{key:"SelectedPoints",value:P},{key:"Attribute",value:(b=(f=h.attributeList.find(n=>{var i;return n.value===((i=u.cacheSegData)==null?void 0:i.attribute)}))==null?void 0:f.key)!=null?b:""}];return Object.keys(((E=u.cacheSegData)==null?void 0:E.subAttribute)||{}).length>0&&k.push({key:"SubAttribute",value:T.getSubAttributeName(((C=u.cacheSegData)==null?void 0:C.subAttribute)||{},h).map(n=>e.createElement("div",{key:n.label},n.label," - ",n.value))}),N&&(p=e.createElement("div",{className:o("point-cloud-status","operation")},e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{t==null||t.emit("updateCheck2Edit")}},m("EnterEditMode"),"(Enter)"))),_&&(p=e.createElement("div",{className:o("point-cloud-status","operation")},e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{var n;t==null||t.emit("addStash2Store"),((n=t==null?void 0:t.store)==null?void 0:n.segmentFocusMode)===d.Focus&&(t==null||t.emit("setSegmentFocusMode",d.Unfocus))}},e.createElement("img",{className:o("point-cloud-status","icon"),src:x}),m("Finish")),e.createElement("span",{className:o("point-cloud-status","button"),onClick:()=>{var n;t==null||t.emit("clearStash"),((n=t==null?void 0:t.store)==null?void 0:n.segmentFocusMode)===d.Focus&&(t==null||t.emit("setSegmentFocusMode",d.Unfocus))}},e.createElement("img",{className:o("point-cloud-status","icon"),src:R}),m("Cancel")))),e.createElement(e.Fragment,null,p,e.createElement(U,{infoList:k}))};export{H as default};
@@ -1 +1 @@
1
- import e from"react";import{ExpandAltOutlined as o}from"@ant-design/icons";import{getClassName as r}from"../../../../utils/dom.js";const m=({title:a,onClick:t,style:n})=>e.createElement("span",{className:r("point-cloud-container","title-button"),style:n},a,t&&e.createElement(o,{onClick:t,style:{marginLeft:4}}));export{m as default};
1
+ import n from"react";import{ExpandAltOutlined as a}from"@ant-design/icons";import{getClassName as o}from"../../../../utils/dom.js";const m=({title:e,onClick:t,style:r})=>!t&&!e?null:n.createElement("span",{className:o("point-cloud-container","title-button"),style:r},e,t&&n.createElement(a,{onClick:t,style:{marginLeft:4}}));export{m as default};
@@ -1 +1 @@
1
- import{useContext as v,useEffect as I,useCallback as A}from"react";import{PointCloudContext as p}from"../PointCloudContext.js";const C=()=>{const{topViewInstance:t,sideViewInstance:l,backViewInstance:u,mainViewInstance:i,ptSegmentInstance:o,defaultAttribute:s,setDefaultAttribute:r}=v(p);I(()=>{if(!(t==null?void 0:t.toolInstance))return;const e=()=>{r(t==null?void 0:t.toolInstance.defaultAttribute)};return t==null||t.toolInstance.on("changeAttributeSidebar",e),()=>{t==null||t.toolInstance.unbind("changeAttributeSidebar",e)}},[t==null?void 0:t.toolInstance]);const d=e=>{[t==null?void 0:t.toolInstance,l==null?void 0:l.toolInstance,u==null?void 0:u.toolInstance].forEach(n=>{n==null||n.setDefaultAttribute(e)})},c=e=>{t==null||t.toolInstance.setDefaultAttribute(e)},b=e=>{i==null||i.generateBox(e)},f=A(e=>{var n,a;!o||((n=o.store)==null||n.setAttribute(e),(a=o.pointCloudRender)==null||a.updatePointsColor(),r(e))},[o]);return{syncThreeViewsAttribute:d,updateDefaultAttribute:c,reRenderPointCloud3DBox:b,defaultAttribute:s,updateSegmentAttribute:f}};export{C as useAttribute};
1
+ import{useContext as I,useEffect as p,useCallback as s}from"react";import{PointCloudContext as C}from"../PointCloudContext.js";const m=()=>{const{topViewInstance:t,sideViewInstance:l,backViewInstance:i,mainViewInstance:r,ptSegmentInstance:n,defaultAttribute:d,setDefaultAttribute:a}=I(C);p(()=>{if(!(t==null?void 0:t.toolInstance))return;const e=()=>{a(t==null?void 0:t.toolInstance.defaultAttribute)};return t==null||t.toolInstance.on("changeAttributeSidebar",e),()=>{t==null||t.toolInstance.unbind("changeAttributeSidebar",e)}},[t==null?void 0:t.toolInstance]);const c=e=>{[t==null?void 0:t.toolInstance,l==null?void 0:l.toolInstance,i==null?void 0:i.toolInstance].forEach(o=>{o==null||o.setDefaultAttribute(e)})},b=e=>{t==null||t.toolInstance.setDefaultAttribute(e)},v=e=>{r==null||r.generateBox(e)},f=s(e=>{var o,u;!n||((o=n.store)==null||o.setAttribute(e),(u=n.pointCloudRender)==null||u.updatePointsColor(),a(e))},[n]),A=s((e,o)=>{var u;!n||(u=n.store)==null||u.setSubAttribute(e,o)},[n]);return{syncThreeViewsAttribute:c,updateDefaultAttribute:b,reRenderPointCloud3DBox:v,defaultAttribute:d,updateSegmentAttribute:f,updateSegmentSubAttribute:A}};export{m as useAttribute};
@@ -1 +1 @@
1
- import{getClassName as n}from"../../utils/dom.js";import t,{useContext as h,useState as D,useEffect as p}from"react";import N from"./PointCloud3DView.js";import T from"./PointCloudBackView.js";import I from"./PointCloudTopView.js";import B from"./PointCloudSideView.js";import F from"./PointCloud2DView.js";import R from"./PointCloudListener.js";import _ from"./PointCloudSegmentListener.js";import y from"./PointCloudSegment.js";import G from"./PointCloudSegmentStatus.js";import O from"./PointCloudSegmentToolbar.js";import{connect as Z}from"react-redux";import{LabelBeeContext as U,useDispatch as W}from"../../store/ctx.js";import{AnnotatedAttributesPanelFixedLeft as $,AnnotatedAttributesPanelFixedRight as q}from"../../views/MainView/toolFooter/AnnotatedAttributes/index.js";import{PointCloudContext as z}from"./PointCloudContext.js";import{PointCloudUtils as H,EPointCloudPattern as J}from"@labelbee/lb-utils";import{useCustomToolInstance as K}from"../../hooks/annotation.js";import{jsonParser as Q}from"../../utils/index.js";import{a2MapStateToProps as X}from"../../store/annotation/map.js";import g from"classnames";import Y from"./components/sideAndBackOverView/index.js";import{SetLoadPCDFileLoading as k}from"../../store/annotation/actionCreators.js";const M=({currentData:s,imgList:E,drawLayerSlot:d,checkMode:i,intelligentFit:L,imgIndex:x,loadPCDFileLoading:et})=>{const e=h(z),{globalPattern:c,setGlobalPattern:S,selectedIDs:C}=e,b=W(),[l,P]=D(!1),j=(C==null?void 0:C.length)>0&&l,v=Q(s.result),{toolInstanceRef:r,clearToolInstance:w}=K({basicInfo:v});if(p(()=>{r.current.setPointCloudGlobalPattern=o=>{o!==c&&(S(o),e.clearAllDetectionInstance(),w())}},[c]),p(()=>{var o;if(k(b,!0),s){const{boxParamsList:a,polygonList:m,lineList:u,sphereParamsList:V,segmentation:A}=H.parsePointCloudCurrentResult((o=s==null?void 0:s.result)!=null?o:"");e.setPointCloudResult(a),e.setPolygonList(m),e.setLineList(u),e.setPointCloudSphereList(V),e.setSegmentation(A)}},[x]),p(()=>{r.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],r.current.exportCustomData=()=>{var o,a,m,u;return{resultPolygon:(o=e.polygonList)!=null?o:[],resultLine:(a=e.lineList)!=null?a:[],resultPoint:(m=e.pointCloudSphereList)!=null?m:[],segmentation:(u=e.segmentation)!=null?u:[]}}},[e.pointCloudBoxList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),E.length===0)return null;if(c===J.Segmentation)return t.createElement(t.Fragment,null,t.createElement(_,{checkMode:i,toolInstanceRef:r}),t.createElement(O,null),t.createElement(y,{checkMode:i}),t.createElement(G,null),d==null?void 0:d({direct:!0}));let f=t.createElement("div",{className:n("point-cloud-container","left-bottom")},t.createElement(T,{checkMode:i}),t.createElement(B,{checkMode:i}));return l&&(f=t.createElement(Y,{selectAndEnlarge:j,checkMode:i})),t.createElement(t.Fragment,null,t.createElement(R,{checkMode:i,toolInstanceRef:r}),t.createElement("div",{className:n("point-cloud-layout"),onContextMenu:o=>o.preventDefault()},t.createElement("div",{className:n("point-cloud-wrapper")},t.createElement($,null),t.createElement("div",{className:n("point-cloud-content")},t.createElement("div",{className:n("point-cloud-container","left")},t.createElement(N,null),f),t.createElement("div",{className:g({[n("point-cloud-container","right")]:!0,[n("point-cloud-container","rightZoom")]:l})},t.createElement(I,{drawLayerSlot:d,checkMode:i,intelligentFit:L,setIsEnlargeTopView:P,onExitZoom:()=>{P(!1)},isEnlargeTopView:l}),t.createElement("div",{className:g({[n("point-cloud-container","right-bottom")]:!l,[n("point-cloud-container","right-bottom-floatLeft")]:l})},t.createElement(F,{isEnlargeTopView:l,thumbnailWidth:l?300:455,checkMode:i})))),t.createElement(q,null))))};var tt=Z(X,null,null,{context:U})(M);export{tt as default};
1
+ import{getClassName as n}from"../../utils/dom.js";import t,{useContext as N,useState as h,useEffect as p}from"react";import T from"./PointCloud3DView.js";import I from"./PointCloudBackView.js";import B from"./PointCloudTopView.js";import F from"./PointCloudSideView.js";import y from"./PointCloud2DView.js";import R from"./PointCloudListener.js";import _ from"./PointCloudSegmentListener.js";import G from"./PointCloudSegment.js";import O from"./PointCloudSegmentStatus.js";import Z from"./PointCloudSegmentToolbar.js";import U from"./PointCloudSegment2DView.js";import{connect as W}from"react-redux";import{LabelBeeContext as $,useDispatch as q}from"../../store/ctx.js";import{AnnotatedAttributesPanelFixedLeft as z,AnnotatedAttributesPanelFixedRight as H}from"../../views/MainView/toolFooter/AnnotatedAttributes/index.js";import{PointCloudContext as J}from"./PointCloudContext.js";import{PointCloudUtils as K,EPointCloudPattern as Q}from"@labelbee/lb-utils";import{useCustomToolInstance as X}from"../../hooks/annotation.js";import{jsonParser as Y}from"../../utils/index.js";import{a2MapStateToProps as k}from"../../store/annotation/map.js";import g from"classnames";import M from"./components/sideAndBackOverView/index.js";import{SetLoadPCDFileLoading as tt}from"../../store/annotation/actionCreators.js";const et=({currentData:s,imgList:E,drawLayerSlot:d,checkMode:i,intelligentFit:L,imgIndex:S,loadPCDFileLoading:nt,config:j})=>{const e=N(J),{globalPattern:c,setGlobalPattern:v,selectedIDs:C}=e,x=q(),[l,P]=h(!1),b=(C==null?void 0:C.length)>0&&l,w=Y(s.result),{toolInstanceRef:r,clearToolInstance:V}=X({basicInfo:w});if(p(()=>{r.current.setPointCloudGlobalPattern=o=>{o!==c&&(v(o),e.clearAllDetectionInstance(),V())}},[c]),p(()=>{var o;if(tt(x,!0),s){const{boxParamsList:a,polygonList:m,lineList:u,sphereParamsList:A,segmentation:D}=K.parsePointCloudCurrentResult((o=s==null?void 0:s.result)!=null?o:"");e.setPointCloudResult(a),e.setPolygonList(m),e.setLineList(u),e.setPointCloudSphereList(A),e.setSegmentation(D)}},[S]),p(()=>{r.current.exportData=()=>[e.pointCloudBoxList,{valid:e.valid}],r.current.exportCustomData=()=>{var o,a,m,u;return{resultPolygon:(o=e.polygonList)!=null?o:[],resultLine:(a=e.lineList)!=null?a:[],resultPoint:(m=e.pointCloudSphereList)!=null?m:[],segmentation:(u=e.segmentation)!=null?u:[]}}},[e.pointCloudBoxList,e.valid,e.polygonList,e.lineList,e.pointCloudSphereList,e.ptSegmentInstance,e.segmentation]),E.length===0)return null;if(c===Q.Segmentation)return t.createElement(t.Fragment,null,t.createElement(_,{checkMode:i,toolInstanceRef:r}),t.createElement(Z,null),t.createElement("div",{className:n("point-cloud-layout")},t.createElement(G,{checkMode:i}),t.createElement(U,null)),t.createElement(O,{config:j}),d==null?void 0:d({direct:!0}));let f=t.createElement("div",{className:n("point-cloud-container","left-bottom")},t.createElement(I,{checkMode:i}),t.createElement(F,{checkMode:i}));return l&&(f=t.createElement(M,{selectAndEnlarge:b,checkMode:i})),t.createElement(t.Fragment,null,t.createElement(R,{checkMode:i,toolInstanceRef:r}),t.createElement("div",{className:n("point-cloud-layout"),onContextMenu:o=>o.preventDefault()},t.createElement("div",{className:n("point-cloud-wrapper")},t.createElement(z,null),t.createElement("div",{className:n("point-cloud-content")},t.createElement("div",{className:n("point-cloud-container","left")},t.createElement(T,null),f),t.createElement("div",{className:g({[n("point-cloud-container","right")]:!0,[n("point-cloud-container","rightZoom")]:l})},t.createElement(B,{drawLayerSlot:d,checkMode:i,intelligentFit:L,setIsEnlargeTopView:P,onExitZoom:()=>{P(!1)},isEnlargeTopView:l}),t.createElement("div",{className:g({[n("point-cloud-container","right-bottom")]:!l,[n("point-cloud-container","right-bottom-floatLeft")]:l})},t.createElement(y,{isEnlargeTopView:l,thumbnailWidth:l?300:455,checkMode:i})))),t.createElement(H,null))))};var ot=W(k,null,null,{context:$})(et);export{ot as default};
package/es/index.css CHANGED
@@ -1964,6 +1964,13 @@
1964
1964
  position: relative;
1965
1965
  }
1966
1966
 
1967
+ .bee-point-cloud-container__title-button {
1968
+ border-radius: 2px;
1969
+ padding: 4px 8px;
1970
+ background-color: #fff;
1971
+ color: #000000;
1972
+ }
1973
+
1967
1974
  .bee-point-cloud-wrapper {
1968
1975
  display: flex;
1969
1976
  height: 100%;
@@ -2061,12 +2068,6 @@
2061
2068
  left: 16px;
2062
2069
  z-index: 1000;
2063
2070
  }
2064
- .bee-point-cloud-wrapper .bee-point-cloud-container__title-button {
2065
- border-radius: 2px;
2066
- padding: 4px 8px;
2067
- background-color: #fff;
2068
- color: #000000;
2069
- }
2070
2071
  .bee-point-cloud-wrapper .bee-point-cloud-container__zoom {
2071
2072
  position: absolute;
2072
2073
  top: 0px;
package/es/utils/index.js CHANGED
@@ -1 +1 @@
1
- import h from"lodash";import{pointCloudLidar2image as g}from"@labelbee/lb-annotation";var l=Object.defineProperty,y=Object.defineProperties,d=Object.getOwnPropertyDescriptors,f=Object.getOwnPropertySymbols,_=Object.prototype.hasOwnProperty,x=Object.prototype.propertyIsEnumerable,m=(r,t,n)=>t in r?l(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n,O=(r,t)=>{for(var n in t||(t={}))_.call(t,n)&&m(r,n,t[n]);if(f)for(var n of f(t))x.call(t,n)&&m(r,n,t[n]);return r},P=(r,t)=>y(r,d(t));const w=(r,t={})=>{try{return typeof r=="string"?JSON.parse(r):h.isObject(r)?r:t}catch(n){return t}},b=r=>{if(Array.isArray(r))return r.filter(t=>t).join(" ");if(h.isObject(r)){const t=[];return Object.keys(r).forEach(n=>{r[n]&&t.push(n)}),t.join(" ")}return""},u=r=>{let t=Infinity,n=Infinity,e=-Infinity,i=-Infinity;for(const o of r)t=Math.min(t,o.x),n=Math.min(n,o.y),e=Math.max(e,o.x),i=Math.max(i,o.y);return{x:t,y:n,width:e-t,height:i-n}},I=(()=>{const r=(t,n)=>{const e=Math.max(t.x,n.x),i=Math.max(t.y,n.y),o=Math.min(t.x+t.width,n.x+n.width),s=Math.min(t.y+t.height,n.y+n.height),c=o-e,a=s-i;return c>=0&&a>=0?{x:e,y:i,width:c,height:a}:null};return(t,n,e)=>{if(e[n]){const i=e[n].width,o=e[n].height;return r(t,{x:0,y:0,width:i,height:o})!==null}return!1}})(),j=r=>{const{pointCloudBox:t,mappingData:n,imageSizes:e}=r,{transferViewData:i}=g(t,n.calib),o=i.reduce((a,p)=>p.type==="line"?[...a,...p.pointList]:a,[]),s=P(O({},u(o)),{imageName:n.path});if(I(s,n.path,e))return s};export{b as classnames,u as getBoundingRect,j as getRectPointCloudBox,w as jsonParser};
1
+ import f from"lodash";import{pointCloudLidar2image as l}from"@labelbee/lb-annotation";var y=Object.defineProperty,d=Object.defineProperties,_=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,x=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable,m=(r,t,n)=>t in r?y(r,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):r[t]=n,P=(r,t)=>{for(var n in t||(t={}))x.call(t,n)&&m(r,n,t[n]);if(u)for(var n of u(t))O.call(t,n)&&m(r,n,t[n]);return r},w=(r,t)=>d(r,_(t));const b=(r,t={})=>{try{return typeof r=="string"?JSON.parse(r):f.isObject(r)?r:t}catch(n){return t}},I=r=>{if(Array.isArray(r))return r.filter(t=>t).join(" ");if(f.isObject(r)){const t=[];return Object.keys(r).forEach(n=>{r[n]&&t.push(n)}),t.join(" ")}return""},g=r=>{let t=Infinity,n=Infinity,e=-Infinity,o=-Infinity;for(const i of r)t=Math.min(t,i.x),n=Math.min(n,i.y),e=Math.max(e,i.x),o=Math.max(o,i.y);return{x:t,y:n,width:e-t,height:o-n}},v=(()=>{const r=(t,n)=>{const e=Math.max(t.x,n.x),o=Math.max(t.y,n.y),i=Math.min(t.x+t.width,n.x+n.width),a=Math.min(t.y+t.height,n.y+n.height),s=i-e,c=a-o;return s>=0&&c>=0?{x:e,y:o,width:s,height:c}:null};return(t,n,e)=>{if(e[n]){const o=e[n].width,i=e[n].height;return r(t,{x:0,y:0,width:o,height:i})!==null}return!1}})(),j=r=>{var t;const{pointCloudBox:n,mappingData:e,imageSizes:o}=r,{transferViewData:i}=(t=l(n,e.calib))!=null?t:{};if(!i)return;const a=i.reduce((p,h)=>h.type==="line"?[...p,...h.pointList]:p,[]),s=w(P({},g(a)),{imageName:e.path});if(v(s,e.path,o))return s};export{I as classnames,g as getBoundingRect,j as getRectPointCloudBox,b as jsonParser};
@@ -1 +1 @@
1
- import e,{useContext as k,useState as w,useEffect as h}from"react";import{EditFilled as Q}from"@ant-design/icons";import{ToolIcons as X}from"../ToolIcons.js";import{cTool as Y}from"@labelbee/lb-annotation";import{PointCloudContext as L}from"../../../../components/pointCloudView/PointCloudContext.js";import{Divider as j,Tag as Z,Input as ee,Select as F,message as D}from"antd";import te from"../../../../utils/StepUtils.js";import{connect as oe}from"react-redux";import{jsonParser as ne,classnames as le}from"../../../../utils/index.js";import{useStatus as re}from"../../../../components/pointCloudView/hooks/useStatus.js";import{useSingleBox as $}from"../../../../components/pointCloudView/hooks/useSingleBox.js";import{useTranslation as T}from"react-i18next";import{LabelBeeContext as ie,useDispatch as ae}from"../../../../store/ctx.js";import se from"./components/batchUpdateModal/index.js";import{PointCloudUtils as ce}from"@labelbee/lb-utils";import z from"../../../../components/attributeList/index.js";import{useAttribute as ue}from"../../../../components/pointCloudView/hooks/useAttribute.js";import de from"../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js";import me from"../../../../assets/annotation/pointCloudTool/lassoSelector_a.svg.js";import pe from"../../../../assets/annotation/pointCloudTool/circleSelector.svg.js";import fe from"../../../../assets/annotation/pointCloudTool/circleSelector_a.svg.js";import{sidebarCls as B}from"../index.js";import{SetTaskStepList as ve}from"../../../../store/annotation/actionCreators.js";import{usePointCloudViews as ge}from"../../../../components/pointCloudView/hooks/usePointCloudViews.js";var Ce=Object.defineProperty,Se=Object.defineProperties,xe=Object.getOwnPropertyDescriptors,U=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,_e=Object.prototype.propertyIsEnumerable,M=(n,t,l)=>t in n?Ce(n,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):n[t]=l,V=(n,t)=>{for(var l in t||(t={}))be.call(t,l)&&M(n,l,t[l]);if(U)for(var l of U(t))_e.call(t,l)&&M(n,l,t[l]);return n},N=(n,t)=>Se(n,xe(t));const Ee=({imgList:n,imgIndex:t})=>{const l=k(L),[m,c]=w([]),{t:i}=T();h(()=>{const f=n;let a=new Map;c(ce.getAllPointCloudResult({imgList:f,extraBoxList:u,ignoreIndexList:[t]}).filter(r=>!r.trackID||a.get(r.trackID)?!1:(a.set(r.trackID,!0),!0)).sort((r,g)=>{var s,C;const d=(s=r==null?void 0:r.trackID)!=null?s:0,p=(C=g==null?void 0:g.trackID)!=null?C:0;return d-p}).map(r=>{var g;return(g=r==null?void 0:r.trackID)!=null?g:0}))},[l.pointCloudBoxList,n]);const{pointCloudBoxList:u}=l;return e.createElement("div",{style:{padding:24,borderBottom:"1px solid #eee"}},e.createElement("div",{style:{marginBottom:16}},i("AllTrackIDs")),e.createElement("div",null,m.map(f=>e.createElement(Z,{color:"#F3F4FF",key:f,style:{color:"#666",marginBottom:8}},f))))},Ie=()=>{const[n,t]=w(!1),l=k(L),{pointCloudBoxList:m}=l,{selectedBox:c,updateSelectedBox:i}=$(),[u,f]=w(""),{t:a}=T(),r=c==null?void 0:c.info.trackID,g=d=>!!m.find(x=>x.trackID===d&&x.id!==(c==null?void 0:c.info.id)),s=(d=!1)=>{const p=parseInt(u,10);if(d&&t(!1),isNaN(p)){D.error(a("PositiveIntegerCheck"));return}if(u.indexOf(".")>-1){D.error(a("NotAllowDecimalPointsInTrackID"));return}if(g(p)){D.error(a("DuplicateTrackIDsExist"));return}if(!(p>0)){D.error(a("PositiveIntegerCheck"));return}C(p)};h(()=>{t(!1)},[r]);const C=d=>{var p;const x=i({trackID:d});(p=l==null?void 0:l.topViewInstance)==null||p.updatePolygonList(x!=null?x:[])};return e.createElement("div",{style:{padding:24}},e.createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},e.createElement("span",null,a("CurrentBoxTrackIDs")),r&&e.createElement(se,{id:r,updateCurrentPolygonList:d=>C(d)})),e.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},n&&r?e.createElement(ee,{defaultValue:r,onChange:d=>{f(d.target.value)},disabled:!r,size:"small",onBlur:()=>{s()},onPressEnter:()=>{s(!0)}}):e.createElement("span",null,r),e.createElement(Q,{style:{color:"#999",marginLeft:16,cursor:typeof r!="undefined"?"pointer":"not-allowed"},onClick:()=>{r&&t(!n)}})))},W=({attributeList:n,subAttributeList:t,toolInstance:l,config:m,stepList:c,stepInfo:i,enableColorPicker:u})=>{const{selectedBox:f}=$(),a=k(L),{t:r}=T(),{defaultAttribute:g}=ue(),s=ge(),C=ae(),d={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"},p={margin:"12px 20px 8px",fontSize:14,fontWeight:500,wordWrap:"break-word"},x=(o,b)=>{var _,E,I,y,v;const P=(_=m==null?void 0:m.attributeList)==null?void 0:_.map(S=>S.value===o?N(V({},S),{color:b}):S),A=N(V({},m),{attributeList:P}),H=JSON.stringify(A),K=c==null?void 0:c.map(S=>(S==null?void 0:S.step)===(i==null?void 0:i.step)?N(V({},S),{config:H}):S);(E=a==null?void 0:a.topViewInstance)==null||E.updateAttributeList(P),(I=a==null?void 0:a.sideViewInstance)==null||I.updateAttributeList(P),(y=a==null?void 0:a.backViewInstance)==null||y.updateAttributeList(P),(v=a==null?void 0:a.mainViewInstance)==null||v.setConfig(A),C(ve({stepList:K}))},J=o=>{s.updateViewsByDefaultSize&&s.updateViewsByDefaultSize(o)},q=o=>{l.setDefaultAttribute(o)},O=(o,b)=>{l.setSubAttribute(o,b)},G=n.map(o=>({label:o.key,value:o.value,color:o==null?void 0:o.color,limit:o==null?void 0:o.limit,isDefault:o==null?void 0:o.isDefault}));return e.createElement("div",null,e.createElement("div",{style:d},r("Attribute")),e.createElement(z,{list:G,forbidDefault:!0,selectedAttribute:g!=null?g:"",attributeChanged:o=>q(o),updateColorConfig:x,enableColorPicker:u,updateSize:J}),e.createElement(j,{style:{margin:0}}),f&&e.createElement(e.Fragment,null,t.map(o=>{var b,_,E,I,y;return(o==null?void 0:o.subSelected)&&e.createElement("div",{style:{marginTop:12},key:o.value},e.createElement("div",{style:p},r("SubAttribute"),"-",o.key),((b=o.subSelected)==null?void 0:b.length)<5?e.createElement(z,{list:o.subSelected.map(v=>({label:v.key,value:v.value})),selectedAttribute:(E=(_=a.selectedPointCloudBox)==null?void 0:_.subAttribute)==null?void 0:E[o.value],num:"-",forbidColor:!0,forbidDefault:!0,attributeChanged:v=>O(o.value,v),style:{marginBottom:12}}):e.createElement(F,{style:{margin:"0px 21px 17px 16px",width:"87%"},value:(y=(I=a.selectedPointCloudBox)==null?void 0:I.subAttribute)==null?void 0:y[o.value],placeholder:r("PleaseSelect"),onChange:v=>O(o.value,v),allowClear:!0},o.subSelected.map(v=>e.createElement(F.Option,{key:v.value,value:v.value},v.key))),e.createElement(j,{style:{margin:0}}))})))},ye=[{toolName:"LassoSelector",commonSvg:de,selectedSvg:me},{toolName:"CircleSelector",commonSvg:pe,selectedSvg:fe}],R=({toolInstance:n})=>{const{ptSegmentInstance:t}=k(L),[l,m]=w("LassoSelector"),{t:c}=T();return h(()=>{if(!t)return;const i=()=>{m("LassoSelector")},u=()=>{m("CircleSelector")};return t.on("LassoSelector",i),t.on("CircleSelector",u),()=>{t.unbind("LassoSelector",i),t.unbind("CircleSelector",u)}},[t]),e.createElement("div",{className:`${B}__level`},ye.map(i=>{const u=l===i.toolName;return e.createElement("span",{className:`${B}__toolOption`,key:i.toolName,onClick:()=>t==null?void 0:t.emit(i.toolName)},e.createElement("img",{className:`${B}__singleTool`,src:u?i==null?void 0:i.selectedSvg:i==null?void 0:i.commonSvg}),e.createElement("span",{className:le({[`${B}__toolOption__selected`]:u})},c(i.toolName)))}))},Pe=({stepInfo:n,toolInstance:t,imgList:l,imgIndex:m,stepList:c,enableColorPicker:i})=>{var u,f;const{updatePointCloudPattern:a,pointCloudPattern:r,isPointCloudSegmentationPattern:g}=re(),s=ne(n.config),C=(u=s==null?void 0:s.attributeList)!=null?u:[],d=(s==null?void 0:s.secondaryAttributeConfigurable)===!0?(f=s==null?void 0:s.inputList)!=null?f:[]:[];return g?e.createElement(e.Fragment,null,e.createElement(R,{toolInstance:t}),e.createElement(W,{toolInstance:t,attributeList:C,subAttributeList:d,config:s,stepList:c,stepInfo:n,enableColorPicker:i})):e.createElement(e.Fragment,null,e.createElement(X,{toolName:Y.EPointCloudName.PointCloud,selectedToolName:r,onChange:p=>a==null?void 0:a(p)}),e.createElement(W,{toolInstance:t,attributeList:C,subAttributeList:d,config:s,stepList:c,stepInfo:n,enableColorPicker:i}),(s==null?void 0:s.trackConfigurable)===!0&&e.createElement(e.Fragment,null,e.createElement(Ie,null),e.createElement(j,{style:{margin:0}}),e.createElement(Ee,{imgList:l,imgIndex:m})))},ke=n=>{var t,l,m,c;const i=te.getCurrentStepInfo((t=n.annotation)==null?void 0:t.step,(l=n.annotation)==null?void 0:l.stepList),u=(m=n.annotation)==null?void 0:m.toolInstance,f=(c=n.annotation)==null?void 0:c.stepList;return{stepInfo:i,toolInstance:u,imgList:n.annotation.imgList,imgIndex:n.annotation.imgIndex,stepList:f}};var we=oe(ke,null,null,{context:ie})(Pe);export{R as PointCloudSegToolIcon,we as default};
1
+ import t,{useContext as T,useState as k,useEffect as h}from"react";import{EditFilled as re}from"@ant-design/icons";import{ToolIcons as ae}from"../ToolIcons.js";import{cTool as ie}from"@labelbee/lb-annotation";import{PointCloudContext as B}from"../../../../components/pointCloudView/PointCloudContext.js";import{Divider as A,Tag as se,Input as ce,Select as U,message as j}from"antd";import ue from"../../../../utils/StepUtils.js";import{connect as de}from"react-redux";import{jsonParser as me,classnames as pe}from"../../../../utils/index.js";import{useStatus as z}from"../../../../components/pointCloudView/hooks/useStatus.js";import{useSingleBox as M}from"../../../../components/pointCloudView/hooks/useSingleBox.js";import{useTranslation as V}from"react-i18next";import{LabelBeeContext as ge,useDispatch as ve}from"../../../../store/ctx.js";import fe from"./components/batchUpdateModal/index.js";import{PointCloudUtils as Se,EPointCloudSegmentStatus as N,EPointCloudPattern as Ce}from"@labelbee/lb-utils";import W from"../../../../components/attributeList/index.js";import{useAttribute as be}from"../../../../components/pointCloudView/hooks/useAttribute.js";import _e from"../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js";import xe from"../../../../assets/annotation/pointCloudTool/lassoSelector_a.svg.js";import Pe from"../../../../assets/annotation/pointCloudTool/circleSelector.svg.js";import Ee from"../../../../assets/annotation/pointCloudTool/circleSelector_a.svg.js";import ye from"../../../../assets/annotation/rectTool/icon_rect.svg.js";import Ie from"../../../../assets/annotation/rectTool/icon_rect_a.svg.js";import{sidebarCls as O}from"../index.js";import{SetTaskStepList as De}from"../../../../store/annotation/actionCreators.js";import{usePointCloudViews as we}from"../../../../components/pointCloudView/hooks/usePointCloudViews.js";var ke=Object.defineProperty,Le=Object.defineProperties,Te=Object.getOwnPropertyDescriptors,J=Object.getOwnPropertySymbols,he=Object.prototype.hasOwnProperty,Be=Object.prototype.propertyIsEnumerable,q=(n,e,l)=>e in n?ke(n,e,{enumerable:!0,configurable:!0,writable:!0,value:l}):n[e]=l,$=(n,e)=>{for(var l in e||(e={}))he.call(e,l)&&q(n,l,e[l]);if(J)for(var l of J(e))Be.call(e,l)&&q(n,l,e[l]);return n},F=(n,e)=>Le(n,Te(e));const je=({imgList:n,imgIndex:e})=>{const l=T(B),[p,u]=k([]),{t:r}=V();h(()=>{const s=n;let v=new Map;u(Se.getAllPointCloudResult({imgList:s,extraBoxList:d,ignoreIndexList:[e]}).filter(a=>!a.trackID||v.get(a.trackID)?!1:(v.set(a.trackID,!0),!0)).sort((a,i)=>{var c,f;const m=(c=a==null?void 0:a.trackID)!=null?c:0,g=(f=i==null?void 0:i.trackID)!=null?f:0;return m-g}).map(a=>{var i;return(i=a==null?void 0:a.trackID)!=null?i:0}))},[l.pointCloudBoxList,n]);const{pointCloudBoxList:d}=l;return t.createElement("div",{style:{padding:24,borderBottom:"1px solid #eee"}},t.createElement("div",{style:{marginBottom:16}},r("AllTrackIDs")),t.createElement("div",null,p.map(s=>t.createElement(se,{color:"#F3F4FF",key:s,style:{color:"#666",marginBottom:8}},s))))},Ve=()=>{const[n,e]=k(!1),l=T(B),{pointCloudBoxList:p}=l,{selectedBox:u,updateSelectedBox:r}=M(),[d,s]=k(""),{t:v}=V(),a=u==null?void 0:u.info.trackID,i=m=>!!p.find(b=>b.trackID===m&&b.id!==(u==null?void 0:u.info.id)),c=(m=!1)=>{const g=parseInt(d,10);if(m&&e(!1),isNaN(g)){j.error(v("PositiveIntegerCheck"));return}if(d.indexOf(".")>-1){j.error(v("NotAllowDecimalPointsInTrackID"));return}if(i(g)){j.error(v("DuplicateTrackIDsExist"));return}if(!(g>0)){j.error(v("PositiveIntegerCheck"));return}f(g)};h(()=>{e(!1)},[a]);const f=m=>{var g;const b=r({trackID:m});(g=l==null?void 0:l.topViewInstance)==null||g.updatePolygonList(b!=null?b:[])};return t.createElement("div",{style:{padding:24}},t.createElement("div",{style:{marginBottom:16,display:"flex",justifyContent:"space-between",alignItems:"center"}},t.createElement("span",null,v("CurrentBoxTrackIDs")),a&&t.createElement(fe,{id:a,updateCurrentPolygonList:m=>f(m)})),t.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},n&&a?t.createElement(ce,{defaultValue:a,onChange:m=>{s(m.target.value)},disabled:!a,size:"small",onBlur:()=>{c()},onPressEnter:()=>{c(!0)}}):t.createElement("span",null,a),t.createElement(re,{style:{color:"#999",marginLeft:16,cursor:typeof a!="undefined"?"pointer":"not-allowed"},onClick:()=>{a&&e(!n)}})))},G=({segmentStatus:n,globalPattern:e})=>e===Ce.Segmentation&&![N.Edit,N.Ready].includes(n),H=({attributeList:n,subAttributeList:e,toolInstance:l,config:p,stepList:u,stepInfo:r,enableColorPicker:d})=>{const[s,v]=k({segmentStatus:N.Ready}),{selectedBox:a}=M(),i=T(B),{ptSegmentInstance:c}=i,{t:f}=V(),{defaultAttribute:m}=be(),g=we(),{isPointCloudSegmentationPattern:b}=z(),Q=ve(),X={fontWeight:500,fontSize:14,margin:"12px 0 8px 20px"},Y={margin:"12px 20px 8px",fontSize:14,fontWeight:500,wordWrap:"break-word"};h(()=>{if(!!c)return c.on("syncPointCloudStatus",v),()=>{c.unbind("syncPointCloudStatus",v)}},[c]);const Z=(o,x)=>{var P,E,y,I,D;const _=(P=p==null?void 0:p.attributeList)==null?void 0:P.map(C=>C.value===o?F($({},C),{color:x}):C),w=F($({},p),{attributeList:_}),L=JSON.stringify(w),S=u==null?void 0:u.map(C=>(C==null?void 0:C.step)===(r==null?void 0:r.step)?F($({},C),{config:L}):C);(E=i==null?void 0:i.topViewInstance)==null||E.updateAttributeList(_),(y=i==null?void 0:i.sideViewInstance)==null||y.updateAttributeList(_),(I=i==null?void 0:i.backViewInstance)==null||I.updateAttributeList(_),(D=i==null?void 0:i.mainViewInstance)==null||D.setConfig(w),Q(De({stepList:S}))},ee=o=>{g.updateViewsByDefaultSize&&g.updateViewsByDefaultSize(o)},te=o=>{G({globalPattern:i.globalPattern,segmentStatus:s.segmentStatus})||l.setDefaultAttribute(o)},R=(o,x)=>{G({globalPattern:i.globalPattern,segmentStatus:s.segmentStatus})||l.setSubAttribute(o,x)},oe=n.map(o=>({label:o.key,value:o.value,color:o==null?void 0:o.color,limit:o==null?void 0:o.limit,isDefault:o==null?void 0:o.isDefault})),ne=a||s.cacheSegData&&s.segmentStatus===N.Edit,le=b;return t.createElement("div",null,t.createElement("div",{style:X},f("Attribute")),t.createElement(W,{list:oe,forbidDefault:!0,selectedAttribute:m!=null?m:"",attributeChanged:o=>te(o),updateColorConfig:Z,enableColorPicker:d,updateSize:ee,forbidShowLimitPopover:le}),t.createElement(A,{style:{margin:0}}),ne&&t.createElement(t.Fragment,null,e.map(o=>{var x,P,E,y,I,D,_,w,L;return(o==null?void 0:o.subSelected)&&t.createElement("div",{style:{marginTop:12},key:o.value},t.createElement("div",{style:Y},f("SubAttribute"),"-",o.key),((x=o.subSelected)==null?void 0:x.length)<5?t.createElement(W,{list:o.subSelected.map(S=>({label:S.key,value:S.value})),selectedAttribute:((E=(P=i.selectedPointCloudBox)==null?void 0:P.subAttribute)==null?void 0:E[o.value])||((I=(y=s.cacheSegData)==null?void 0:y.subAttribute)==null?void 0:I[o.value]),num:"-",forbidColor:!0,forbidDefault:!0,attributeChanged:S=>R(o.value,S),style:{marginBottom:12}}):t.createElement(U,{style:{margin:"0px 21px 17px 16px",width:"87%"},value:((_=(D=i.selectedPointCloudBox)==null?void 0:D.subAttribute)==null?void 0:_[o.value])||((L=(w=s.cacheSegData)==null?void 0:w.subAttribute)==null?void 0:L[o.value]),placeholder:f("PleaseSelect"),onChange:S=>R(o.value,S),allowClear:!0},o.subSelected.map(S=>t.createElement(U.Option,{key:S.value,value:S.value},S.key))),t.createElement(A,{style:{margin:0}}))})))},Ne=[{toolName:"LassoSelector",commonSvg:_e,selectedSvg:xe},{toolName:"RectSelector",commonSvg:ye,selectedSvg:Ie},{toolName:"CircleSelector",commonSvg:Pe,selectedSvg:Ee}],K=({toolInstance:n})=>{const{ptSegmentInstance:e}=T(B),[l,p]=k("LassoSelector"),{t:u}=V();return h(()=>{if(!e)return;const r=()=>{p("LassoSelector")},d=()=>{p("RectSelector")},s=()=>{p("CircleSelector")};return e.on("LassoSelector",r),e.on("RectSelector",d),e.on("CircleSelector",s),()=>{e.unbind("LassoSelector",r),e.unbind("RectSelector",d),e.unbind("CircleSelector",s)}},[e]),t.createElement("div",{className:`${O}__level`},Ne.map(r=>{const d=l===r.toolName;return t.createElement("span",{className:`${O}__toolOption`,key:r.toolName,onClick:()=>e==null?void 0:e.emit(r.toolName)},t.createElement("img",{className:`${O}__singleTool`,src:d?r==null?void 0:r.selectedSvg:r==null?void 0:r.commonSvg}),t.createElement("span",{className:pe({[`${O}__toolOption__selected`]:d})},u(r.toolName)))}))},Oe=({stepInfo:n,toolInstance:e,imgList:l,imgIndex:p,stepList:u,enableColorPicker:r})=>{var d,s;const{updatePointCloudPattern:v,pointCloudPattern:a,isPointCloudSegmentationPattern:i}=z(),c=me(n.config),f=(d=c==null?void 0:c.attributeList)!=null?d:[],m=(c==null?void 0:c.secondaryAttributeConfigurable)===!0?(s=c==null?void 0:c.inputList)!=null?s:[]:[];return i?t.createElement(t.Fragment,null,t.createElement(K,{toolInstance:e}),t.createElement(H,{toolInstance:e,attributeList:f,subAttributeList:m,config:c,stepList:u,stepInfo:n,enableColorPicker:r})):t.createElement(t.Fragment,null,t.createElement(ae,{toolName:ie.EPointCloudName.PointCloud,selectedToolName:a,onChange:g=>v==null?void 0:v(g)}),t.createElement(H,{toolInstance:e,attributeList:f,subAttributeList:m,config:c,stepList:u,stepInfo:n,enableColorPicker:r}),(c==null?void 0:c.trackConfigurable)===!0&&t.createElement(t.Fragment,null,t.createElement(Ve,null),t.createElement(A,{style:{margin:0}}),t.createElement(je,{imgList:l,imgIndex:p})))},Ae=n=>{var e,l,p,u;const r=ue.getCurrentStepInfo((e=n.annotation)==null?void 0:e.step,(l=n.annotation)==null?void 0:l.stepList),d=(p=n.annotation)==null?void 0:p.toolInstance,s=(u=n.annotation)==null?void 0:u.stepList;return{stepInfo:r,toolInstance:d,imgList:n.annotation.imgList,imgIndex:n.annotation.imgIndex,stepList:s}};var $e=de(Ae,null,null,{context:ge})(Oe);export{K as PointCloudSegToolIcon,$e as default};
@@ -1 +1 @@
1
- import{backward as n,forward as e,scale as a,fullScreen as u}from"../common/index.js";import s from"../../../../../../assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js";import C from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js";import o from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js";import d from"../../../../../../assets/annotation/pointCloudTool/changePointCloudValid.svg.js";import l from"../../../../../../assets/annotation/pointCloudTool/copy.svg.js";import p from"../../../../../../assets/annotation/pointCloudTool/nextBox.svg.js";import h from"../../../../../../assets/annotation/pointCloudTool/patse.svg.js";import f from"../../../../../../assets/annotation/pointCloudTool/prevBox.svg.js";import P from"../../../../../../assets/annotation/pointCloudTool/rotate180_black.svg.js";import v from"../../../../../../assets/annotation/pointCloudTool/selectAll.svg.js";import S from"../../../../../../assets/annotation/pointCloudTool/selectMultiple.svg.js";import j from"../../../../../../assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js";import T from"../../../../../../assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js";import y from"../../../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js";import x from"../../../../../../assets/annotation/pointCloudTool/circleSelector.svg.js";import R from"../../../../../../assets/annotation/pointCloudTool/addSvg.svg.js";import $ from"../../../../../../assets/annotation/pointCloudTool/clearSvg.svg.js";import t from"react";import{ReloadOutlined as B,RotateLeftOutlined as I,RotateRightOutlined as _}from"@ant-design/icons";import{polygon as b,invalidPolygon as D,selectedPolygon as k,changePolygonAttribute as A,deletePolygon as V,insertPolygonPoint as O,deletePolygonPoint as w}from"../polygon/index.js";const r={name:"PointThickness",icon:t.createElement("span",{style:{display:" inline-block",width:14,height:14,borderRadius:"50%",border:"1px solid"}}),shortCut:["+","-"],linkSymbol:""},i={name:"RotateAroundCenterPoint",icon:t.createElement(B,null),shortCut:[C],noticeInfo:"DragOperation"},c={name:"PointCloudViewTranslate",icon:s,shortCut:[o],noticeInfo:"Drag"},m={name:"TopViewTranslate",icon:s,shortCut:[o]},g={name:"ChangePointCloudValid",icon:d,shortCut:["V"]},E={name:"CopyBox",icon:l,shortCut:["Ctrl","C"]},M={name:"PasteBox",icon:h,shortCut:["Ctrl","V"]},H={name:"RotateLeft",icon:t.createElement(I,null),shortCut:["Q"]},L={name:"RotateRight",icon:t.createElement(_,null),shortCut:["E"]},G={name:"PreviousBox",icon:f,shortCut:["Shift","Tab"]},K={name:"NextBox",icon:p,shortCut:["Tab"]},N={name:"Rotate180",icon:P,shortCut:["G"],noticeInfo:"SelectedStatus"},z={name:"CopyPrevPage",icon:l,shortCut:["Alt","C"]},F={name:"ChangeBoxValid",icon:j,shortCut:["F"],noticeInfo:"SelectedStatus"},J={name:"MultiSelect",icon:S,shortCut:["Ctrl",o]},Q={name:"SelectAllBox",icon:v,shortCut:["Ctrl","A"]},U={name:"Delete",icon:T,shortCut:["Del"],noticeInfo:"SelectedStatus"},Y={name:"LassoSelector",icon:y,shortCut:["H"],noticeInfo:"SelectorMsg"},q={name:"CircleSelector",icon:x,shortCut:["J"],noticeInfo:"SelectorMsg"},W={name:"PointCloudViewTranslate",icon:s,shortCut:["space",o]},X={name:"AddPoint",icon:R,shortCut:["U"]},Z={name:"DeletePoint",icon:$,shortCut:["I"]},oo=[{name:"GeneralOperation"},n,e,r,a,i,c,m,g,{name:"RectPattern"},E,M,H,L,G,K,N,z,F,U,J,Q,u],to=[{name:"GeneralOperation"},n,e,r,a,i,c,m,g,{name:"PolygonPattern"},b,D,k,A,V,O,w],no=[n,e,i,W,Y,q,X,Z];export{oo as default,to as pointCloudShortCutTable_POLYGON,no as pointCloudShortCutTable_SEGMENT};
1
+ import{backward as n,forward as e,scale as a,fullScreen as u}from"../common/index.js";import s from"../../../../../../assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js";import C from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js";import o from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js";import d from"../../../../../../assets/annotation/pointCloudTool/changePointCloudValid.svg.js";import l from"../../../../../../assets/annotation/pointCloudTool/copy.svg.js";import p from"../../../../../../assets/annotation/pointCloudTool/nextBox.svg.js";import h from"../../../../../../assets/annotation/pointCloudTool/patse.svg.js";import f from"../../../../../../assets/annotation/pointCloudTool/prevBox.svg.js";import S from"../../../../../../assets/annotation/pointCloudTool/rotate180_black.svg.js";import v from"../../../../../../assets/annotation/pointCloudTool/selectAll.svg.js";import P from"../../../../../../assets/annotation/pointCloudTool/selectMultiple.svg.js";import j from"../../../../../../assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js";import T from"../../../../../../assets/annotation/toolHotKeyIcon/icon_del_kj.svg.js";import y from"../../../../../../assets/annotation/pointCloudTool/lassoSelector.svg.js";import x from"../../../../../../assets/annotation/rectTool/icon_rect.svg.js";import R from"../../../../../../assets/annotation/pointCloudTool/circleSelector.svg.js";import $ from"../../../../../../assets/annotation/pointCloudTool/addSvg.svg.js";import I from"../../../../../../assets/annotation/pointCloudTool/clearSvg.svg.js";import t from"react";import{ReloadOutlined as _,RotateLeftOutlined as B,RotateRightOutlined as b}from"@ant-design/icons";import{polygon as D,invalidPolygon as k,selectedPolygon as A,changePolygonAttribute as V,deletePolygon as M,insertPolygonPoint as O,deletePolygonPoint as w}from"../polygon/index.js";const r={name:"PointThickness",icon:t.createElement("span",{style:{display:" inline-block",width:14,height:14,borderRadius:"50%",border:"1px solid"}}),shortCut:["+","-"],linkSymbol:""},i={name:"RotateAroundCenterPoint",icon:t.createElement(_,null),shortCut:[C],noticeInfo:"DragOperation"},c={name:"PointCloudViewTranslate",icon:s,shortCut:[o],noticeInfo:"Drag"},m={name:"TopViewTranslate",icon:s,shortCut:[o]},g={name:"ChangePointCloudValid",icon:d,shortCut:["V"]},E={name:"CopyBox",icon:l,shortCut:["Ctrl","C"]},H={name:"PasteBox",icon:h,shortCut:["Ctrl","V"]},K={name:"RotateLeft",icon:t.createElement(B,null),shortCut:["Q"]},L={name:"RotateRight",icon:t.createElement(b,null),shortCut:["E"]},G={name:"PreviousBox",icon:f,shortCut:["Shift","Tab"]},N={name:"NextBox",icon:p,shortCut:["Tab"]},z={name:"Rotate180",icon:S,shortCut:["G"],noticeInfo:"SelectedStatus"},F={name:"CopyPrevPage",icon:l,shortCut:["Alt","C"]},J={name:"ChangeBoxValid",icon:j,shortCut:["F"],noticeInfo:"SelectedStatus"},Q={name:"MultiSelect",icon:P,shortCut:["Ctrl",o]},U={name:"SelectAllBox",icon:v,shortCut:["Ctrl","A"]},Y={name:"Delete",icon:T,shortCut:["Del"],noticeInfo:"SelectedStatus"},q={name:"LassoSelector",icon:y,shortCut:["H"],noticeInfo:"SelectorMsg"},W={name:"RectSelector",icon:x,shortCut:["J"],noticeInfo:"SelectorMsg"},X={name:"CircleSelector",icon:R,shortCut:["K"],noticeInfo:"SelectorMsg"},Z={name:"PointCloudViewTranslate",icon:s,shortCut:["space",o]},oo={name:"AddPoint",icon:$,shortCut:["U"]},to={name:"DeletePoint",icon:I,shortCut:["I"]},no=[{name:"GeneralOperation"},n,e,r,a,i,c,m,g,{name:"RectPattern"},E,H,K,L,G,N,z,F,J,Y,Q,U,u],eo=[{name:"GeneralOperation"},n,e,r,a,i,c,m,g,{name:"PolygonPattern"},D,k,A,V,M,O,w],so=[n,e,i,Z,q,W,X,oo,to];export{no as default,eo as pointCloudShortCutTable_POLYGON,so as pointCloudShortCutTable_SEGMENT};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.16.1",
3
+ "version": "1.17.0-alpha.10",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",
@@ -43,8 +43,8 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@ant-design/icons": "^4.6.2",
46
- "@labelbee/lb-annotation": "1.19.0",
47
- "@labelbee/lb-utils": "1.12.0",
46
+ "@labelbee/lb-annotation": "1.20.0-alpha.7",
47
+ "@labelbee/lb-utils": "1.13.0-alpha.5",
48
48
  "@labelbee/wavesurfer": "1.0.0",
49
49
  "@types/react-dom": "^18.2.7",
50
50
  "ahooks": "^3.4.0",
@@ -96,6 +96,7 @@
96
96
  "rollup": "^2.43.1",
97
97
  "rollup-plugin-esbuild": "^3.0.2",
98
98
  "rollup-plugin-postcss": "^4.0.2",
99
+ "rollup-plugin-web-worker-loader": "^1.6.1",
99
100
  "sass": "^1.53.0",
100
101
  "typescript": "^4.2.3"
101
102
  },