@labelbee/lb-components 1.7.0-alpha.6 → 1.7.0-alpha.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var index=require("../../../../constant/index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),ctx=require("../../../../store/ctx.js"),antd=require("antd"),React=require("react"),reactI18next=require("react-i18next"),icons=require("@ant-design/icons"),lbUtils=require("@labelbee/lb-utils"),reactRedux=require("react-redux"),useSingleBox=require("../../hooks/useSingleBox.js"),lbAnnotation=require("@labelbee/lb-annotation");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,r,a)=>r in e?__defProp(e,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[r]=a,__spreadValues=(e,r)=>{for(var a in r||(r={}))__hasOwnProp.call(r,a)&&__defNormalProp(e,a,r[a]);if(__getOwnPropSymbols)for(var a of __getOwnPropSymbols(r))__propIsEnum.call(r,a)&&__defNormalProp(e,a,r[a]);return e},__spreadProps=(e,r)=>__defProps(e,__getOwnPropDescs(r));const layout={labelCol:{span:8},wrapperCol:{span:16}},defaultNumberRules=[{required:!0,message:"\u8BF7\u586B\u5199\u4E00\u4E2A\u6570\u5B57"}],defaultSelectedAttribute=[{required:!0,message:"\u8BF7\u9009\u62E9\u4E3B\u5C5E\u6027"}],DECIMAL_PLACES=2,PrefixTag=({text:e})=>React__default.default.createElement("span",{style:{borderRadius:"4px 0px 0px 4px",padding:"0px 12px",background:"#FAFAFA",border:"1px solid rgb(217 217 217)",borderRight:"0",display:"flex",alignItems:"center",height:32}},e),UnifyParamsModal=({id:e,visible:r,onCancel:a,config:s,imgList:g,imgIndex:v})=>{const b=ctx.useDispatch(),{selectedBox:l}=useSingleBox.useSingleBox(),[c,f]=React.useState(),[d]=antd.Form.useForm(),{t:u}=reactI18next.useTranslation();React.useEffect(()=>{r===!1&&(d.resetFields(),f(void 0))},[r]);const F=t=>{var i;if(!e)return;if(!c){antd.message.info("\u8BE5\u8303\u56F4\u4E0D\u5B58\u5728\u66F4\u6539\u6570\u636E, \u8BF7\u66F4\u6539\u7EDF\u4E00\u8303\u56F4");return}b(actionCreators.ToSubmitFileData(index.ESubmitType.SyncImgList));const n={attribute:t.attribute};if(s.secondaryAttributeConfigurable){const o={};(i=s.inputList)==null||i.forEach(m=>{const p=t[m.value];p!==void 0&&Object.assign(o,{[m.value]:p})}),Object.keys(o).length>0&&Object.assign(n,{subAttribute:o})}c&&Object.assign(n,c),b(actionCreators.BatchUpdateResultByTrackID(e,n,[t.prevPage-1,t.nextPage-1])),a()},y=React.useCallback(()=>{var t;const{prevPage:i,nextPage:n}=d.getFieldsValue(["prevPage","nextPage"]),o=g.filter((p,P)=>lbAnnotation.MathUtils.isInRange(P,[i-1,n-1]));if(!((o==null?void 0:o.length)>0)||!(l==null?void 0:l.info)||((t=l==null?void 0:l.info)==null?void 0:t.trackID)===void 0){f(void 0);return}const m=lbUtils.PointCloudUtils.getMaxSizeFromBox({trackID:l.info.trackID,imgList:o});f(m)},[g,l,v]),h=()=>d.submit(),S=()=>{if(!c||!(l==null?void 0:l.info))return;const t={marginRight:16},{length:i,width:n,height:o}=lbUtils.PointCloudUtils.transferBox2Kitti(__spreadValues(__spreadValues({},l==null?void 0:l.info),c));return React__default.default.createElement("div",null,React__default.default.createElement("span",{style:t},u("Length"),": ",i.toFixed(DECIMAL_PLACES)),React__default.default.createElement("span",{style:t},u("Width"),": ",n.toFixed(DECIMAL_PLACES)),React__default.default.createElement("span",{style:t},u("Height"),": ",o.toFixed(DECIMAL_PLACES)),React__default.default.createElement(antd.Popover,{placement:"rightBottom",content:"\u7EDF\u4E00\u5C3A\u5BF8\u4E3A\u8BE5ID\u7684\u6240\u6709\u6807\u6CE8\u6846\u4E2D\u6700\u5927\u7684\u5C3A\u5BF8"},React__default.default.createElement(icons.QuestionCircleOutlined,null)))},E={width:"200px"},x={marginBottom:"24px",display:"flex",alignItems:"center"};return React__default.default.createElement(antd.Modal,{title:u("UnifyParams"),visible:r,onCancel:a,onOk:h,wrapClassName:"labelbee-custom-modal"},React__default.default.createElement(antd.Form,__spreadProps(__spreadValues({},layout),{form:d,onFinish:F}),React__default.default.createElement(antd.Form.Item,{name:"id",label:u("UnifyTrackID")},e),React__default.default.createElement(antd.Form.Item,{label:u("UnifyAttributeRange"),required:!0},React__default.default.createElement(antd.Form.Item,{style:{display:"inline-block"},rules:defaultNumberRules,name:"prevPage",noStyle:!0},React__default.default.createElement(antd.InputNumber,{precision:0,min:1,style:{width:"80px"},onChange:()=>y()})),React__default.default.createElement("span",{style:{display:"inline-block",width:"24px",textAlign:"center"}},"-"),React__default.default.createElement(antd.Form.Item,{style:{display:"inline-block"},rules:defaultNumberRules,name:"nextPage",noStyle:!0},React__default.default.createElement(antd.InputNumber,{precision:0,min:1,style:{width:"80px"},onChange:()=>y()})),React__default.default.createElement("span",{style:{display:"inline-block",width:"40x",marginLeft:"10px",textAlign:"center"}},u("Page"))),React__default.default.createElement(antd.Form.Item,{name:"UnifySize",label:u("UnifySize")},S()),React__default.default.createElement(antd.Form.Item,{label:u("UnifyTag"),required:!0},React__default.default.createElement("div",{style:x},React__default.default.createElement(PrefixTag,{text:u("Attribute")}),React__default.default.createElement(antd.Form.Item,{name:"attribute",noStyle:!0,rules:defaultSelectedAttribute},React__default.default.createElement(antd.Select,{style:E},s.attributeList.map(t=>React__default.default.createElement(antd.Select.Option,{key:t.value,value:t.value},t.key))))),s.secondaryAttributeConfigurable&&s.inputList.map(t=>{var i;return React__default.default.createElement("div",{key:t.value,style:x},React__default.default.createElement(PrefixTag,{text:t.key}),React__default.default.createElement(antd.Form.Item,{name:t.value,noStyle:!0,required:!1},React__default.default.createElement(antd.Select,{style:E},(i=t.subSelected)==null?void 0:i.map(n=>React__default.default.createElement(antd.Select.Option,{key:n.value,value:n.value},n.key)))))}))))},mapStateToProps=e=>({imgList:e.annotation.imgList,imgIndex:e.annotation.imgIndex});var UnifyParamsModal$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(UnifyParamsModal);module.exports=UnifyParamsModal$1;
1
+ "use strict";var index=require("../../../../constant/index.js"),actionCreators=require("../../../../store/annotation/actionCreators.js"),ctx=require("../../../../store/ctx.js"),antd=require("antd"),React=require("react"),reactI18next=require("react-i18next"),icons=require("@ant-design/icons"),lbUtils=require("@labelbee/lb-utils"),reactRedux=require("react-redux"),useSingleBox=require("../../hooks/useSingleBox.js"),lbAnnotation=require("@labelbee/lb-annotation");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,a,r)=>a in e?__defProp(e,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[a]=r,__spreadValues=(e,a)=>{for(var r in a||(a={}))__hasOwnProp.call(a,r)&&__defNormalProp(e,r,a[r]);if(__getOwnPropSymbols)for(var r of __getOwnPropSymbols(a))__propIsEnum.call(a,r)&&__defNormalProp(e,r,a[r]);return e},__spreadProps=(e,a)=>__defProps(e,__getOwnPropDescs(a));const layout={labelCol:{span:8},wrapperCol:{span:16}},defaultNumberRules=[{required:!0,message:"\u8BF7\u586B\u5199\u4E00\u4E2A\u6570\u5B57"}],defaultSelectedAttribute=[{required:!0,message:"\u8BF7\u9009\u62E9\u4E3B\u5C5E\u6027"}],DECIMAL_PLACES=2,PrefixTag=({text:e})=>React__default.default.createElement("span",{style:{borderRadius:"4px 0px 0px 4px",padding:"0px 12px",background:"#FAFAFA",border:"1px solid rgb(217 217 217)",borderRight:"0",display:"flex",alignItems:"center",height:32}},e),UnifyParamsModal=({id:e,visible:a,onCancel:r,config:s,imgList:f,imgIndex:v})=>{const y=ctx.useDispatch(),{selectedBox:l}=useSingleBox.useSingleBox(),[c,p]=React.useState(),[d]=antd.Form.useForm(),{t:u}=reactI18next.useTranslation();React.useEffect(()=>{a===!1?(d.resetFields(),p(void 0)):g()},[a]);const F=t=>{var i;if(!e)return;if(!c){antd.message.info("\u8BE5\u8303\u56F4\u4E0D\u5B58\u5728\u66F4\u6539\u6570\u636E, \u8BF7\u66F4\u6539\u7EDF\u4E00\u8303\u56F4");return}y(actionCreators.ToSubmitFileData(index.ESubmitType.SyncImgList));const n={attribute:t.attribute};if(s.secondaryAttributeConfigurable){const o={};(i=s.inputList)==null||i.forEach(m=>{const b=t[m.value];b!==void 0&&Object.assign(o,{[m.value]:b})}),Object.keys(o).length>0&&Object.assign(n,{subAttribute:o})}c&&Object.assign(n,c),y(actionCreators.BatchUpdateResultByTrackID(e,n,[t.prevPage-1,t.nextPage-1])),r()},g=React.useCallback(()=>{var t;const{prevPage:i,nextPage:n}=d.getFieldsValue(["prevPage","nextPage"]),o=f.filter((b,P)=>lbAnnotation.MathUtils.isInRange(P,[i-1,n-1]));if(!((o==null?void 0:o.length)>0)||!(l==null?void 0:l.info)||((t=l==null?void 0:l.info)==null?void 0:t.trackID)===void 0){p(void 0);return}const m=lbUtils.PointCloudUtils.getMaxSizeFromBox({trackID:l.info.trackID,imgList:o});p(m)},[f,l,v]),h=()=>d.submit(),S=()=>{if(!c||!(l==null?void 0:l.info))return;const t={marginRight:16},{length:i,width:n,height:o}=lbUtils.PointCloudUtils.transferBox2Kitti(__spreadValues(__spreadValues({},l==null?void 0:l.info),c));return React__default.default.createElement("div",null,React__default.default.createElement("span",{style:t},u("Length"),": ",i.toFixed(DECIMAL_PLACES)),React__default.default.createElement("span",{style:t},u("Width"),": ",n.toFixed(DECIMAL_PLACES)),React__default.default.createElement("span",{style:t},u("Height"),": ",o.toFixed(DECIMAL_PLACES)),React__default.default.createElement(antd.Popover,{placement:"rightBottom",content:"\u7EDF\u4E00\u5C3A\u5BF8\u4E3A\u8BE5ID\u7684\u6240\u6709\u6807\u6CE8\u6846\u4E2D\u6700\u5927\u7684\u5C3A\u5BF8"},React__default.default.createElement(icons.QuestionCircleOutlined,null)))},E={width:"200px"},x={marginBottom:"24px",display:"flex",alignItems:"center"};return React__default.default.createElement(antd.Modal,{title:u("UnifyParams"),visible:a,onCancel:r,onOk:h,wrapClassName:"labelbee-custom-modal"},React__default.default.createElement(antd.Form,__spreadProps(__spreadValues({},layout),{form:d,onFinish:F}),React__default.default.createElement(antd.Form.Item,{name:"id",label:u("UnifyTrackID")},e),React__default.default.createElement(antd.Form.Item,{label:u("UnifyAttributeRange"),required:!0},React__default.default.createElement(antd.Form.Item,{style:{display:"inline-block"},rules:defaultNumberRules,name:"prevPage",noStyle:!0,initialValue:1},React__default.default.createElement(antd.InputNumber,{precision:0,min:1,style:{width:"80px"},onChange:()=>g()})),React__default.default.createElement("span",{style:{display:"inline-block",width:"24px",textAlign:"center"}},"-"),React__default.default.createElement(antd.Form.Item,{style:{display:"inline-block"},rules:defaultNumberRules,name:"nextPage",noStyle:!0,initialValue:f.length},React__default.default.createElement(antd.InputNumber,{precision:0,min:1,style:{width:"80px"},onChange:()=>g()})),React__default.default.createElement("span",{style:{display:"inline-block",width:"40x",marginLeft:"10px",textAlign:"center"}},u("Page"))),React__default.default.createElement(antd.Form.Item,{name:"UnifySize",label:u("UnifySize")},S()),React__default.default.createElement(antd.Form.Item,{label:u("UnifyTag"),required:!0},React__default.default.createElement("div",{style:x},React__default.default.createElement(PrefixTag,{text:u("Attribute")}),React__default.default.createElement(antd.Form.Item,{name:"attribute",noStyle:!0,rules:defaultSelectedAttribute},React__default.default.createElement(antd.Select,{style:E},s.attributeList.map(t=>React__default.default.createElement(antd.Select.Option,{key:t.value,value:t.value},t.key))))),s.secondaryAttributeConfigurable&&s.inputList.map(t=>{var i;return React__default.default.createElement("div",{key:t.value,style:x},React__default.default.createElement(PrefixTag,{text:t.key}),React__default.default.createElement(antd.Form.Item,{name:t.value,noStyle:!0,required:!1},React__default.default.createElement(antd.Select,{style:E},(i=t.subSelected)==null?void 0:i.map(n=>React__default.default.createElement(antd.Select.Option,{key:n.value,value:n.value},n.key)))))}))))},mapStateToProps=e=>({imgList:e.annotation.imgList,imgIndex:e.annotation.imgIndex});var UnifyParamsModal$1=reactRedux.connect(mapStateToProps,null,null,{context:ctx.LabelBeeContext})(UnifyParamsModal);module.exports=UnifyParamsModal$1;
@@ -3,7 +3,7 @@
3
3
  * @author laoluo
4
4
  */
5
5
  import React from 'react';
6
- declare type TAfterImgOnLoad = (img: HTMLImageElement) => void;
6
+ type TAfterImgOnLoad = (img: HTMLImageElement) => void;
7
7
  interface IProps {
8
8
  src: string;
9
9
  size?: {
@@ -1,7 +1,7 @@
1
1
  import { IPointCloudBox } from '@labelbee/lb-utils';
2
2
  export declare const useAttribute: () => {
3
- syncThreeViewsAttribute: (attribute?: string | undefined) => void;
4
- updateDefaultAttribute: (attribute?: string | undefined) => void;
3
+ syncThreeViewsAttribute: (attribute?: string) => void;
4
+ updateDefaultAttribute: (attribute?: string) => void;
5
5
  reRenderPointCloud3DBox: (newBox: IPointCloudBox) => void;
6
6
  defaultAttribute: string;
7
7
  };
@@ -20,7 +20,7 @@ export declare const transferCanvas2World: (currentPos: {
20
20
  x: number;
21
21
  y: number;
22
22
  };
23
- export declare const topViewPolygon2PointCloud: (newPolygon: any, size: ISize, pointCloud?: PointCloud | undefined, selectedPointCloudBox?: IPointCloudBox | undefined, defaultValue?: {
23
+ export declare const topViewPolygon2PointCloud: (newPolygon: any, size: ISize, pointCloud?: PointCloud, selectedPointCloudBox?: IPointCloudBox, defaultValue?: {
24
24
  [v: string]: any;
25
25
  } | undefined) => Omit<IPointCloudBox, "trackID">;
26
26
  /**
@@ -40,7 +40,7 @@ export declare const synchronizeBackView: (boxParams: IPointCloudBox, newPolygon
40
40
  * @param boxParams
41
41
  * @param newPolygon TODO! Need to add type
42
42
  */
43
- export declare const synchronizeTopView: (newBoxParams: IPointCloudBox, newPolygon: any, topViewInstance?: PointCloudAnnotation | undefined, mainViewInstance?: PointCloud | undefined) => void;
43
+ export declare const synchronizeTopView: (newBoxParams: IPointCloudBox, newPolygon: any, topViewInstance?: PointCloudAnnotation, mainViewInstance?: PointCloud) => void;
44
44
  export declare const usePointCloudViews: () => {
45
45
  topViewAddBox: () => void;
46
46
  topViewSelectedChanged: () => void;
@@ -40,7 +40,7 @@ export declare class TagToolInstanceAdaptor extends React.Component<IVideoTagIns
40
40
  };
41
41
  get currentTagResult(): any;
42
42
  get valid(): boolean;
43
- clearResult: (sendMsg?: boolean, value?: string | undefined) => void;
43
+ clearResult: (sendMsg?: boolean, value?: string) => void;
44
44
  exportData: () => (any[] | {
45
45
  valid: boolean;
46
46
  duration: number;
@@ -9,7 +9,7 @@ export declare const VideoPlayerCtx: React.Context<{
9
9
  videoRef?: React.RefObject<HTMLVideoElement> | null | undefined;
10
10
  isPlay: boolean;
11
11
  playPause: () => void;
12
- updateNextPlaybackRate: (isForward?: boolean | undefined) => void;
12
+ updateNextPlaybackRate: (isForward?: boolean) => void;
13
13
  setCurrentTime: (time: number) => void;
14
14
  playbackRate: number;
15
15
  currentTime: number;
@@ -2,7 +2,7 @@ export interface ITagLabelItem {
2
2
  keyLabel: string;
3
3
  valuesLabelArray: string[];
4
4
  }
5
- export declare type ITagLabelsArray = ITagLabelItem[];
5
+ export type ITagLabelsArray = ITagLabelItem[];
6
6
  export interface ObjectString {
7
7
  [key: string]: string | undefined;
8
8
  }
@@ -40,12 +40,12 @@ export declare function InitTaskData({ onSubmit, onSave, onPageChange, onStepCha
40
40
  */
41
41
  export declare function UpdateInjectFunc({ onSubmit, onSave, onPageChange, onStepChange, getFileData, pageSize, loadFileList, stepList, beforeRotate, }: any): any;
42
42
  /** 切换到下一步 */
43
- export declare const ToNextStep: (pageNumber?: number | undefined) => (dispatch: any, getState: any) => any[];
43
+ export declare const ToNextStep: (pageNumber?: number) => (dispatch: any, getState: any) => any[];
44
44
  /**
45
45
  * 更新当前操作的步骤
46
46
  * @param {number} toStep
47
47
  */
48
- export declare const UpdateProcessingStep: (toStep: number, index?: number | undefined) => (dispatch: any, getState: any) => any[];
48
+ export declare const UpdateProcessingStep: (toStep: number, index?: number) => (dispatch: any, getState: any) => any[];
49
49
  /**
50
50
  * 提交当前的文件数据
51
51
  * @param submitType
@@ -67,7 +67,7 @@ export declare const PageJump: (toIndex: number, triggerEventAfterIndexChanged?:
67
67
  * @param nextIndex 需要加载的图片index
68
68
  * @param isInitial // 是否为初始化加载
69
69
  */
70
- export declare const loadImgList: (dispatch: any, getState: any, nextIndex: number, isInitial?: boolean | undefined) => Promise<true | undefined>;
70
+ export declare const loadImgList: (dispatch: any, getState: any, nextIndex: number, isInitial?: boolean) => Promise<true | undefined>;
71
71
  /**
72
72
  * 判断翻页还是切换依赖数据
73
73
  * @param dispatch
@@ -75,7 +75,7 @@ export declare const loadImgList: (dispatch: any, getState: any, nextIndex: numb
75
75
  * @param pageTurningOperation
76
76
  * @param toIndex
77
77
  */
78
- export declare const DispatcherTurning: (dispatch: any, getState: any, pageTurningOperation: EPageTurningOperation, triggerEventAfterIndexChanged?: boolean, toIndex?: number | undefined) => Promise<any>;
78
+ export declare const DispatcherTurning: (dispatch: any, getState: any, pageTurningOperation: EPageTurningOperation, triggerEventAfterIndexChanged?: boolean, toIndex?: number) => Promise<any>;
79
79
  /**
80
80
  * 保存当前页数据
81
81
  * */
@@ -10,5 +10,5 @@ export declare const getTotalPage: (state: AnnotationState) => number;
10
10
  * @param nextIndex
11
11
  * @param nextBasicIndex
12
12
  */
13
- export declare const LoadFileAndFileData: (nextIndex: number, nextBasicIndex?: number | undefined) => any;
13
+ export declare const LoadFileAndFileData: (nextIndex: number, nextBasicIndex?: number) => any;
14
14
  export declare const annotationReducer: (state: AnnotationState | undefined, action: AnnotationActionTypes) => AnnotationState;
@@ -4,8 +4,8 @@ import { IStepInfo } from '@/types/step';
4
4
  import { OnSubmit, IFileItem, GetFileData, OnSave, OnPageChange, OnStepChange, LoadFileList } from '@/types/data';
5
5
  import { ESubmitType } from '@/constant';
6
6
  import { IPointCloudBox } from '@labelbee/lb-utils';
7
- export declare type GraphToolInstance = RectOperation | PointOperation | PolygonOperation | LineToolOperation;
8
- export declare type ToolInstance = GraphToolInstance | TagOperation | TextToolOperation;
7
+ export type GraphToolInstance = RectOperation | PointOperation | PolygonOperation | LineToolOperation;
8
+ export type ToolInstance = GraphToolInstance | TagOperation | TextToolOperation;
9
9
  interface CommonActions {
10
10
  type: string;
11
11
  payload?: any;
@@ -144,5 +144,5 @@ interface BatchUpdateResultByTrackID {
144
144
  range: [number, number];
145
145
  };
146
146
  }
147
- export declare type AnnotationActionTypes = UpdateToolInstance | UpdateImgList | UpdateAnnotationConfig | SubmitFileData | LoadFileData | SetTaskConfig | InitTool | UpdateOnSubmit | UpdateOnPageChange | UpdateOnStepChange | UpdateGetFileData | UpdatePageSize | UpdateGetFileList | CopyBackWordResult | UpdateOnSave | BatchUpdateTrackID | BatchUpdateResultByTrackID;
147
+ export type AnnotationActionTypes = UpdateToolInstance | UpdateImgList | UpdateAnnotationConfig | SubmitFileData | LoadFileData | SetTaskConfig | InitTool | UpdateOnSubmit | UpdateOnPageChange | UpdateOnStepChange | UpdateGetFileData | UpdatePageSize | UpdateGetFileList | CopyBackWordResult | UpdateOnSave | BatchUpdateTrackID | BatchUpdateResultByTrackID;
148
148
  export {};
@@ -19,5 +19,5 @@ interface InitImgAttribute {
19
19
  type: typeof IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE;
20
20
  payload: {};
21
21
  }
22
- export declare type ImgAttributeActionTypes = UpdateImgAttribute | InitImgAttribute;
22
+ export type ImgAttributeActionTypes = UpdateImgAttribute | InitImgAttribute;
23
23
  export {};
@@ -1,3 +1,3 @@
1
1
  import { CombinedState } from 'redux';
2
2
  export declare const rootReducer: CombinedState<any>;
3
- export declare type AppState = ReturnType<typeof rootReducer>;
3
+ export type AppState = ReturnType<typeof rootReducer>;
@@ -19,5 +19,5 @@ interface InitToolStyleConfig {
19
19
  type: typeof TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG;
20
20
  payload: undefined;
21
21
  }
22
- export declare type ToolStyleActionTypes = InitToolStyleConfig | UpdateToolStyleConfig;
22
+ export type ToolStyleActionTypes = InitToolStyleConfig | UpdateToolStyleConfig;
23
23
  export {};
@@ -43,6 +43,6 @@ declare class PageOperator {
43
43
  * @param pageTurningOperation
44
44
  * @param fileIndex
45
45
  */
46
- static getNextFileIndex: (pageTurningOperation: EPageTurningOperation, pageInfo: IPageInfo, fileIndex?: number | undefined) => number;
46
+ static getNextFileIndex: (pageTurningOperation: EPageTurningOperation, pageInfo: IPageInfo, fileIndex?: number) => number;
47
47
  }
48
48
  export default PageOperator;
@@ -1,11 +1,11 @@
1
1
  import { MutableRefObject } from 'react';
2
- export declare type BasicTarget<T = HTMLElement> = (() => T | null) | T | null | MutableRefObject<T | null | undefined>;
3
- declare type TargetElement = HTMLElement | Element | Document | Window;
2
+ export type BasicTarget<T = HTMLElement> = (() => T | null) | T | null | MutableRefObject<T | null | undefined>;
3
+ type TargetElement = HTMLElement | Element | Document | Window;
4
4
  export declare function getTargetElement(target?: BasicTarget<TargetElement>, defaultElement?: TargetElement): TargetElement | undefined | null;
5
5
  /**
6
6
  * Get class like BEM
7
7
  * @param elm
8
8
  * @param modify
9
9
  */
10
- export declare const getClassName: (block: string, elm?: string | undefined, modify?: string | undefined) => string;
10
+ export declare const getClassName: (block: string, elm?: string, modify?: string) => string;
11
11
  export {};
@@ -3,5 +3,5 @@ interface IProps {
3
3
  toolStyle: ToolStyleState;
4
4
  config: string;
5
5
  }
6
- declare const _default: import("react-redux").ConnectedComponent<(props: IProps) => JSX.Element, import("react-redux").Omit<IProps, "toolStyle" | "config">>;
6
+ declare const _default: import("react-redux").ConnectedComponent<(props: IProps) => JSX.Element, import("react-redux").Omit<IProps, "config" | "toolStyle">>;
7
7
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import { RenderFooter } from '@/types/main';
2
2
  import { IStepInfo } from '@/types/step';
3
3
  import React from 'react';
4
- export declare type FooterTheme = 'light' | 'dark';
4
+ export type FooterTheme = 'light' | 'dark';
5
5
  interface IProps {
6
6
  totalPage: number;
7
7
  imgIndex: number;
@@ -11,5 +11,5 @@ interface IProps {
11
11
  }
12
12
  declare const _default: import("react-redux").ConnectedComponent<React.FC<IProps>, import("react-redux").Omit<IProps & {
13
13
  children?: React.ReactNode;
14
- }, "imgList" | "onSubmit" | "toolInstance" | "dispatch">>;
14
+ }, "imgList" | "toolInstance" | "onSubmit" | "dispatch">>;
15
15
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index=require("../../../constant/index.js"),ToolType=require("../../../data/enums/ToolType.js"),StepUtils=require("../../../utils/StepUtils.js"),es=require("antd/es"),React=require("react"),reactI18next=require("react-i18next"),index$9=require("./AnnotationText/index.js"),index$2=require("./ClearIcon/index.js"),index$6=require("./GeneralOperation/index.js"),index$3=require("./ImgAttributeInfo/index.js"),index$8=require("./SwitchAttributeList/index.js"),index$1=require("./TagSidebar/index.js"),index$4=require("./TextToolSidebar/index.js"),index$5=require("./PointCloudToolSidebar/index.js"),index$7=require("./ToolStyle/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),index$a=require("./ScribbleSidebar/index.js"),ToolIcons=require("./ToolIcons.js"),ctx=require("../../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{EVideoToolName,EPointCloudName}=lbAnnotation.cTool,{Panel}=es.Collapse,sidebarCls=`${index.prefix}-sidebar`,Sidebar=({sider:e})=>{const o=ctx.useSelector(a=>StepUtils.getCurrentStepInfo(a.annotation.step,a.annotation.stepList)),t=o==null?void 0:o.tool,{t:i}=reactI18next.useTranslation();if(!t)return null;const E=a=>{const m=React__default.default.createElement(index$7,null);return React__default.default.createElement(Panel,{header:i("Style"),className:"panel",key:a},m)},u=React__default.default.createElement(ToolIcons.ToolIcons,{toolName:t,onChange:()=>{}}),n=React__default.default.createElement(index$8,null),d=React__default.default.createElement(index$9,null),c=React__default.default.createElement(es.Collapse,{defaultActiveKey:["1","imgAttribute"],bordered:!1,expandIconPosition:"right",className:`${sidebarCls}__content`,expandIcon:index$1.expandIconFuc},E("1")),s=React__default.default.createElement(es.Collapse,{defaultActiveKey:["1","imgAttribute"],bordered:!1,expandIconPosition:"right",className:`${sidebarCls}__content`,expandIcon:index$1.expandIconFuc},React__default.default.createElement(Panel,{header:React__default.default.createElement("div",null,i("Adjust"),React__default.default.createElement(index$2,null)),className:"panel",key:"imgAttribute"},React__default.default.createElement(index$3,null))),l=React__default.default.createElement(index$6.default,null),x=React__default.default.createElement(index$1.default,null),v=React__default.default.createElement(index$4.default,null),f=React__default.default.createElement(index$a,{onChange:(a,m)=>{}}),r=React__default.default.createElement("div",{className:`${sidebarCls}__horizontal`}),p=React__default.default.createElement(index$5,null),T=React__default.default.createElement(index$6.PointCloudOperation,null);return e?typeof e=="function"?React__default.default.createElement("div",{className:`${sidebarCls}`},e({toolIcon:u,attributeList:n,annotationText:d,toolStyle:c,imageAttributeInfo:s,operation:l,tagToolSideBar:x,textToolSideBar:v,horizontal:r,pointCloudToolSidebar:p,pointCloudOperation:T,scribbleSidebar:f})):e:[ToolType.EToolName.Rect,ToolType.EToolName.Point,ToolType.EToolName.Line,ToolType.EToolName.Rect,ToolType.EToolName.Polygon].includes(t)?React__default.default.createElement("div",{className:`${sidebarCls}`},u,r,n,d,r,React__default.default.createElement("div",{className:`${sidebarCls}__content`},c,s),l):t===ToolType.EToolName.Tag?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement(index$1.default,null)):t===EVideoToolName.VideoTagTool?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`},React__default.default.createElement(index$1.default,null)),l):t===ToolType.EToolName.Text?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement(index$4.default,null)):t===EPointCloudName.PointCloud?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`},React__default.default.createElement(index$5,null)),React__default.default.createElement(index$6.PointCloudOperation,null)):t===ToolType.EToolName.ScribbleTool?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`},f,n),l):null};exports.default=Sidebar,exports.sidebarCls=sidebarCls;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var index=require("../../../constant/index.js"),ToolType=require("../../../data/enums/ToolType.js"),StepUtils=require("../../../utils/StepUtils.js"),es=require("antd/es"),React=require("react"),reactI18next=require("react-i18next"),index$8=require("./AnnotationText/index.js"),index$2=require("./ClearIcon/index.js"),index$6=require("./GeneralOperation/index.js"),index$3=require("./ImgAttributeInfo/index.js"),index$7=require("./SwitchAttributeList/index.js"),index$1=require("./TagSidebar/index.js"),index$4=require("./TextToolSidebar/index.js"),index$5=require("./PointCloudToolSidebar/index.js"),index$a=require("./ToolStyle/index.js"),lbAnnotation=require("@labelbee/lb-annotation"),index$9=require("./ScribbleSidebar/index.js"),ToolIcons=require("./ToolIcons.js"),ctx=require("../../../store/ctx.js");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const{EVideoToolName,EPointCloudName}=lbAnnotation.cTool,{Panel}=es.Collapse,sidebarCls=`${index.prefix}-sidebar`,Sidebar=({sider:e})=>{const o=ctx.useSelector(a=>StepUtils.getCurrentStepInfo(a.annotation.step,a.annotation.stepList)),t=o==null?void 0:o.tool,{t:i}=reactI18next.useTranslation();if(!t)return null;const E=a=>{const m=React__default.default.createElement(index$a,null);return React__default.default.createElement(Panel,{header:i("Style"),className:"panel",key:a},m)},u=React__default.default.createElement(ToolIcons.ToolIcons,{toolName:t,onChange:()=>{}}),n=React__default.default.createElement(index$7,null),d=React__default.default.createElement(index$8,null),c=React__default.default.createElement(es.Collapse,{defaultActiveKey:["1","imgAttribute"],bordered:!1,expandIconPosition:"right",className:`${sidebarCls}__content`,expandIcon:index$1.expandIconFuc},E("1")),s=React__default.default.createElement(es.Collapse,{defaultActiveKey:["1","imgAttribute"],bordered:!1,expandIconPosition:"right",className:`${sidebarCls}__content`,expandIcon:index$1.expandIconFuc},React__default.default.createElement(Panel,{header:React__default.default.createElement("div",null,i("Adjust"),React__default.default.createElement(index$2,null)),className:"panel",key:"imgAttribute"},React__default.default.createElement(index$3,null))),l=React__default.default.createElement(index$6.default,null),x=React__default.default.createElement(index$1.default,null),v=React__default.default.createElement(index$4.default,null),f=React__default.default.createElement(index$9,{onChange:(a,m)=>{}}),r=React__default.default.createElement("div",{className:`${sidebarCls}__horizontal`}),p=React__default.default.createElement(index$5,null),T=React__default.default.createElement(index$6.PointCloudOperation,null);return e?typeof e=="function"?React__default.default.createElement("div",{className:`${sidebarCls}`},e({toolIcon:u,attributeList:n,annotationText:d,toolStyle:c,imageAttributeInfo:s,operation:l,tagToolSideBar:x,textToolSideBar:v,horizontal:r,pointCloudToolSidebar:p,pointCloudOperation:T,scribbleSidebar:f})):e:[ToolType.EToolName.Rect,ToolType.EToolName.Point,ToolType.EToolName.Line,ToolType.EToolName.Rect,ToolType.EToolName.Polygon].includes(t)?React__default.default.createElement("div",{className:`${sidebarCls}`},u,r,n,d,r,React__default.default.createElement("div",{className:`${sidebarCls}__content`},c,s),l):t===ToolType.EToolName.Tag?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement(index$1.default,null)):t===EVideoToolName.VideoTagTool?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`},React__default.default.createElement(index$1.default,null)),l):t===ToolType.EToolName.Text?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement(index$4.default,null)):t===EPointCloudName.PointCloud?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`},React__default.default.createElement(index$5,null)),React__default.default.createElement(index$6.PointCloudOperation,null)):t===ToolType.EToolName.ScribbleTool?React__default.default.createElement("div",{className:`${sidebarCls}`},React__default.default.createElement("div",{className:`${sidebarCls}__content`},f,n),l):null};exports.default=Sidebar,exports.sidebarCls=sidebarCls;
@@ -1 +1 @@
1
- import{ESubmitType as U}from"../../../../constant/index.js";import{ToSubmitFileData as z,BatchUpdateResultByTrackID as R}from"../../../../store/annotation/actionCreators.js";import{LabelBeeContext as T,useDispatch as M}from"../../../../store/ctx.js";import{Form as u,Modal as q,InputNumber as F,Select as g,Popover as N,message as V}from"antd";import e,{useState as H,useEffect as K,useCallback as Q}from"react";import{useTranslation as W}from"react-i18next";import{QuestionCircleOutlined as $}from"@ant-design/icons";import{PointCloudUtils as _}from"@labelbee/lb-utils";import{connect as G}from"react-redux";import{useSingleBox as J}from"../../hooks/useSingleBox.js";import{MathUtils as X}from"@labelbee/lb-annotation";var Y=Object.defineProperty,Z=Object.defineProperties,ee=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,w=(r,n,a)=>n in r?Y(r,n,{enumerable:!0,configurable:!0,writable:!0,value:a}):r[n]=a,b=(r,n)=>{for(var a in n||(n={}))te.call(n,a)&&w(r,a,n[a]);if(B)for(var a of B(n))re.call(n,a)&&w(r,a,n[a]);return r},ne=(r,n)=>Z(r,ee(n));const ae={labelCol:{span:8},wrapperCol:{span:16}},O=[{required:!0,message:"\u8BF7\u586B\u5199\u4E00\u4E2A\u6570\u5B57"}],ie=[{required:!0,message:"\u8BF7\u9009\u62E9\u4E3B\u5C5E\u6027"}],x=2,k=({text:r})=>e.createElement("span",{style:{borderRadius:"4px 0px 0px 4px",padding:"0px 12px",background:"#FAFAFA",border:"1px solid rgb(217 217 217)",borderRight:"0",display:"flex",alignItems:"center",height:32}},r),le=({id:r,visible:n,onCancel:a,config:m,imgList:v,imgIndex:A})=>{const h=M(),{selectedBox:l}=J(),[p,y]=H(),[d]=u.useForm(),{t:o}=W();K(()=>{n===!1&&(d.resetFields(),y(void 0))},[n]);const C=t=>{var s;if(!r)return;if(!p){V.info("\u8BE5\u8303\u56F4\u4E0D\u5B58\u5728\u66F4\u6539\u6570\u636E, \u8BF7\u66F4\u6539\u7EDF\u4E00\u8303\u56F4");return}h(z(U.SyncImgList));const i={attribute:t.attribute};if(m.secondaryAttributeConfigurable){const c={};(s=m.inputList)==null||s.forEach(f=>{const E=t[f.value];E!==void 0&&Object.assign(c,{[f.value]:E})}),Object.keys(c).length>0&&Object.assign(i,{subAttribute:c})}p&&Object.assign(i,p),h(R(r,i,[t.prevPage-1,t.nextPage-1])),a()},P=Q(()=>{var t;const{prevPage:s,nextPage:i}=d.getFieldsValue(["prevPage","nextPage"]),c=v.filter((E,L)=>X.isInRange(L,[s-1,i-1]));if(!((c==null?void 0:c.length)>0)||!(l==null?void 0:l.info)||((t=l==null?void 0:l.info)==null?void 0:t.trackID)===void 0){y(void 0);return}const f=_.getMaxSizeFromBox({trackID:l.info.trackID,imgList:c});y(f)},[v,l,A]),D=()=>d.submit(),j=()=>{if(!p||!(l==null?void 0:l.info))return;const t={marginRight:16},{length:s,width:i,height:c}=_.transferBox2Kitti(b(b({},l==null?void 0:l.info),p));return e.createElement("div",null,e.createElement("span",{style:t},o("Length"),": ",s.toFixed(x)),e.createElement("span",{style:t},o("Width"),": ",i.toFixed(x)),e.createElement("span",{style:t},o("Height"),": ",c.toFixed(x)),e.createElement(N,{placement:"rightBottom",content:"\u7EDF\u4E00\u5C3A\u5BF8\u4E3A\u8BE5ID\u7684\u6240\u6709\u6807\u6CE8\u6846\u4E2D\u6700\u5927\u7684\u5C3A\u5BF8"},e.createElement($,null)))},S={width:"200px"},I={marginBottom:"24px",display:"flex",alignItems:"center"};return e.createElement(q,{title:o("UnifyParams"),visible:n,onCancel:a,onOk:D,wrapClassName:"labelbee-custom-modal"},e.createElement(u,ne(b({},ae),{form:d,onFinish:C}),e.createElement(u.Item,{name:"id",label:o("UnifyTrackID")},r),e.createElement(u.Item,{label:o("UnifyAttributeRange"),required:!0},e.createElement(u.Item,{style:{display:"inline-block"},rules:O,name:"prevPage",noStyle:!0},e.createElement(F,{precision:0,min:1,style:{width:"80px"},onChange:()=>P()})),e.createElement("span",{style:{display:"inline-block",width:"24px",textAlign:"center"}},"-"),e.createElement(u.Item,{style:{display:"inline-block"},rules:O,name:"nextPage",noStyle:!0},e.createElement(F,{precision:0,min:1,style:{width:"80px"},onChange:()=>P()})),e.createElement("span",{style:{display:"inline-block",width:"40x",marginLeft:"10px",textAlign:"center"}},o("Page"))),e.createElement(u.Item,{name:"UnifySize",label:o("UnifySize")},j()),e.createElement(u.Item,{label:o("UnifyTag"),required:!0},e.createElement("div",{style:I},e.createElement(k,{text:o("Attribute")}),e.createElement(u.Item,{name:"attribute",noStyle:!0,rules:ie},e.createElement(g,{style:S},m.attributeList.map(t=>e.createElement(g.Option,{key:t.value,value:t.value},t.key))))),m.secondaryAttributeConfigurable&&m.inputList.map(t=>{var s;return e.createElement("div",{key:t.value,style:I},e.createElement(k,{text:t.key}),e.createElement(u.Item,{name:t.value,noStyle:!0,required:!1},e.createElement(g,{style:S},(s=t.subSelected)==null?void 0:s.map(i=>e.createElement(g.Option,{key:i.value,value:i.value},i.key)))))}))))},oe=r=>({imgList:r.annotation.imgList,imgIndex:r.annotation.imgIndex});var ue=G(oe,null,null,{context:T})(le);export{ue as default};
1
+ import{ESubmitType as U}from"../../../../constant/index.js";import{ToSubmitFileData as z,BatchUpdateResultByTrackID as R}from"../../../../store/annotation/actionCreators.js";import{LabelBeeContext as T,useDispatch as M}from"../../../../store/ctx.js";import{Form as u,Modal as q,InputNumber as F,Select as g,Popover as N,message as V}from"antd";import e,{useState as H,useEffect as K,useCallback as Q}from"react";import{useTranslation as W}from"react-i18next";import{QuestionCircleOutlined as $}from"@ant-design/icons";import{PointCloudUtils as _}from"@labelbee/lb-utils";import{connect as G}from"react-redux";import{useSingleBox as J}from"../../hooks/useSingleBox.js";import{MathUtils as X}from"@labelbee/lb-annotation";var Y=Object.defineProperty,Z=Object.defineProperties,ee=Object.getOwnPropertyDescriptors,B=Object.getOwnPropertySymbols,te=Object.prototype.hasOwnProperty,ne=Object.prototype.propertyIsEnumerable,w=(n,r,a)=>r in n?Y(n,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):n[r]=a,v=(n,r)=>{for(var a in r||(r={}))te.call(r,a)&&w(n,a,r[a]);if(B)for(var a of B(r))ne.call(r,a)&&w(n,a,r[a]);return n},re=(n,r)=>Z(n,ee(r));const ae={labelCol:{span:8},wrapperCol:{span:16}},O=[{required:!0,message:"\u8BF7\u586B\u5199\u4E00\u4E2A\u6570\u5B57"}],ie=[{required:!0,message:"\u8BF7\u9009\u62E9\u4E3B\u5C5E\u6027"}],h=2,k=({text:n})=>e.createElement("span",{style:{borderRadius:"4px 0px 0px 4px",padding:"0px 12px",background:"#FAFAFA",border:"1px solid rgb(217 217 217)",borderRight:"0",display:"flex",alignItems:"center",height:32}},n),le=({id:n,visible:r,onCancel:a,config:m,imgList:y,imgIndex:A})=>{const P=M(),{selectedBox:l}=J(),[p,E]=H(),[d]=u.useForm(),{t:o}=W();K(()=>{r===!1?(d.resetFields(),E(void 0)):b()},[r]);const C=t=>{var s;if(!n)return;if(!p){V.info("\u8BE5\u8303\u56F4\u4E0D\u5B58\u5728\u66F4\u6539\u6570\u636E, \u8BF7\u66F4\u6539\u7EDF\u4E00\u8303\u56F4");return}P(z(U.SyncImgList));const i={attribute:t.attribute};if(m.secondaryAttributeConfigurable){const c={};(s=m.inputList)==null||s.forEach(f=>{const x=t[f.value];x!==void 0&&Object.assign(c,{[f.value]:x})}),Object.keys(c).length>0&&Object.assign(i,{subAttribute:c})}p&&Object.assign(i,p),P(R(n,i,[t.prevPage-1,t.nextPage-1])),a()},b=Q(()=>{var t;const{prevPage:s,nextPage:i}=d.getFieldsValue(["prevPage","nextPage"]),c=y.filter((x,L)=>X.isInRange(L,[s-1,i-1]));if(!((c==null?void 0:c.length)>0)||!(l==null?void 0:l.info)||((t=l==null?void 0:l.info)==null?void 0:t.trackID)===void 0){E(void 0);return}const f=_.getMaxSizeFromBox({trackID:l.info.trackID,imgList:c});E(f)},[y,l,A]),D=()=>d.submit(),j=()=>{if(!p||!(l==null?void 0:l.info))return;const t={marginRight:16},{length:s,width:i,height:c}=_.transferBox2Kitti(v(v({},l==null?void 0:l.info),p));return e.createElement("div",null,e.createElement("span",{style:t},o("Length"),": ",s.toFixed(h)),e.createElement("span",{style:t},o("Width"),": ",i.toFixed(h)),e.createElement("span",{style:t},o("Height"),": ",c.toFixed(h)),e.createElement(N,{placement:"rightBottom",content:"\u7EDF\u4E00\u5C3A\u5BF8\u4E3A\u8BE5ID\u7684\u6240\u6709\u6807\u6CE8\u6846\u4E2D\u6700\u5927\u7684\u5C3A\u5BF8"},e.createElement($,null)))},S={width:"200px"},I={marginBottom:"24px",display:"flex",alignItems:"center"};return e.createElement(q,{title:o("UnifyParams"),visible:r,onCancel:a,onOk:D,wrapClassName:"labelbee-custom-modal"},e.createElement(u,re(v({},ae),{form:d,onFinish:C}),e.createElement(u.Item,{name:"id",label:o("UnifyTrackID")},n),e.createElement(u.Item,{label:o("UnifyAttributeRange"),required:!0},e.createElement(u.Item,{style:{display:"inline-block"},rules:O,name:"prevPage",noStyle:!0,initialValue:1},e.createElement(F,{precision:0,min:1,style:{width:"80px"},onChange:()=>b()})),e.createElement("span",{style:{display:"inline-block",width:"24px",textAlign:"center"}},"-"),e.createElement(u.Item,{style:{display:"inline-block"},rules:O,name:"nextPage",noStyle:!0,initialValue:y.length},e.createElement(F,{precision:0,min:1,style:{width:"80px"},onChange:()=>b()})),e.createElement("span",{style:{display:"inline-block",width:"40x",marginLeft:"10px",textAlign:"center"}},o("Page"))),e.createElement(u.Item,{name:"UnifySize",label:o("UnifySize")},j()),e.createElement(u.Item,{label:o("UnifyTag"),required:!0},e.createElement("div",{style:I},e.createElement(k,{text:o("Attribute")}),e.createElement(u.Item,{name:"attribute",noStyle:!0,rules:ie},e.createElement(g,{style:S},m.attributeList.map(t=>e.createElement(g.Option,{key:t.value,value:t.value},t.key))))),m.secondaryAttributeConfigurable&&m.inputList.map(t=>{var s;return e.createElement("div",{key:t.value,style:I},e.createElement(k,{text:t.key}),e.createElement(u.Item,{name:t.value,noStyle:!0,required:!1},e.createElement(g,{style:S},(s=t.subSelected)==null?void 0:s.map(i=>e.createElement(g.Option,{key:i.value,value:i.value},i.key)))))}))))},oe=n=>({imgList:n.annotation.imgList,imgIndex:n.annotation.imgIndex});var ue=G(oe,null,null,{context:T})(le);export{ue as default};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/components/pointCloudView/components/UnifyParamsModal/index.tsx"],"sourcesContent":["import { ESubmitType } from '@/constant';\nimport { BatchUpdateResultByTrackID, ToSubmitFileData } from '@/store/annotation/actionCreators';\nimport { LabelBeeContext, useDispatch } from '@/store/ctx';\nimport { Form, InputNumber, message, Modal, Popover, Select } from 'antd';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionCircleOutlined } from '@ant-design/icons';\nimport { IPointCloudConfig, PointCloudUtils } from '@labelbee/lb-utils';\nimport { connect } from 'react-redux';\nimport { AppState } from '@/store';\nimport { AnnotationFileList } from '@/types/data';\nimport { useSingleBox } from '../../hooks/useSingleBox';\nimport { MathUtils } from '@labelbee/lb-annotation';\n\ninterface IProps {\n id?: number;\n visible: boolean;\n onCancel: () => void;\n config: IPointCloudConfig;\n imgList: AnnotationFileList;\n imgIndex: number;\n}\n\nconst layout = {\n labelCol: { span: 8 },\n wrapperCol: { span: 16 },\n};\n\nconst defaultNumberRules = [{ required: true, message: '请填写一个数字' }];\nconst defaultSelectedAttribute = [{ required: true, message: '请选择主属性' }];\nconst DECIMAL_PLACES = 2;\n\nconst PrefixTag: React.FC<{ text: string }> = ({ text }) => {\n return (\n <span\n style={{\n borderRadius: '4px 0px 0px 4px',\n padding: '0px 12px',\n background: '#FAFAFA',\n border: '1px solid rgb(217 217 217)',\n borderRight: '0',\n display: 'flex',\n alignItems: 'center',\n height: 32,\n }}\n >\n {text}\n </span>\n );\n};\n\nconst UnifyParamsModal = ({ id, visible, onCancel, config, imgList, imgIndex }: IProps) => {\n const dispatch = useDispatch();\n const { selectedBox } = useSingleBox();\n const [size, setSize] = useState<{ width: number; height: number; depth: number }>();\n\n const [form] = Form.useForm();\n const { t } = useTranslation();\n\n useEffect(() => {\n if (visible === false) {\n // Clear All Data\n form.resetFields();\n setSize(undefined);\n }\n }, [visible]);\n\n const onFinish = (values: any) => {\n if (!id) {\n return;\n }\n\n if (!size) {\n message.info('该范围不存在更改数据, 请更改统一范围');\n return;\n }\n\n dispatch(ToSubmitFileData(ESubmitType.SyncImgList));\n const newData = {\n attribute: values.attribute,\n };\n\n if (config.secondaryAttributeConfigurable) {\n const newSubAttribute = {};\n config.inputList?.forEach((data) => {\n const subData = values[data.value];\n if (subData !== undefined) {\n Object.assign(newSubAttribute, { [data.value]: subData });\n }\n });\n\n if (Object.keys(newSubAttribute).length > 0) {\n Object.assign(newData, { subAttribute: newSubAttribute });\n }\n }\n\n if (size) {\n Object.assign(newData, size);\n }\n\n dispatch(BatchUpdateResultByTrackID(id, newData, [values.prevPage - 1, values.nextPage - 1]));\n onCancel();\n };\n\n const recalculateSize = useCallback(() => {\n const { prevPage, nextPage } = form.getFieldsValue(['prevPage', 'nextPage']);\n\n // 1. Filter the imgInfo in range.\n const newImgList = imgList.filter((_, i) =>\n MathUtils.isInRange(i, [prevPage - 1, nextPage - 1]),\n );\n\n if (\n !(newImgList?.length > 0) ||\n !selectedBox?.info ||\n selectedBox?.info?.trackID === undefined\n ) {\n setSize(undefined);\n return;\n }\n\n // 2. Get the Max Size of imgList\n const newMaxSize = PointCloudUtils.getMaxSizeFromBox({\n trackID: selectedBox.info.trackID,\n imgList: newImgList as Array<{ result: string }>,\n });\n\n setSize(newMaxSize);\n }, [imgList, selectedBox, imgIndex]);\n\n const onOk = () => form.submit();\n\n const sizeShow = () => {\n if (!size || !selectedBox?.info) {\n return;\n }\n const style = { marginRight: 16 };\n\n const { length, width, height } = PointCloudUtils.transferBox2Kitti({\n ...selectedBox?.info, // Just for the type check\n ...size,\n });\n\n return (\n <div>\n <span style={style}>\n {t('Length')}: {length.toFixed(DECIMAL_PLACES)}\n </span>\n <span style={style}>\n {t('Width')}: {width.toFixed(DECIMAL_PLACES)}\n </span>\n <span style={style}>\n {t('Height')}: {height.toFixed(DECIMAL_PLACES)}\n </span>\n <Popover placement='rightBottom' content='统一尺寸为该ID的所有标注框中最大的尺寸'>\n <QuestionCircleOutlined />\n </Popover>\n </div>\n );\n };\n const selectStyle = {\n width: '200px',\n };\n\n const attributeStyle = {\n marginBottom: '24px',\n display: 'flex',\n alignItems: 'center',\n };\n\n return (\n <Modal\n title={t('UnifyParams')}\n visible={visible}\n onCancel={onCancel}\n onOk={onOk}\n wrapClassName='labelbee-custom-modal'\n >\n <Form {...layout} form={form} onFinish={onFinish}>\n <Form.Item name='id' label={t('UnifyTrackID')}>\n {id}\n </Form.Item>\n\n <Form.Item label={t('UnifyAttributeRange')} required={true}>\n <Form.Item\n style={{ display: 'inline-block' }}\n rules={defaultNumberRules}\n name='prevPage'\n noStyle={true}\n >\n <InputNumber\n precision={0}\n min={1}\n style={{ width: '80px' }}\n onChange={() => recalculateSize()}\n />\n </Form.Item>\n <span\n style={{\n display: 'inline-block',\n width: '24px',\n textAlign: 'center',\n }}\n >\n -\n </span>\n <Form.Item\n style={{ display: 'inline-block' }}\n rules={defaultNumberRules}\n name='nextPage'\n noStyle={true}\n >\n <InputNumber\n precision={0}\n min={1}\n style={{ width: '80px' }}\n onChange={() => recalculateSize()}\n />\n </Form.Item>\n <span\n style={{\n display: 'inline-block',\n width: '40x',\n marginLeft: '10px',\n textAlign: 'center',\n }}\n >\n {t('Page')}\n </span>\n </Form.Item>\n\n <Form.Item name='UnifySize' label={t('UnifySize')}>\n {sizeShow()}\n </Form.Item>\n\n <Form.Item label={t('UnifyTag')} required={true}>\n <div style={attributeStyle}>\n <PrefixTag text={t('Attribute')} />\n <Form.Item name='attribute' noStyle={true} rules={defaultSelectedAttribute}>\n <Select style={selectStyle}>\n {config.attributeList.map((v) => (\n <Select.Option key={v.value} value={v.value}>\n {v.key}\n </Select.Option>\n ))}\n </Select>\n </Form.Item>\n </div>\n {config.secondaryAttributeConfigurable &&\n config.inputList.map((v) => (\n <div key={v.value} style={attributeStyle}>\n <PrefixTag text={v.key} />\n <Form.Item name={v.value} noStyle={true} required={false}>\n <Select style={selectStyle}>\n {v.subSelected?.map((subData) => (\n <Select.Option key={subData.value} value={subData.value}>\n {subData.key}\n </Select.Option>\n ))}\n </Select>\n </Form.Item>\n </div>\n ))}\n </Form.Item>\n </Form>\n </Modal>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n return {\n imgList: state.annotation.imgList,\n imgIndex: state.annotation.imgIndex,\n };\n};\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(UnifyParamsModal);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuBA,MAAM,MAAS,GAAA;AAAA,EACb,QAAA,EAAU,CAAE,IAAM,EAAA,CAAA,CAAA;AAAA,EAClB,UAAA,EAAY,CAAE,IAAM,EAAA,EAAA,CAAA;AAAA,CAAA,CAAA;AAGtB,MAAM,kBAAqB,GAAA,CAAC,CAAE,QAAA,EAAU,MAAM,OAAS,EAAA,4CAAA,CAAA,CAAA,CAAA;AACvD,MAAM,wBAA2B,GAAA,CAAC,CAAE,QAAA,EAAU,MAAM,OAAS,EAAA,sCAAA,CAAA,CAAA,CAAA;AAC7D,MAAM,cAAiB,GAAA,CAAA,CAAA;AAEvB,MAAM,SAAA,GAAwC,CAAC,CAAE,IAAW,CAAA,KAAA;AAC1D,EAAA,2CACG,MAAD,EAAA;AAAA,IACE,KAAO,EAAA;AAAA,MACL,YAAc,EAAA,iBAAA;AAAA,MACd,OAAS,EAAA,UAAA;AAAA,MACT,UAAY,EAAA,SAAA;AAAA,MACZ,MAAQ,EAAA,4BAAA;AAAA,MACR,WAAa,EAAA,GAAA;AAAA,MACb,OAAS,EAAA,MAAA;AAAA,MACT,UAAY,EAAA,QAAA;AAAA,MACZ,MAAQ,EAAA,EAAA;AAAA,KAAA;AAAA,GAGT,EAAA,IAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAKP,MAAM,gBAAA,GAAmB,CAAC,CAAE,EAAA,EAAI,SAAS,QAAU,EAAA,MAAA,EAAQ,SAAS,QAAuB,CAAA,KAAA;AACzF,EAAA,MAAM,QAAW,GAAA,WAAA,EAAA,CAAA;AACjB,EAAA,MAAM,CAAE,WAAgB,CAAA,GAAA,YAAA,EAAA,CAAA;AACxB,EAAM,MAAA,CAAC,MAAM,OAAW,CAAA,GAAA,QAAA,EAAA,CAAA;AAExB,EAAM,MAAA,CAAC,QAAQ,IAAK,CAAA,OAAA,EAAA,CAAA;AACpB,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AAEd,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAY,KAAO,EAAA;AAErB,MAAK,IAAA,CAAA,WAAA,EAAA,CAAA;AACL,MAAQ,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAET,CAAC,OAAA,CAAA,CAAA,CAAA;AAEJ,EAAM,MAAA,QAAA,GAAW,CAAC,MAAgB,KAAA;AAnEpC,IAAA,IAAA,EAAA,CAAA;AAoEI,IAAA,IAAI,CAAC,EAAI,EAAA;AACP,MAAA,OAAA;AAAA,KAAA;AAGF,IAAA,IAAI,CAAC,IAAM,EAAA;AACT,MAAA,OAAA,CAAQ,IAAK,CAAA,0GAAA,CAAA,CAAA;AACb,MAAA,OAAA;AAAA,KAAA;AAGF,IAAA,QAAA,CAAS,iBAAiB,WAAY,CAAA,WAAA,CAAA,CAAA,CAAA;AACtC,IAAA,MAAM,OAAU,GAAA;AAAA,MACd,WAAW,MAAO,CAAA,SAAA;AAAA,KAAA,CAAA;AAGpB,IAAA,IAAI,OAAO,8BAAgC,EAAA;AACzC,MAAA,MAAM,eAAkB,GAAA,EAAA,CAAA;AACxB,MAAA,CAAA,EAAA,GAAA,MAAA,CAAO,SAAP,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,OAAQ,CAAA,CAAC,IAAS,KAAA;AAClC,QAAM,MAAA,OAAA,GAAU,OAAO,IAAK,CAAA,KAAA,CAAA,CAAA;AAC5B,QAAA,IAAI,YAAY,KAAW,CAAA,EAAA;AACzB,UAAA,MAAA,CAAO,MAAO,CAAA,eAAA,EAAiB,CAAG,CAAA,IAAA,CAAK,KAAQ,GAAA,OAAA,CAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA;AAInD,MAAA,IAAI,MAAO,CAAA,IAAA,CAAK,eAAiB,CAAA,CAAA,MAAA,GAAS,CAAG,EAAA;AAC3C,QAAO,MAAA,CAAA,MAAA,CAAO,OAAS,EAAA,CAAE,YAAc,EAAA,eAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAI3C,IAAA,IAAI,IAAM,EAAA;AACR,MAAA,MAAA,CAAO,OAAO,OAAS,EAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAGzB,IAAS,QAAA,CAAA,0BAAA,CAA2B,IAAI,OAAS,EAAA,CAAC,OAAO,QAAW,GAAA,CAAA,EAAG,OAAO,QAAW,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACzF,IAAA,QAAA,EAAA,CAAA;AAAA,GAAA,CAAA;AAGF,EAAM,MAAA,eAAA,GAAkB,YAAY,MAAM;AAxG5C,IAAA,IAAA,EAAA,CAAA;AAyGI,IAAA,MAAM,CAAE,QAAU,EAAA,QAAA,CAAA,GAAa,IAAK,CAAA,cAAA,CAAe,CAAC,UAAY,EAAA,UAAA,CAAA,CAAA,CAAA;AAGhE,IAAA,MAAM,UAAa,GAAA,OAAA,CAAQ,MAAO,CAAA,CAAC,CAAG,EAAA,CAAA,KACpC,SAAU,CAAA,SAAA,CAAU,CAAG,EAAA,CAAC,QAAW,GAAA,CAAA,EAAG,QAAW,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAGnD,IACE,IAAA,EAAc,CAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,MAAA,IAAS,CACvB,CAAA,IAAA,EAAc,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,IAAA,CAAA,IACd,CAAa,CAAA,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,IAAA,KAAb,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,MAAY,KAC/B,CAAA,EAAA;AACA,MAAQ,OAAA,CAAA,KAAA,CAAA,CAAA,CAAA;AACR,MAAA,OAAA;AAAA,KAAA;AAIF,IAAM,MAAA,UAAA,GAAa,gBAAgB,iBAAkB,CAAA;AAAA,MACnD,OAAA,EAAS,YAAY,IAAK,CAAA,OAAA;AAAA,MAC1B,OAAS,EAAA,UAAA;AAAA,KAAA,CAAA,CAAA;AAGX,IAAQ,OAAA,CAAA,UAAA,CAAA,CAAA;AAAA,GACP,EAAA,CAAC,SAAS,WAAa,EAAA,QAAA,CAAA,CAAA,CAAA;AAE1B,EAAM,MAAA,IAAA,GAAO,MAAM,IAAK,CAAA,MAAA,EAAA,CAAA;AAExB,EAAA,MAAM,WAAW,MAAM;AACrB,IAAA,IAAI,CAAC,IAAA,IAAQ,EAAC,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAa,IAAM,CAAA,EAAA;AAC/B,MAAA,OAAA;AAAA,KAAA;AAEF,IAAM,MAAA,KAAA,GAAQ,CAAE,WAAa,EAAA,EAAA,CAAA,CAAA;AAE7B,IAAM,MAAA,CAAE,QAAQ,KAAO,EAAA,MAAA,CAAA,GAAW,gBAAgB,iBAAkB,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAC/D,2CAAa,IACb,CAAA,EAAA,IAAA,CAAA,CAAA,CAAA;AAGL,IAAA,uBACG,KAAA,CAAA,aAAA,CAAA,KAAA,EAAD,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,MAAD,EAAA;AAAA,MAAM,KAAA;AAAA,KAAA,EACH,EAAE,QAAU,CAAA,EAAA,IAAA,EAAG,OAAO,OAAQ,CAAA,cAAA,CAAA,CAAA,sCAEhC,MAAD,EAAA;AAAA,MAAM,KAAA;AAAA,KAAA,EACH,EAAE,OAAS,CAAA,EAAA,IAAA,EAAG,MAAM,OAAQ,CAAA,cAAA,CAAA,CAAA,sCAE9B,MAAD,EAAA;AAAA,MAAM,KAAA;AAAA,KAAA,EACH,EAAE,QAAU,CAAA,EAAA,IAAA,EAAG,OAAO,OAAQ,CAAA,cAAA,CAAA,CAAA,sCAEhC,OAAD,EAAA;AAAA,MAAS,SAAU,EAAA,aAAA;AAAA,MAAc,OAAQ,EAAA,gHAAA;AAAA,KAAA,sCACtC,sBAAD,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAKR,EAAA,MAAM,WAAc,GAAA;AAAA,IAClB,KAAO,EAAA,OAAA;AAAA,GAAA,CAAA;AAGT,EAAA,MAAM,cAAiB,GAAA;AAAA,IACrB,YAAc,EAAA,MAAA;AAAA,IACd,OAAS,EAAA,MAAA;AAAA,IACT,UAAY,EAAA,QAAA;AAAA,GAAA,CAAA;AAGd,EAAA,2CACG,KAAD,EAAA;AAAA,IACE,OAAO,CAAE,CAAA,aAAA,CAAA;AAAA,IACT,OAAA;AAAA,IACA,QAAA;AAAA,IACA,IAAA;AAAA,IACA,aAAc,EAAA,uBAAA;AAAA,GAEd,kBAAA,KAAA,CAAA,aAAA,CAAC,IAAD,EAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAU,MAAV,CAAA,EAAA;AAAA,IAAkB,IAAA;AAAA,IAAY,QAAA;AAAA,GAC5B,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,IAAN,EAAA;AAAA,IAAW,IAAK,EAAA,IAAA;AAAA,IAAK,OAAO,CAAE,CAAA,cAAA,CAAA;AAAA,GAC3B,EAAA,EAAA,CAAA,kBAGF,KAAA,CAAA,aAAA,CAAA,IAAA,CAAK,IAAN,EAAA;AAAA,IAAW,OAAO,CAAE,CAAA,qBAAA,CAAA;AAAA,IAAwB,QAAU,EAAA,IAAA;AAAA,GACpD,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,IAAN,EAAA;AAAA,IACE,KAAA,EAAO,CAAE,OAAS,EAAA,cAAA,CAAA;AAAA,IAClB,KAAO,EAAA,kBAAA;AAAA,IACP,IAAK,EAAA,UAAA;AAAA,IACL,OAAS,EAAA,IAAA;AAAA,GAAA,sCAER,WAAD,EAAA;AAAA,IACE,SAAW,EAAA,CAAA;AAAA,IACX,GAAK,EAAA,CAAA;AAAA,IACL,KAAA,EAAO,CAAE,KAAO,EAAA,MAAA,CAAA;AAAA,IAChB,UAAU,MAAM,eAAA,EAAA;AAAA,GAAA,CAAA,CAAA,sCAGnB,MAAD,EAAA;AAAA,IACE,KAAO,EAAA;AAAA,MACL,OAAS,EAAA,cAAA;AAAA,MACT,KAAO,EAAA,MAAA;AAAA,MACP,SAAW,EAAA,QAAA;AAAA,KAAA;AAAA,GAEd,EAAA,GAAA,CAAA,kBAGA,KAAA,CAAA,aAAA,CAAA,IAAA,CAAK,IAAN,EAAA;AAAA,IACE,KAAA,EAAO,CAAE,OAAS,EAAA,cAAA,CAAA;AAAA,IAClB,KAAO,EAAA,kBAAA;AAAA,IACP,IAAK,EAAA,UAAA;AAAA,IACL,OAAS,EAAA,IAAA;AAAA,GAAA,sCAER,WAAD,EAAA;AAAA,IACE,SAAW,EAAA,CAAA;AAAA,IACX,GAAK,EAAA,CAAA;AAAA,IACL,KAAA,EAAO,CAAE,KAAO,EAAA,MAAA,CAAA;AAAA,IAChB,UAAU,MAAM,eAAA,EAAA;AAAA,GAAA,CAAA,CAAA,sCAGnB,MAAD,EAAA;AAAA,IACE,KAAO,EAAA;AAAA,MACL,OAAS,EAAA,cAAA;AAAA,MACT,KAAO,EAAA,KAAA;AAAA,MACP,UAAY,EAAA,MAAA;AAAA,MACZ,SAAW,EAAA,QAAA;AAAA,KAAA;AAAA,GAAA,EAGZ,CAAE,CAAA,MAAA,CAAA,CAAA,CAAA,kBAIN,KAAA,CAAA,aAAA,CAAA,IAAA,CAAK,IAAN,EAAA;AAAA,IAAW,IAAK,EAAA,WAAA;AAAA,IAAY,OAAO,CAAE,CAAA,WAAA,CAAA;AAAA,GAClC,EAAA,QAAA,EAAA,CAAA,kBAGF,KAAA,CAAA,aAAA,CAAA,IAAA,CAAK,IAAN,EAAA;AAAA,IAAW,OAAO,CAAE,CAAA,UAAA,CAAA;AAAA,IAAa,QAAU,EAAA,IAAA;AAAA,GAAA,sCACxC,KAAD,EAAA;AAAA,IAAK,KAAO,EAAA,cAAA;AAAA,GAAA,sCACT,SAAD,EAAA;AAAA,IAAW,MAAM,CAAE,CAAA,WAAA,CAAA;AAAA,GACnB,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,IAAN,EAAA;AAAA,IAAW,IAAK,EAAA,WAAA;AAAA,IAAY,OAAS,EAAA,IAAA;AAAA,IAAM,KAAO,EAAA,wBAAA;AAAA,GAAA,sCAC/C,MAAD,EAAA;AAAA,IAAQ,KAAO,EAAA,WAAA;AAAA,GAAA,EACZ,OAAO,aAAc,CAAA,GAAA,CAAI,CAAC,CACzB,qBAAA,KAAA,CAAA,aAAA,CAAC,OAAO,MAAR,EAAA;AAAA,IAAe,KAAK,CAAE,CAAA,KAAA;AAAA,IAAO,OAAO,CAAE,CAAA,KAAA;AAAA,GACnC,EAAA,CAAA,CAAE,UAMZ,MAAO,CAAA,8BAAA,IACN,OAAO,SAAU,CAAA,GAAA,CAAI,CAAC,CAAG,KAAA;AAzPrC,IAAA,IAAA,EAAA,CAAA;AA0Pc,IAAA,uBAAA,KAAA,CAAA,aAAA,CAAC,KAAD,EAAA;AAAA,MAAK,KAAK,CAAE,CAAA,KAAA;AAAA,MAAO,KAAO,EAAA,cAAA;AAAA,KAAA,sCACvB,SAAD,EAAA;AAAA,MAAW,MAAM,CAAE,CAAA,GAAA;AAAA,KACnB,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,KAAK,IAAN,EAAA;AAAA,MAAW,MAAM,CAAE,CAAA,KAAA;AAAA,MAAO,OAAS,EAAA,IAAA;AAAA,MAAM,QAAU,EAAA,KAAA;AAAA,KAAA,sCAChD,MAAD,EAAA;AAAA,MAAQ,KAAO,EAAA,WAAA;AAAA,KACZ,EAAA,CAAA,EAAA,GAAA,CAAA,CAAE,gBAAF,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,GAAA,CAAI,CAAC,OACnB,qBAAA,KAAA,CAAA,aAAA,CAAC,OAAO,MAAR,EAAA;AAAA,MAAe,KAAK,OAAQ,CAAA,KAAA;AAAA,MAAO,OAAO,OAAQ,CAAA,KAAA;AAAA,KAAA,EAC/C,OAAQ,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAajC,MAAM,eAAA,GAAkB,CAAC,KAAoB,KAAA;AAC3C,EAAO,OAAA;AAAA,IACL,OAAA,EAAS,MAAM,UAAW,CAAA,OAAA;AAAA,IAC1B,QAAA,EAAU,MAAM,UAAW,CAAA,QAAA;AAAA,GAAA,CAAA;AAAA,CAAA,CAAA;AAI/B,yBAAe,QAAQ,eAAiB,EAAA,IAAA,EAAM,IAAM,EAAA,CAAE,SAAS,eAAmB,CAAA,CAAA,CAAA,gBAAA,CAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/components/pointCloudView/components/UnifyParamsModal/index.tsx"],"sourcesContent":["import { ESubmitType } from '@/constant';\nimport { BatchUpdateResultByTrackID, ToSubmitFileData } from '@/store/annotation/actionCreators';\nimport { LabelBeeContext, useDispatch } from '@/store/ctx';\nimport { Form, InputNumber, message, Modal, Popover, Select } from 'antd';\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { QuestionCircleOutlined } from '@ant-design/icons';\nimport { IPointCloudConfig, PointCloudUtils } from '@labelbee/lb-utils';\nimport { connect } from 'react-redux';\nimport { AppState } from '@/store';\nimport { AnnotationFileList } from '@/types/data';\nimport { useSingleBox } from '../../hooks/useSingleBox';\nimport { MathUtils } from '@labelbee/lb-annotation';\n\ninterface IProps {\n id?: number;\n visible: boolean;\n onCancel: () => void;\n config: IPointCloudConfig;\n imgList: AnnotationFileList;\n imgIndex: number;\n}\n\nconst layout = {\n labelCol: { span: 8 },\n wrapperCol: { span: 16 },\n};\n\nconst defaultNumberRules = [{ required: true, message: '请填写一个数字' }];\nconst defaultSelectedAttribute = [{ required: true, message: '请选择主属性' }];\nconst DECIMAL_PLACES = 2;\n\nconst PrefixTag: React.FC<{ text: string }> = ({ text }) => {\n return (\n <span\n style={{\n borderRadius: '4px 0px 0px 4px',\n padding: '0px 12px',\n background: '#FAFAFA',\n border: '1px solid rgb(217 217 217)',\n borderRight: '0',\n display: 'flex',\n alignItems: 'center',\n height: 32,\n }}\n >\n {text}\n </span>\n );\n};\n\nconst UnifyParamsModal = ({ id, visible, onCancel, config, imgList, imgIndex }: IProps) => {\n const dispatch = useDispatch();\n const { selectedBox } = useSingleBox();\n const [size, setSize] = useState<{ width: number; height: number; depth: number }>();\n\n const [form] = Form.useForm();\n const { t } = useTranslation();\n\n useEffect(() => {\n if (visible === false) {\n // Clear All Data\n form.resetFields();\n setSize(undefined);\n } else {\n // Init\n recalculateSize();\n }\n }, [visible]);\n\n const onFinish = (values: any) => {\n if (!id) {\n return;\n }\n\n if (!size) {\n message.info('该范围不存在更改数据, 请更改统一范围');\n return;\n }\n\n dispatch(ToSubmitFileData(ESubmitType.SyncImgList));\n const newData = {\n attribute: values.attribute,\n };\n\n if (config.secondaryAttributeConfigurable) {\n const newSubAttribute = {};\n config.inputList?.forEach((data) => {\n const subData = values[data.value];\n if (subData !== undefined) {\n Object.assign(newSubAttribute, { [data.value]: subData });\n }\n });\n\n if (Object.keys(newSubAttribute).length > 0) {\n Object.assign(newData, { subAttribute: newSubAttribute });\n }\n }\n\n if (size) {\n Object.assign(newData, size);\n }\n\n dispatch(BatchUpdateResultByTrackID(id, newData, [values.prevPage - 1, values.nextPage - 1]));\n onCancel();\n };\n\n const recalculateSize = useCallback(() => {\n const { prevPage, nextPage } = form.getFieldsValue(['prevPage', 'nextPage']);\n\n // 1. Filter the imgInfo in range.\n const newImgList = imgList.filter((_, i) =>\n MathUtils.isInRange(i, [prevPage - 1, nextPage - 1]),\n );\n\n if (\n !(newImgList?.length > 0) ||\n !selectedBox?.info ||\n selectedBox?.info?.trackID === undefined\n ) {\n setSize(undefined);\n return;\n }\n\n // 2. Get the Max Size of imgList\n const newMaxSize = PointCloudUtils.getMaxSizeFromBox({\n trackID: selectedBox.info.trackID,\n imgList: newImgList as Array<{ result: string }>,\n });\n\n setSize(newMaxSize);\n }, [imgList, selectedBox, imgIndex]);\n\n const onOk = () => form.submit();\n\n const sizeShow = () => {\n if (!size || !selectedBox?.info) {\n return;\n }\n const style = { marginRight: 16 };\n\n const { length, width, height } = PointCloudUtils.transferBox2Kitti({\n ...selectedBox?.info, // Just for the type check\n ...size,\n });\n\n return (\n <div>\n <span style={style}>\n {t('Length')}: {length.toFixed(DECIMAL_PLACES)}\n </span>\n <span style={style}>\n {t('Width')}: {width.toFixed(DECIMAL_PLACES)}\n </span>\n <span style={style}>\n {t('Height')}: {height.toFixed(DECIMAL_PLACES)}\n </span>\n <Popover placement='rightBottom' content='统一尺寸为该ID的所有标注框中最大的尺寸'>\n <QuestionCircleOutlined />\n </Popover>\n </div>\n );\n };\n const selectStyle = {\n width: '200px',\n };\n\n const attributeStyle = {\n marginBottom: '24px',\n display: 'flex',\n alignItems: 'center',\n };\n\n return (\n <Modal\n title={t('UnifyParams')}\n visible={visible}\n onCancel={onCancel}\n onOk={onOk}\n wrapClassName='labelbee-custom-modal'\n >\n <Form {...layout} form={form} onFinish={onFinish}>\n <Form.Item name='id' label={t('UnifyTrackID')}>\n {id}\n </Form.Item>\n\n <Form.Item label={t('UnifyAttributeRange')} required={true}>\n <Form.Item\n style={{ display: 'inline-block' }}\n rules={defaultNumberRules}\n name='prevPage'\n noStyle={true}\n initialValue={1} // First Page \n >\n <InputNumber\n precision={0}\n min={1}\n style={{ width: '80px' }}\n onChange={() => recalculateSize()}\n />\n </Form.Item>\n <span\n style={{\n display: 'inline-block',\n width: '24px',\n textAlign: 'center',\n }}\n >\n -\n </span>\n <Form.Item\n style={{ display: 'inline-block' }}\n rules={defaultNumberRules}\n name='nextPage'\n noStyle={true}\n initialValue={imgList.length} // Last Page \n >\n <InputNumber\n precision={0}\n min={1}\n style={{ width: '80px' }}\n onChange={() => recalculateSize()}\n />\n </Form.Item>\n <span\n style={{\n display: 'inline-block',\n width: '40x',\n marginLeft: '10px',\n textAlign: 'center',\n }}\n >\n {t('Page')}\n </span>\n </Form.Item>\n\n <Form.Item name='UnifySize' label={t('UnifySize')}>\n {sizeShow()}\n </Form.Item>\n\n <Form.Item label={t('UnifyTag')} required={true}>\n <div style={attributeStyle}>\n <PrefixTag text={t('Attribute')} />\n <Form.Item name='attribute' noStyle={true} rules={defaultSelectedAttribute}>\n <Select style={selectStyle}>\n {config.attributeList.map((v) => (\n <Select.Option key={v.value} value={v.value}>\n {v.key}\n </Select.Option>\n ))}\n </Select>\n </Form.Item>\n </div>\n {config.secondaryAttributeConfigurable &&\n config.inputList.map((v) => (\n <div key={v.value} style={attributeStyle}>\n <PrefixTag text={v.key} />\n <Form.Item name={v.value} noStyle={true} required={false}>\n <Select style={selectStyle}>\n {v.subSelected?.map((subData) => (\n <Select.Option key={subData.value} value={subData.value}>\n {subData.key}\n </Select.Option>\n ))}\n </Select>\n </Form.Item>\n </div>\n ))}\n </Form.Item>\n </Form>\n </Modal>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n return {\n imgList: state.annotation.imgList,\n imgIndex: state.annotation.imgIndex,\n };\n};\n\nexport default connect(mapStateToProps, null, null, { context: LabelBeeContext })(UnifyParamsModal);\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import y from"../../../../assets/annotation/common/icon_clear.svg.js";import _ from"../../../../assets/annotation/common/icon_clear_a.svg.js";import S from"../../../../assets/annotation/common/icon_invalid.svg.js";import h from"../../../../assets/annotation/common/icon_invalid_a.svg.js";import{StopOutlined as a}from"@ant-design/icons";import{useTranslation as j}from"react-i18next";import s,{useMemo as O,useState as P}from"react";import{CopyBackWordResult as x}from"../../../../store/annotation/actionCreators.js";import{store as C}from"../../../../index.js";import{useSelector as k}from"../../../../store/ctx.js";var w=Object.defineProperty,m=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,c=(e,t,r)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t)=>{for(var r in t||(t={}))V.call(t,r)&&c(e,r,t[r]);if(m)for(var r of m(t))E.call(t,r)&&c(e,r,t[r]);return e};const b=e=>{const[t,r]=P(0),{t:o,i18n:l}=j(),{currentData:p}=k(i=>{const{imgList:g,imgIndex:d}=i.annotation;return{currentData:g[d]}}),n={height:"25px",lineHeight:"25px",display:"flex",justifyContent:"center",alignItems:"center"},u={name:o("ClearLabel"),key:"empty",imgSvg:y,hoverSvg:_,onClick:()=>{e==null||e.clearResult()}},v={name:o((e==null?void 0:e.valid)===!1?"SetAsValid":"SetAsInvalid"),key:"setValidity",imgSvg:s.createElement(a,{style:n}),hoverSvg:s.createElement(a,{style:R({color:"#666fff"},n)}),onClick:()=>{e.setValid(!e.valid),setTimeout(()=>{r(i=>i+1)})}},f={name:o("CopyThePrevious"),key:"copyPrevious",imgSvg:S,hoverSvg:h,onClick:()=>{C.dispatch(x())}};return O(()=>({empty:u,setValidity:v,copyPrevious:f}),[e,t,p,l.language])};export{b as default};
1
+ import y from"../../../../assets/annotation/common/icon_clear.svg.js";import _ from"../../../../assets/annotation/common/icon_clear_a.svg.js";import S from"../../../../assets/annotation/common/icon_invalid.svg.js";import h from"../../../../assets/annotation/common/icon_invalid_a.svg.js";import{StopOutlined as a}from"@ant-design/icons";import{useTranslation as j}from"react-i18next";import s,{useState as O,useMemo as P}from"react";import{CopyBackWordResult as x}from"../../../../store/annotation/actionCreators.js";import{store as C}from"../../../../index.js";import{useSelector as k}from"../../../../store/ctx.js";var w=Object.defineProperty,m=Object.getOwnPropertySymbols,V=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,c=(e,t,r)=>t in e?w(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t)=>{for(var r in t||(t={}))V.call(t,r)&&c(e,r,t[r]);if(m)for(var r of m(t))E.call(t,r)&&c(e,r,t[r]);return e};const b=e=>{const[t,r]=O(0),{t:o,i18n:l}=j(),{currentData:p}=k(i=>{const{imgList:g,imgIndex:d}=i.annotation;return{currentData:g[d]}}),n={height:"25px",lineHeight:"25px",display:"flex",justifyContent:"center",alignItems:"center"},u={name:o("ClearLabel"),key:"empty",imgSvg:y,hoverSvg:_,onClick:()=>{e==null||e.clearResult()}},v={name:o((e==null?void 0:e.valid)===!1?"SetAsValid":"SetAsInvalid"),key:"setValidity",imgSvg:s.createElement(a,{style:n}),hoverSvg:s.createElement(a,{style:R({color:"#666fff"},n)}),onClick:()=>{e.setValid(!e.valid),setTimeout(()=>{r(i=>i+1)})}},f={name:o("CopyThePrevious"),key:"copyPrevious",imgSvg:S,hoverSvg:h,onClick:()=>{C.dispatch(x())}};return P(()=>({empty:u,setValidity:v,copyPrevious:f}),[e,t,p,l.language])};export{b as default};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@labelbee/lb-components",
3
- "version": "1.7.0-alpha.6",
3
+ "version": "1.7.0-alpha.7",
4
4
  "description": "Provide a complete library of annotation components",
5
5
  "main": "./dist/index.js",
6
6
  "es": "./es/index.js",
@@ -41,8 +41,8 @@
41
41
  },
42
42
  "dependencies": {
43
43
  "@ant-design/icons": "^4.6.2",
44
- "@labelbee/lb-annotation": "^1.10.0-alpha.6",
45
- "@labelbee/lb-utils": "^1.4.0-alpha.6",
44
+ "@labelbee/lb-annotation": "^1.10.0-alpha.7",
45
+ "@labelbee/lb-utils": "^1.4.0-alpha.7",
46
46
  "ahooks": "^3.4.0",
47
47
  "classnames": "^2.3.0",
48
48
  "lodash": "^4.17.21",
@@ -97,5 +97,5 @@
97
97
  "path": "node_modules/cz-conventional-changelog"
98
98
  }
99
99
  },
100
- "gitHead": "f0a0574415ffa659dfd669f0ca8a39bd14531851"
100
+ "gitHead": "37465f468d9c4ea3b157601848f88f3834143d9a"
101
101
  }