@labelbee/lb-components 1.7.0-alpha.2 → 1.7.0-alpha.4

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 (57) hide show
  1. package/dist/assets/annotation/pointCloudTool/unitAttribute.svg.js +1 -0
  2. package/dist/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js +1 -0
  3. package/dist/assets/annotation/pointCloudTool/unitAttributeHover.svg.js +1 -0
  4. package/dist/components/pointCloudView/PointCloud2DView.js +1 -1
  5. package/dist/components/pointCloudView/PointCloudBackView.js +1 -1
  6. package/dist/components/pointCloudView/components/UnifyParamsModal/index.js +1 -0
  7. package/dist/components/pointCloudView/hooks/usePointCloudViews.js +1 -1
  8. package/dist/constant/index.js +1 -1
  9. package/dist/store/Actions.js +1 -1
  10. package/dist/store/annotation/actionCreators.js +1 -1
  11. package/dist/store/annotation/reducer.js +1 -1
  12. package/dist/types/components/pointCloudView/components/UnifyParamsModal/index.d.ts +12 -0
  13. package/dist/types/constant/index.d.ts +2 -1
  14. package/dist/types/store/Actions.d.ts +1 -0
  15. package/dist/types/store/annotation/actionCreators.d.ts +3 -0
  16. package/dist/types/store/annotation/types.d.ts +10 -1
  17. package/dist/types/views/MainView/sidebar/GeneralOperation/ActionsConfirm.d.ts +3 -1
  18. package/dist/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +1 -1
  19. package/dist/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  20. package/dist/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js +1 -1
  21. package/dist/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  22. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  23. package/es/assets/annotation/pointCloudTool/unitAttribute.svg.js +1 -0
  24. package/es/assets/annotation/pointCloudTool/unitAttribute.svg.js.map +1 -0
  25. package/es/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js +1 -0
  26. package/es/assets/annotation/pointCloudTool/unitAttributeForbid.svg.js.map +1 -0
  27. package/es/assets/annotation/pointCloudTool/unitAttributeHover.svg.js +1 -0
  28. package/es/assets/annotation/pointCloudTool/unitAttributeHover.svg.js.map +1 -0
  29. package/es/components/pointCloudView/PointCloud2DView.js +1 -1
  30. package/es/components/pointCloudView/PointCloud2DView.js.map +1 -1
  31. package/es/components/pointCloudView/PointCloudBackView.js +1 -1
  32. package/es/components/pointCloudView/PointCloudBackView.js.map +1 -1
  33. package/es/components/pointCloudView/components/UnifiedParamsModal/index.js +228 -0
  34. package/es/components/pointCloudView/components/UnifiedParamsModal/index.js.map +1 -0
  35. package/es/components/pointCloudView/components/UnifyParamsModal/index.js +1 -0
  36. package/es/components/pointCloudView/components/UnifyParamsModal/index.js.map +1 -0
  37. package/es/components/pointCloudView/hooks/usePointCloudViews.js +1 -1
  38. package/es/components/pointCloudView/hooks/usePointCloudViews.js.map +1 -1
  39. package/es/constant/index.js +1 -1
  40. package/es/constant/index.js.map +1 -1
  41. package/es/store/Actions.js +1 -1
  42. package/es/store/Actions.js.map +1 -1
  43. package/es/store/annotation/actionCreators.js +1 -1
  44. package/es/store/annotation/actionCreators.js.map +1 -1
  45. package/es/store/annotation/reducer.js +1 -1
  46. package/es/store/annotation/reducer.js.map +1 -1
  47. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js +1 -1
  48. package/es/views/MainView/sidebar/GeneralOperation/ActionsConfirm.js.map +1 -1
  49. package/es/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  50. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -1
  51. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js +1 -1
  52. package/es/views/MainView/sidebar/PointCloudToolSidebar/components/batchUpdateModal/index.js.map +1 -1
  53. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js +1 -1
  54. package/es/views/MainView/sidebar/PointCloudToolSidebar/index.js.map +1 -1
  55. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  56. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
  57. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"usePointCloudViews.js","sources":["../../../../src/components/pointCloudView/hooks/usePointCloudViews.ts"],"sourcesContent":["/**\n * @file Point cloud interface for crud\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @createdate 2022-08-17\n */\nimport { PointCloudAnnotation, PointCloud, MathUtils } from '@labelbee/lb-annotation';\nimport {\n IPointCloudBox,\n EPerspectiveView,\n PointCloudUtils,\n IPolygonPoint,\n} from '@labelbee/lb-utils';\nimport { useContext } from 'react';\nimport { PointCloudContext } from '../PointCloudContext';\nimport { useSingleBox } from './useSingleBox';\nimport { ISize } from '@/types/main';\nimport _ from 'lodash';\nimport { useDispatch, useSelector } from '@/store/ctx';\nimport { AppState } from '@/store';\nimport StepUtils from '@/utils/StepUtils';\nimport { jsonParser } from '@/utils';\nimport { SetPointCloudLoading } from '@/store/annotation/actionCreators';\nimport { message } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from './useHistory';\nimport { usePolygon } from './usePolygon';\nimport { IFileItem } from '@/types/data';\n\nconst DEFAULT_SCOPE = 5;\nconst DEFAULT_RADIUS = 90;\n\nconst PointCloudView = {\n '3D': '3D',\n Top: 'Top',\n Side: 'Side',\n Back: 'Back',\n};\n\n/**\n * Get the coordinate from canvas2d-coordinate to world coordinate\n */\nexport const transferCanvas2World = (\n currentPos: { x: number; y: number },\n size: { width: number; height: number },\n) => {\n const { width: w, height: h } = size;\n const { x, y } = currentPos;\n\n // x-Axis is the Positive Direction, so the x-coordinates need to be swapped with the y-coordinates\n return {\n x: -y + h / 2,\n y: -(x - w / 2),\n };\n};\n\nexport const topViewPolygon2PointCloud = (\n newPolygon: any,\n size: ISize,\n pointCloud?: PointCloud,\n selectedPointCloudBox?: IPointCloudBox,\n defaultValue?: { [v: string]: any },\n) => {\n const [point1, point2, point3, point4] = newPolygon.pointList.map((v: any) =>\n transferCanvas2World(v, size),\n );\n\n const centerPoint = MathUtils.getLineCenterPoint([point1, point3]);\n const height = MathUtils.getLineLength(point1, point2);\n const width = MathUtils.getLineLength(point2, point3);\n const rotation = MathUtils.getRadiusFromQuadrangle(newPolygon.pointList);\n let z = 0;\n let depth = 1;\n let extraData = {};\n\n // Init PointCloud Data\n if (pointCloud) {\n const zInfo = pointCloud.getSensesPointZAxisInPolygon([point1, point2, point3, point4]);\n z = (zInfo.maxZ + zInfo.minZ) / 2;\n depth = zInfo.maxZ - zInfo.minZ;\n extraData = {\n count: zInfo.zCount,\n };\n }\n\n if (selectedPointCloudBox) {\n z = selectedPointCloudBox.center.z;\n depth = selectedPointCloudBox.depth;\n }\n\n const newPosition = {\n center: {\n x: centerPoint.x,\n y: centerPoint.y,\n z,\n },\n width,\n height,\n depth,\n rotation,\n id: newPolygon.id,\n };\n\n /** TrackID will append before it pushed */\n const boxParams: Omit<IPointCloudBox, 'trackID'> = selectedPointCloudBox\n ? {\n ...selectedPointCloudBox,\n ...newPosition,\n ...extraData,\n }\n : {\n // Init Data\n ...newPosition,\n attribute: '',\n valid: true,\n ...extraData,\n };\n\n if (defaultValue) {\n Object.assign(boxParams, defaultValue);\n }\n\n return boxParams;\n};\n\nconst sideViewPolygon2PointCloud = (\n newPolygon: any,\n originPolygon: any,\n selectedPointCloudBox: IPointCloudBox,\n pointCloudInstance: PointCloud,\n) => {\n const [point1, point2, point3] = newPolygon.pointList;\n const [op1, op2, op3] = originPolygon.pointList;\n\n // 2D centerPoint => 3D x & z\n const newCenterPoint = MathUtils.getLineCenterPoint([point1, point3]);\n const oldCenterPoint = MathUtils.getLineCenterPoint([op1, op3]);\n\n const offset = {\n x: newCenterPoint.x - oldCenterPoint.x,\n y: newCenterPoint.y - oldCenterPoint.y,\n };\n\n /**\n * The key of sideView change is x & z, y isn't used.\n */\n const offsetCenterPoint = {\n x: offset.x,\n y: 0,\n z: newCenterPoint.y - oldCenterPoint.y,\n };\n\n // 2D height => 3D depth\n const height = MathUtils.getLineLength(point1, point2);\n const oldHeight = MathUtils.getLineLength(op1, op2);\n const offsetHeight = height - oldHeight; // 3D depth\n\n // 2D width => 3D width\n const width = MathUtils.getLineLength(point2, point3);\n const oldWidth = MathUtils.getLineLength(op2, op3);\n const offsetWidth = width - oldWidth; // 3D width\n\n const { newBoxParams } = pointCloudInstance.getNewBoxBySideUpdate(\n offsetCenterPoint,\n offsetWidth,\n offsetHeight,\n selectedPointCloudBox,\n );\n\n return newBoxParams;\n};\n\n/**\n * NewBox synchronize sideView\n * @param boxParams\n * @param newPolygon TODO! Need to add type\n */\nexport const synchronizeSideView = (\n boxParams: IPointCloudBox,\n newPolygon: any,\n sideViewInstance: PointCloudAnnotation | undefined,\n url: string,\n) => {\n if (!sideViewInstance) {\n return;\n }\n\n const { pointCloud2dOperation, pointCloudInstance } = sideViewInstance;\n\n // Create PointCloud\n pointCloudInstance.loadPCDFileByBox(url, boxParams, {\n width: DEFAULT_SCOPE,\n depth: DEFAULT_SCOPE,\n });\n const { cameraPositionVector } = pointCloudInstance.updateOrthoCamera(\n boxParams,\n EPerspectiveView.Left,\n );\n\n pointCloudInstance.setInitCameraPosition(cameraPositionVector);\n\n // Create Draw Polygon\n const { polygon2d, zoom } = pointCloudInstance.getBoxSidePolygon2DCoordinate(boxParams);\n\n // Synchronize SidePointCloud zoom with PointCloud2dOperation\n pointCloudInstance.camera.zoom = zoom;\n pointCloudInstance.camera.updateProjectionMatrix();\n pointCloudInstance.render();\n\n // Update PolygonView to default zoom and currentPos.\n pointCloud2dOperation.initPosition();\n pointCloud2dOperation.zoomChangeOnCenter(zoom);\n pointCloud2dOperation.setResultAndSelectedID(\n [\n {\n id: newPolygon.id,\n valid: boxParams.valid,\n pointList: polygon2d,\n textAttribute: '',\n isRect: true,\n attribute: boxParams.attribute,\n },\n ],\n newPolygon.id,\n );\n};\n\n/**\n * NewBox synchronize backView\n * @param boxParams\n * @param newPolygon TODO! Need to add type\n */\nexport const synchronizeBackView = (\n boxParams: IPointCloudBox,\n newPolygon: any,\n BackViewInstance: PointCloudAnnotation,\n url: string,\n) => {\n if (!BackViewInstance) {\n return;\n }\n\n const {\n pointCloud2dOperation: backPointCloudPolygonOperation,\n pointCloudInstance: backPointCloud,\n } = BackViewInstance;\n\n // Create PointCloud\n backPointCloud.loadPCDFileByBox(url, boxParams, { height: DEFAULT_SCOPE, depth: DEFAULT_SCOPE });\n const { cameraPositionVector } = backPointCloud.updateOrthoCamera(\n boxParams,\n EPerspectiveView.Back,\n );\n\n backPointCloud.setInitCameraPosition(cameraPositionVector);\n\n // Create Draw Polygon\n const { polygon2d, zoom } = backPointCloud.getBoxBackPolygon2DCoordinate(boxParams);\n\n // Synchronize SidePointCloud zoom with PointCloud2dOperation\n backPointCloud.camera.zoom = zoom;\n backPointCloud.camera.updateProjectionMatrix();\n backPointCloud.render();\n\n // Update PolygonView to default zoom and currentPos.\n backPointCloudPolygonOperation.initPosition();\n backPointCloudPolygonOperation.zoomChangeOnCenter(zoom);\n backPointCloudPolygonOperation.setResultAndSelectedID(\n [\n {\n id: newPolygon.id,\n valid: boxParams.valid,\n pointList: polygon2d,\n textAttribute: '',\n isRect: true,\n attribute: boxParams.attribute,\n },\n ],\n newPolygon.id,\n );\n};\n\n/**\n * NewBox synchronize TopView\n * @param boxParams\n * @param newPolygon TODO! Need to add type\n */\nexport const synchronizeTopView = (\n newBoxParams: IPointCloudBox,\n newPolygon: any,\n topViewInstance?: PointCloudAnnotation,\n mainViewInstance?: PointCloud,\n) => {\n if (!topViewInstance || !mainViewInstance) {\n return;\n }\n\n // Control the 3D view data to create box\n mainViewInstance.generateBox(newBoxParams, newPolygon.id);\n mainViewInstance.updateCameraByBox(newBoxParams, EPerspectiveView.Top);\n mainViewInstance.render();\n\n const { pointCloud2dOperation, pointCloudInstance } = topViewInstance;\n\n const { polygon2d } = pointCloudInstance.getBoxTopPolygon2DCoordinate(newBoxParams);\n\n const newPolygonList = [...pointCloud2dOperation.polygonList];\n const oldPolygon = newPolygonList.find((v) => v.id === newPolygon.id);\n if (oldPolygon) {\n oldPolygon.pointList = polygon2d;\n } else {\n newPolygonList.push({\n id: newPolygon.id,\n pointList: polygon2d,\n textAttribute: '',\n isRect: true,\n valid: newBoxParams.valid ?? true,\n });\n }\n\n pointCloud2dOperation.setResultAndSelectedID(newPolygonList, newPolygon.id);\n};\n\nexport const usePointCloudViews = () => {\n const ptCtx = useContext(PointCloudContext);\n const {\n topViewInstance,\n sideViewInstance,\n backViewInstance,\n mainViewInstance,\n addPointCloudBox,\n setSelectedIDs,\n selectedIDs,\n pointCloudBoxList,\n } = ptCtx;\n const { addHistory, initHistory, pushHistoryUnderUpdatePolygon } = useHistory();\n const { selectedPolygon } = usePolygon();\n\n const { updateSelectedBox } = useSingleBox();\n const { currentData, config } = useSelector((state: AppState) => {\n const { stepList, step, imgList, imgIndex } = state.annotation;\n\n return {\n currentData: imgList[imgIndex],\n config: jsonParser(StepUtils.getCurrentStepInfo(step, stepList).config),\n };\n });\n const dispatch = useDispatch();\n const { selectedBox } = useSingleBox();\n const { t } = useTranslation();\n\n const selectedPointCloudBox = selectedBox?.info;\n\n if (!topViewInstance || !sideViewInstance) {\n return {\n topViewAddBox: () => {},\n topViewSelectedChanged: () => {},\n sideViewUpdateBox: () => {},\n };\n }\n\n const { pointCloudInstance: topViewPointCloud } = topViewInstance;\n\n const mainViewGenBox = (boxParams: IPointCloudBox) => {\n mainViewInstance?.generateBox(boxParams);\n mainViewInstance?.controls.update();\n mainViewInstance?.render();\n };\n\n /** Top-view create box from 2D */\n const topViewAddBox = ({\n newPolygon,\n size,\n imgList,\n trackConfigurable,\n }: {\n newPolygon: any;\n size: ISize;\n imgList: IFileItem[];\n trackConfigurable?: boolean;\n }) => {\n const newImgList = imgList as any[];\n\n const extraData = {\n attribute: topViewInstance.pointCloud2dOperation.defaultAttribute ?? ''\n };\n\n if (trackConfigurable === true) {\n Object.assign(extraData, {\n trackID: PointCloudUtils.getNextTrackID({\n imgList: newImgList,\n extraBoxList: pointCloudBoxList,\n }),\n });\n }\n\n const newParams = topViewPolygon2PointCloud(\n newPolygon,\n size,\n topViewPointCloud,\n undefined,\n extraData,\n );\n const polygonOperation = topViewInstance?.pointCloud2dOperation;\n\n const boxParams: IPointCloudBox = newParams;\n\n // If the count is less than lowerLimitPointsNumInBox, needs to delete it\n if (\n config?.lowerLimitPointsNumInBox &&\n typeof newParams.count === 'number' &&\n newParams.count < config.lowerLimitPointsNumInBox\n ) {\n message.info(t('LowerLimitPointsNumInBox', { num: config.lowerLimitPointsNumInBox }));\n polygonOperation.deletePolygon(newParams.id);\n return;\n }\n\n polygonOperation.setSelectedIDs([newPolygon.id]);\n setSelectedIDs(boxParams.id);\n syncPointCloudViews(PointCloudView.Top, newPolygon, boxParams);\n addPointCloudBox(boxParams);\n addHistory({ newBoxParams: boxParams });\n };\n\n /** Top-view selected changed and render to other view */\n const topViewSelectedChanged = () => {\n const boxParams = selectedBox?.info;\n const polygonOperation = topViewInstance?.pointCloud2dOperation;\n\n polygonOperation.setSelectedIDs(selectedIDs);\n if (!boxParams || !polygonOperation) {\n return;\n }\n\n const polygon = polygonOperation.selectedPolygon;\n syncPointCloudViews(PointCloudView.Top, polygon, boxParams);\n };\n\n /**\n * Update box from view\n * @param newPolygon\n * @param originPolygon\n * @param fromView Back or Side\n */\n const viewUpdateBox = (newPolygon: any, originPolygon: any, fromView: string) => {\n if (selectedPointCloudBox) {\n let newBoxParams = sideViewPolygon2PointCloud(\n newPolygon,\n originPolygon,\n selectedPointCloudBox,\n sideViewInstance.pointCloudInstance,\n );\n // Update count\n if (mainViewInstance) {\n const { count } = mainViewInstance.getSensesPointZAxisInPolygon(\n mainViewInstance.getCuboidFromPointCloudBox(newBoxParams)\n .polygonPointList as IPolygonPoint[],\n [\n newBoxParams.center.z - newBoxParams.depth / 2,\n newBoxParams.center.z + newBoxParams.depth / 2,\n ],\n );\n\n newBoxParams = {\n ...newBoxParams,\n count,\n };\n }\n\n updateSelectedBox(newBoxParams);\n syncPointCloudViews(fromView, newPolygon, newBoxParams);\n }\n };\n\n const sideViewUpdateBox = (newPolygon: any, originPolygon: any) => {\n viewUpdateBox(newPolygon, originPolygon, PointCloudView.Side);\n };\n\n const backViewUpdateBox = (newPolygon: any, originPolygon: any) => {\n viewUpdateBox(newPolygon, originPolygon, PointCloudView.Back);\n };\n\n /**\n * Top view box updated and sync views\n * @param polygon\n * @param size\n */\n const topViewUpdateBox = (polygon: any, size: ISize) => {\n // If the selected Object is Polygon.\n if (selectedPolygon) {\n pushHistoryUnderUpdatePolygon(polygon);\n return;\n }\n\n if (selectedPointCloudBox) {\n const newBoxParams = topViewPolygon2PointCloud(\n polygon,\n size,\n topViewInstance.pointCloudInstance,\n selectedPointCloudBox,\n );\n\n Object.assign(\n selectedPointCloudBox,\n _.pickBy(newBoxParams, (v, k) => ['width', 'height', 'x', 'y']),\n );\n\n updateSelectedBox(newBoxParams);\n syncPointCloudViews(PointCloudView.Top, polygon, selectedPointCloudBox);\n }\n };\n\n /**\n * Sync views' data from omit view, regenerate and highlight box on 3D-view\n * @param omitView\n * @param polygon\n * @param boxParams\n */\n const syncPointCloudViews = (omitView: string, polygon: any, boxParams: IPointCloudBox) => {\n const dataUrl = currentData?.url;\n\n const viewToBeUpdated = {\n [PointCloudView.Side]: () => {\n synchronizeSideView(boxParams, polygon, sideViewInstance, dataUrl);\n },\n [PointCloudView.Back]: () => {\n if (backViewInstance) {\n synchronizeBackView(boxParams, polygon, backViewInstance, dataUrl);\n }\n },\n [PointCloudView.Top]: () => {\n synchronizeTopView(boxParams, polygon, topViewInstance, mainViewInstance);\n },\n };\n\n Object.keys(viewToBeUpdated).forEach((key) => {\n if (key !== omitView) {\n viewToBeUpdated[key]();\n }\n });\n mainViewGenBox(boxParams);\n mainViewInstance?.highlightOriginPointCloud(boxParams);\n };\n\n const pointCloudBoxListUpdated = (newBoxes: IPointCloudBox[]) => {\n topViewInstance.updatePolygonList(newBoxes);\n mainViewInstance?.generateBoxes(newBoxes);\n };\n\n const initPointCloud3d = () => {\n if (!mainViewInstance) {\n return;\n }\n\n mainViewInstance.initPerspectiveCamera();\n mainViewInstance.initRenderer();\n mainViewInstance.render();\n };\n\n /**\n * Update the data of pointCloudView when the page change.\n * @returns\n */\n const updatePointCloudData = async () => {\n if (!currentData?.url || !mainViewInstance) {\n return;\n }\n\n SetPointCloudLoading(dispatch, true);\n await mainViewInstance.loadPCDFile(currentData.url, config?.radius ?? DEFAULT_RADIUS);\n\n // Clear All Data\n pointCloudBoxList.forEach((v) => {\n mainViewInstance?.removeObjectByName(v.id);\n });\n\n let boxParamsList: any[] = [];\n let polygonList = [];\n if (currentData.result) {\n boxParamsList = PointCloudUtils.getBoxParamsFromResultList(currentData.result);\n polygonList = PointCloudUtils.getPolygonListFromResultList(currentData.result);\n\n // Add Init Box\n boxParamsList.forEach((v: IPointCloudBox) => {\n mainViewInstance?.generateBox(v);\n });\n\n ptCtx.setPointCloudResult(boxParamsList);\n ptCtx.setPolygonList(polygonList);\n } else {\n ptCtx.setPointCloudResult([]);\n ptCtx.setPolygonList([]);\n }\n initHistory({ pointCloudBoxList: boxParamsList, polygonList });\n\n mainViewInstance.updateTopCamera();\n\n const valid = jsonParser(currentData.result)?.valid ?? true;\n ptCtx.setPointCloudValid(valid);\n\n // Clear other view data during initialization\n ptCtx.sideViewInstance?.clearAllData();\n ptCtx.backViewInstance?.clearAllData();\n\n // TopView Data Update\n /**\n * Listen to flip\n * 1. Init\n * 2. Reload PointCloud\n * 3. Clear Polygon\n */\n topViewInstance.updateData(currentData.url, currentData.result, {\n radius: config?.radius ?? DEFAULT_RADIUS,\n });\n SetPointCloudLoading(dispatch, false);\n };\n\n return {\n topViewAddBox,\n topViewSelectedChanged,\n topViewUpdateBox,\n sideViewUpdateBox,\n backViewUpdateBox,\n pointCloudBoxListUpdated,\n initPointCloud3d,\n updatePointCloudData,\n };\n};\n"],"names":["this"],"mappings":"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"}
1
+ {"version":3,"file":"usePointCloudViews.js","sources":["../../../../src/components/pointCloudView/hooks/usePointCloudViews.ts"],"sourcesContent":["/**\n * @file Point cloud interface for crud\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @createdate 2022-08-17\n */\nimport { PointCloudAnnotation, PointCloud, MathUtils, getCuboidFromPointCloudBox } from '@labelbee/lb-annotation';\nimport {\n IPointCloudBox,\n EPerspectiveView,\n PointCloudUtils,\n IPolygonPoint,\n} from '@labelbee/lb-utils';\nimport { useContext } from 'react';\nimport { PointCloudContext } from '../PointCloudContext';\nimport { useSingleBox } from './useSingleBox';\nimport { ISize } from '@/types/main';\nimport _ from 'lodash';\nimport { useDispatch, useSelector } from '@/store/ctx';\nimport { AppState } from '@/store';\nimport StepUtils from '@/utils/StepUtils';\nimport { jsonParser } from '@/utils';\nimport { SetPointCloudLoading } from '@/store/annotation/actionCreators';\nimport { message } from 'antd';\nimport { useTranslation } from 'react-i18next';\nimport { useHistory } from './useHistory';\nimport { usePolygon } from './usePolygon';\nimport { IFileItem } from '@/types/data';\n\nconst DEFAULT_SCOPE = 5;\nconst DEFAULT_RADIUS = 90;\n\nconst PointCloudView = {\n '3D': '3D',\n Top: 'Top',\n Side: 'Side',\n Back: 'Back',\n};\n\n/**\n * Get the coordinate from canvas2d-coordinate to world coordinate\n */\nexport const transferCanvas2World = (\n currentPos: { x: number; y: number },\n size: { width: number; height: number },\n) => {\n const { width: w, height: h } = size;\n const { x, y } = currentPos;\n\n // x-Axis is the Positive Direction, so the x-coordinates need to be swapped with the y-coordinates\n return {\n x: -y + h / 2,\n y: -(x - w / 2),\n };\n};\n\nexport const topViewPolygon2PointCloud = (\n newPolygon: any,\n size: ISize,\n pointCloud?: PointCloud,\n selectedPointCloudBox?: IPointCloudBox,\n defaultValue?: { [v: string]: any },\n) => {\n const [point1, point2, point3, point4] = newPolygon.pointList.map((v: any) =>\n transferCanvas2World(v, size),\n );\n\n const centerPoint = MathUtils.getLineCenterPoint([point1, point3]);\n const height = MathUtils.getLineLength(point1, point2);\n const width = MathUtils.getLineLength(point2, point3);\n const rotation = MathUtils.getRadiusFromQuadrangle(newPolygon.pointList);\n let z = 0;\n let depth = 1;\n let extraData = {};\n\n // Init PointCloud Data\n if (pointCloud) {\n const zInfo = pointCloud.getSensesPointZAxisInPolygon([point1, point2, point3, point4]);\n z = (zInfo.maxZ + zInfo.minZ) / 2;\n depth = zInfo.maxZ - zInfo.minZ;\n extraData = {\n count: zInfo.zCount,\n };\n }\n\n if (selectedPointCloudBox) {\n z = selectedPointCloudBox.center.z;\n depth = selectedPointCloudBox.depth;\n }\n\n const newPosition = {\n center: {\n x: centerPoint.x,\n y: centerPoint.y,\n z,\n },\n width,\n height,\n depth,\n rotation,\n id: newPolygon.id,\n };\n\n /** TrackID will append before it pushed */\n const boxParams: Omit<IPointCloudBox, 'trackID'> = selectedPointCloudBox\n ? {\n ...selectedPointCloudBox,\n ...newPosition,\n ...extraData,\n }\n : {\n // Init Data\n ...newPosition,\n attribute: '',\n valid: true,\n ...extraData,\n };\n\n if (defaultValue) {\n Object.assign(boxParams, defaultValue);\n }\n\n return boxParams;\n};\n\nconst sideViewPolygon2PointCloud = (\n newPolygon: any,\n originPolygon: any,\n selectedPointCloudBox: IPointCloudBox,\n pointCloudInstance: PointCloud,\n) => {\n const [point1, point2, point3] = newPolygon.pointList;\n const [op1, op2, op3] = originPolygon.pointList;\n\n // 2D centerPoint => 3D x & z\n const newCenterPoint = MathUtils.getLineCenterPoint([point1, point3]);\n const oldCenterPoint = MathUtils.getLineCenterPoint([op1, op3]);\n\n const offset = {\n x: newCenterPoint.x - oldCenterPoint.x,\n y: newCenterPoint.y - oldCenterPoint.y,\n };\n\n /**\n * The key of sideView change is x & z, y isn't used.\n */\n const offsetCenterPoint = {\n x: offset.x,\n y: 0,\n z: newCenterPoint.y - oldCenterPoint.y,\n };\n\n // 2D height => 3D depth\n const height = MathUtils.getLineLength(point1, point2);\n const oldHeight = MathUtils.getLineLength(op1, op2);\n const offsetHeight = height - oldHeight; // 3D depth\n\n // 2D width => 3D width\n const width = MathUtils.getLineLength(point2, point3);\n const oldWidth = MathUtils.getLineLength(op2, op3);\n const offsetWidth = width - oldWidth; // 3D width\n\n const { newBoxParams } = pointCloudInstance.getNewBoxBySideUpdate(\n offsetCenterPoint,\n offsetWidth,\n offsetHeight,\n selectedPointCloudBox,\n );\n\n return newBoxParams;\n};\n\n/**\n * NewBox synchronize sideView\n * @param boxParams\n * @param newPolygon TODO! Need to add type\n */\nexport const synchronizeSideView = (\n boxParams: IPointCloudBox,\n newPolygon: any,\n sideViewInstance: PointCloudAnnotation | undefined,\n url: string,\n) => {\n if (!sideViewInstance) {\n return;\n }\n\n const { pointCloud2dOperation, pointCloudInstance } = sideViewInstance;\n\n // Create PointCloud\n pointCloudInstance.loadPCDFileByBox(url, boxParams, {\n width: DEFAULT_SCOPE,\n depth: DEFAULT_SCOPE,\n });\n const { cameraPositionVector } = pointCloudInstance.updateOrthoCamera(\n boxParams,\n EPerspectiveView.Left,\n );\n\n pointCloudInstance.setInitCameraPosition(cameraPositionVector);\n\n // Create Draw Polygon\n const { polygon2d, zoom } = pointCloudInstance.getBoxSidePolygon2DCoordinate(boxParams);\n\n // Synchronize SidePointCloud zoom with PointCloud2dOperation\n pointCloudInstance.camera.zoom = zoom;\n pointCloudInstance.camera.updateProjectionMatrix();\n pointCloudInstance.render();\n\n // Update PolygonView to default zoom and currentPos.\n pointCloud2dOperation.initPosition();\n pointCloud2dOperation.zoomChangeOnCenter(zoom);\n pointCloud2dOperation.setResultAndSelectedID(\n [\n {\n id: newPolygon.id,\n valid: boxParams.valid,\n pointList: polygon2d,\n textAttribute: '',\n isRect: true,\n attribute: boxParams.attribute,\n },\n ],\n newPolygon.id,\n );\n};\n\n/**\n * NewBox synchronize backView\n * @param boxParams\n * @param newPolygon TODO! Need to add type\n */\nexport const synchronizeBackView = (\n boxParams: IPointCloudBox,\n newPolygon: any,\n BackViewInstance: PointCloudAnnotation,\n url: string,\n) => {\n if (!BackViewInstance) {\n return;\n }\n\n const {\n pointCloud2dOperation: backPointCloudPolygonOperation,\n pointCloudInstance: backPointCloud,\n } = BackViewInstance;\n\n // Create PointCloud\n backPointCloud.loadPCDFileByBox(url, boxParams, { height: DEFAULT_SCOPE, depth: DEFAULT_SCOPE });\n const { cameraPositionVector } = backPointCloud.updateOrthoCamera(\n boxParams,\n EPerspectiveView.Back,\n );\n\n backPointCloud.setInitCameraPosition(cameraPositionVector);\n\n // Create Draw Polygon\n const { polygon2d, zoom } = backPointCloud.getBoxBackPolygon2DCoordinate(boxParams);\n\n // Synchronize SidePointCloud zoom with PointCloud2dOperation\n backPointCloud.camera.zoom = zoom;\n backPointCloud.camera.updateProjectionMatrix();\n backPointCloud.render();\n\n // Update PolygonView to default zoom and currentPos.\n backPointCloudPolygonOperation.initPosition();\n backPointCloudPolygonOperation.zoomChangeOnCenter(zoom);\n backPointCloudPolygonOperation.setResultAndSelectedID(\n [\n {\n id: newPolygon.id,\n valid: boxParams.valid,\n pointList: polygon2d,\n textAttribute: '',\n isRect: true,\n attribute: boxParams.attribute,\n },\n ],\n newPolygon.id,\n );\n};\n\n/**\n * NewBox synchronize TopView\n * @param boxParams\n * @param newPolygon TODO! Need to add type\n */\nexport const synchronizeTopView = (\n newBoxParams: IPointCloudBox,\n newPolygon: any,\n topViewInstance?: PointCloudAnnotation,\n mainViewInstance?: PointCloud,\n) => {\n if (!topViewInstance || !mainViewInstance) {\n return;\n }\n\n // Control the 3D view data to create box\n mainViewInstance.generateBox(newBoxParams, newPolygon.id);\n mainViewInstance.updateCameraByBox(newBoxParams, EPerspectiveView.Top);\n mainViewInstance.render();\n\n const { pointCloud2dOperation, pointCloudInstance } = topViewInstance;\n\n const { polygon2d } = pointCloudInstance.getBoxTopPolygon2DCoordinate(newBoxParams);\n\n const newPolygonList = [...pointCloud2dOperation.polygonList];\n const oldPolygon = newPolygonList.find((v) => v.id === newPolygon.id);\n if (oldPolygon) {\n oldPolygon.pointList = polygon2d;\n } else {\n newPolygonList.push({\n id: newPolygon.id,\n pointList: polygon2d,\n textAttribute: '',\n isRect: true,\n valid: newBoxParams.valid ?? true,\n });\n }\n\n pointCloud2dOperation.setResultAndSelectedID(newPolygonList, newPolygon.id);\n};\n\nexport const usePointCloudViews = () => {\n const ptCtx = useContext(PointCloudContext);\n const {\n topViewInstance,\n sideViewInstance,\n backViewInstance,\n mainViewInstance,\n addPointCloudBox,\n setSelectedIDs,\n selectedIDs,\n pointCloudBoxList,\n } = ptCtx;\n const { addHistory, initHistory, pushHistoryUnderUpdatePolygon } = useHistory();\n const { selectedPolygon } = usePolygon();\n\n const { updateSelectedBox } = useSingleBox();\n const { currentData, config } = useSelector((state: AppState) => {\n const { stepList, step, imgList, imgIndex } = state.annotation;\n\n return {\n currentData: imgList[imgIndex],\n config: jsonParser(StepUtils.getCurrentStepInfo(step, stepList).config),\n };\n });\n const dispatch = useDispatch();\n const { selectedBox } = useSingleBox();\n const { t } = useTranslation();\n\n const selectedPointCloudBox = selectedBox?.info;\n\n if (!topViewInstance || !sideViewInstance) {\n return {\n topViewAddBox: () => {},\n topViewSelectedChanged: () => {},\n sideViewUpdateBox: () => {},\n };\n }\n\n const { pointCloudInstance: topViewPointCloud } = topViewInstance;\n\n const mainViewGenBox = (boxParams: IPointCloudBox) => {\n mainViewInstance?.generateBox(boxParams);\n mainViewInstance?.controls.update();\n mainViewInstance?.render();\n };\n\n /** Top-view create box from 2D */\n const topViewAddBox = ({\n newPolygon,\n size,\n imgList,\n trackConfigurable,\n }: {\n newPolygon: any;\n size: ISize;\n imgList: IFileItem[];\n trackConfigurable?: boolean;\n }) => {\n const newImgList = imgList as any[];\n\n const extraData = {\n attribute: topViewInstance.pointCloud2dOperation.defaultAttribute ?? ''\n };\n\n if (trackConfigurable === true) {\n Object.assign(extraData, {\n trackID: PointCloudUtils.getNextTrackID({\n imgList: newImgList,\n extraBoxList: pointCloudBoxList,\n }),\n });\n }\n\n const newParams = topViewPolygon2PointCloud(\n newPolygon,\n size,\n topViewPointCloud,\n undefined,\n extraData,\n );\n const polygonOperation = topViewInstance?.pointCloud2dOperation;\n\n const boxParams: IPointCloudBox = newParams;\n\n // If the count is less than lowerLimitPointsNumInBox, needs to delete it\n if (\n config?.lowerLimitPointsNumInBox &&\n typeof newParams.count === 'number' &&\n newParams.count < config.lowerLimitPointsNumInBox\n ) {\n message.info(t('LowerLimitPointsNumInBox', { num: config.lowerLimitPointsNumInBox }));\n polygonOperation.deletePolygon(newParams.id);\n return;\n }\n\n polygonOperation.setSelectedIDs([newPolygon.id]);\n setSelectedIDs(boxParams.id);\n syncPointCloudViews(PointCloudView.Top, newPolygon, boxParams);\n addPointCloudBox(boxParams);\n addHistory({ newBoxParams: boxParams });\n };\n\n /** Top-view selected changed and render to other view */\n const topViewSelectedChanged = () => {\n const boxParams = selectedBox?.info;\n const polygonOperation = topViewInstance?.pointCloud2dOperation;\n\n polygonOperation.setSelectedIDs(selectedIDs);\n if (!boxParams || !polygonOperation) {\n return;\n }\n\n const polygon = polygonOperation.selectedPolygon;\n syncPointCloudViews(PointCloudView.Top, polygon, boxParams);\n };\n\n /**\n * Update box from view\n * @param newPolygon\n * @param originPolygon\n * @param fromView Back or Side\n */\n const viewUpdateBox = (newPolygon: any, originPolygon: any, fromView: string) => {\n if (selectedPointCloudBox) {\n let newBoxParams = sideViewPolygon2PointCloud(\n newPolygon,\n originPolygon,\n selectedPointCloudBox,\n sideViewInstance.pointCloudInstance,\n );\n // Update count\n if (mainViewInstance) {\n const { count } = mainViewInstance.getSensesPointZAxisInPolygon(\n getCuboidFromPointCloudBox(newBoxParams)\n .polygonPointList as IPolygonPoint[],\n [\n newBoxParams.center.z - newBoxParams.depth / 2,\n newBoxParams.center.z + newBoxParams.depth / 2,\n ],\n );\n\n newBoxParams = {\n ...newBoxParams,\n count,\n };\n }\n\n updateSelectedBox(newBoxParams);\n syncPointCloudViews(fromView, newPolygon, newBoxParams);\n }\n };\n\n const sideViewUpdateBox = (newPolygon: any, originPolygon: any) => {\n viewUpdateBox(newPolygon, originPolygon, PointCloudView.Side);\n };\n\n const backViewUpdateBox = (newPolygon: any, originPolygon: any) => {\n viewUpdateBox(newPolygon, originPolygon, PointCloudView.Back);\n };\n\n /**\n * Top view box updated and sync views\n * @param polygon\n * @param size\n */\n const topViewUpdateBox = (polygon: any, size: ISize) => {\n // If the selected Object is Polygon.\n if (selectedPolygon) {\n pushHistoryUnderUpdatePolygon(polygon);\n return;\n }\n\n if (selectedPointCloudBox) {\n const newBoxParams = topViewPolygon2PointCloud(\n polygon,\n size,\n topViewInstance.pointCloudInstance,\n selectedPointCloudBox,\n );\n\n Object.assign(\n selectedPointCloudBox,\n _.pickBy(newBoxParams, (v, k) => ['width', 'height', 'x', 'y']),\n );\n\n updateSelectedBox(newBoxParams);\n syncPointCloudViews(PointCloudView.Top, polygon, selectedPointCloudBox);\n }\n };\n\n /**\n * Sync views' data from omit view, regenerate and highlight box on 3D-view\n * @param omitView\n * @param polygon\n * @param boxParams\n */\n const syncPointCloudViews = (omitView: string, polygon: any, boxParams: IPointCloudBox) => {\n const dataUrl = currentData?.url;\n\n const viewToBeUpdated = {\n [PointCloudView.Side]: () => {\n synchronizeSideView(boxParams, polygon, sideViewInstance, dataUrl);\n },\n [PointCloudView.Back]: () => {\n if (backViewInstance) {\n synchronizeBackView(boxParams, polygon, backViewInstance, dataUrl);\n }\n },\n [PointCloudView.Top]: () => {\n synchronizeTopView(boxParams, polygon, topViewInstance, mainViewInstance);\n },\n };\n\n Object.keys(viewToBeUpdated).forEach((key) => {\n if (key !== omitView) {\n viewToBeUpdated[key]();\n }\n });\n mainViewGenBox(boxParams);\n mainViewInstance?.highlightOriginPointCloud(boxParams);\n };\n\n const pointCloudBoxListUpdated = (newBoxes: IPointCloudBox[]) => {\n topViewInstance.updatePolygonList(newBoxes);\n mainViewInstance?.generateBoxes(newBoxes);\n };\n\n const initPointCloud3d = () => {\n if (!mainViewInstance) {\n return;\n }\n\n mainViewInstance.initPerspectiveCamera();\n mainViewInstance.initRenderer();\n mainViewInstance.render();\n };\n\n /**\n * Update the data of pointCloudView when the page change.\n * @returns\n */\n const updatePointCloudData = async () => {\n if (!currentData?.url || !mainViewInstance) {\n return;\n }\n\n SetPointCloudLoading(dispatch, true);\n await mainViewInstance.loadPCDFile(currentData.url, config?.radius ?? DEFAULT_RADIUS);\n\n // Clear All Data\n pointCloudBoxList.forEach((v) => {\n mainViewInstance?.removeObjectByName(v.id);\n });\n\n let boxParamsList: any[] = [];\n let polygonList = [];\n if (currentData.result) {\n boxParamsList = PointCloudUtils.getBoxParamsFromResultList(currentData.result);\n polygonList = PointCloudUtils.getPolygonListFromResultList(currentData.result);\n\n // Add Init Box\n boxParamsList.forEach((v: IPointCloudBox) => {\n mainViewInstance?.generateBox(v);\n });\n\n ptCtx.setPointCloudResult(boxParamsList);\n ptCtx.setPolygonList(polygonList);\n } else {\n ptCtx.setPointCloudResult([]);\n ptCtx.setPolygonList([]);\n }\n initHistory({ pointCloudBoxList: boxParamsList, polygonList });\n\n mainViewInstance.updateTopCamera();\n\n const valid = jsonParser(currentData.result)?.valid ?? true;\n ptCtx.setPointCloudValid(valid);\n\n // Clear other view data during initialization\n ptCtx.sideViewInstance?.clearAllData();\n ptCtx.backViewInstance?.clearAllData();\n\n // TopView Data Update\n /**\n * Listen to flip\n * 1. Init\n * 2. Reload PointCloud\n * 3. Clear Polygon\n */\n topViewInstance.updateData(currentData.url, currentData.result, {\n radius: config?.radius ?? DEFAULT_RADIUS,\n });\n SetPointCloudLoading(dispatch, false);\n };\n\n return {\n topViewAddBox,\n topViewSelectedChanged,\n topViewUpdateBox,\n sideViewUpdateBox,\n backViewUpdateBox,\n pointCloudBoxListUpdated,\n initPointCloud3d,\n updatePointCloudData,\n };\n};\n"],"names":["this"],"mappings":"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"}
@@ -1 +1 @@
1
- var a;(function(N){N[N.Check=0]="Check",N[N.ANNOTATION=1]="ANNOTATION",N[N.QUALITY_INSPECTION=2]="QUALITY_INSPECTION",N[N.PRE_ANNOTATION=3]="PRE_ANNOTATION",N[N.MANUAL_CORRECTION=4]="MANUAL_CORRECTION"})(a||(a={}));var c;(function(N){N[N.Backward=1]="Backward",N[N.Forward=2]="Forward",N[N.Jump=3]="Jump",N[N.Quit=4]="Quit",N[N.Export=5]="Export",N[N.StepChanged=6]="StepChanged",N[N.Save=7]="Save",N[N.BatchUpdateTrackID=8]="BatchUpdateTrackID",N[N.SyncImgList=10001]="SyncImgList"})(c||(c={}));const I="bee",n=`${I}-component`;export{a as EStepType,c as ESubmitType,n as componentCls,I as prefix};
1
+ var N;(function(a){a[a.Check=0]="Check",a[a.ANNOTATION=1]="ANNOTATION",a[a.QUALITY_INSPECTION=2]="QUALITY_INSPECTION",a[a.PRE_ANNOTATION=3]="PRE_ANNOTATION",a[a.MANUAL_CORRECTION=4]="MANUAL_CORRECTION"})(N||(N={}));var c;(function(a){a[a.Backward=1]="Backward",a[a.Forward=2]="Forward",a[a.Jump=3]="Jump",a[a.Quit=4]="Quit",a[a.Export=5]="Export",a[a.StepChanged=6]="StepChanged",a[a.Save=7]="Save",a[a.BatchUpdateTrackID=8]="BatchUpdateTrackID",a[a.SyncImgList=10001]="SyncImgList",a[a.SyncCurrentPageData=10002]="SyncCurrentPageData"})(c||(c={}));const n="bee",r=`${n}-component`;export{N as EStepType,c as ESubmitType,r as componentCls,n as prefix};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/constant/index.tsx"],"sourcesContent":["export enum EStepType {\n Check = 0, // 查看模式\n ANNOTATION = 1, // 正常标注\n QUALITY_INSPECTION, // 标注质检\n PRE_ANNOTATION, // 预标注\n MANUAL_CORRECTION, // 人工修正\n}\n\nexport enum ESubmitType {\n Backward = 1, // 向前翻页\n Forward = 2, // 向后翻页\n Jump = 3, // 分页器的跳页翻页\n Quit = 4, // 左上角后退触发\n Export = 5, // 数据导出时\n StepChanged = 6, // 切换步骤\n Save = 7, // 点击保存\n BatchUpdateTrackID = 8, // 批量更改 TrackID (PointCloud)\n SyncImgList = 10001, // 仅更改数据\n}\n// css 命名前缀\nexport const prefix = 'bee';\nexport const componentCls = `${prefix}-component`;\n"],"names":[],"mappings":"AAAY,IAAA,UAAA;AAAL,CAAA,SAAK,UAAL,EAAA;AACL,EAAA,UAAA,CAAA,UAAA,CAAA,OAAA,CAAA,GAAQ,CAAR,CAAA,GAAA,OAAA,CAAA;AACA,EAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAa,CAAb,CAAA,GAAA,YAAA,CAAA;AACA,EAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAA,CAAA;AACA,EAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAA,CAAA;AACA,EAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAA,CAAA;AAAA,CALU,EAAA,SAAA,KAAA,SAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAQA,IAAA,YAAA;AAAL,CAAA,SAAK,YAAL,EAAA;AACL,EAAA,YAAA,CAAA,YAAA,CAAA,UAAA,CAAA,GAAW,CAAX,CAAA,GAAA,UAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,SAAA,CAAA,GAAU,CAAV,CAAA,GAAA,SAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAO,CAAP,CAAA,GAAA,MAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAO,CAAP,CAAA,GAAA,MAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,QAAA,CAAA,GAAS,CAAT,CAAA,GAAA,QAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,aAAA,CAAA,GAAc,CAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAO,CAAP,CAAA,GAAA,MAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,oBAAA,CAAA,GAAqB,CAArB,CAAA,GAAA,oBAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,aAAA,CAAA,GAAc,KAAd,CAAA,GAAA,aAAA,CAAA;AAAA,CATU,EAAA,WAAA,KAAA,WAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAYL,MAAM,MAAS,GAAA,MAAA;AACf,MAAM,eAAe,CAAG,EAAA,MAAA,CAAA,UAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/constant/index.tsx"],"sourcesContent":["export enum EStepType {\n Check = 0, // 查看模式\n ANNOTATION = 1, // 正常标注\n QUALITY_INSPECTION, // 标注质检\n PRE_ANNOTATION, // 预标注\n MANUAL_CORRECTION, // 人工修正\n}\n\nexport enum ESubmitType {\n Backward = 1, // 向前翻页\n Forward = 2, // 向后翻页\n Jump = 3, // 分页器的跳页翻页\n Quit = 4, // 左上角后退触发\n Export = 5, // 数据导出时\n StepChanged = 6, // 切换步骤\n Save = 7, // 点击保存\n BatchUpdateTrackID = 8, // 批量更改 TrackID (PointCloud)\n SyncImgList = 10001, // 仅更改数据\n SyncCurrentPageData = 10002, // 同步当页数据\n}\n// css 命名前缀\nexport const prefix = 'bee';\nexport const componentCls = `${prefix}-component`;\n"],"names":[],"mappings":"AAAY,IAAA,UAAA;AAAL,CAAA,SAAK,UAAL,EAAA;AACL,EAAA,UAAA,CAAA,UAAA,CAAA,OAAA,CAAA,GAAQ,CAAR,CAAA,GAAA,OAAA,CAAA;AACA,EAAA,UAAA,CAAA,UAAA,CAAA,YAAA,CAAA,GAAa,CAAb,CAAA,GAAA,YAAA,CAAA;AACA,EAAA,UAAA,CAAA,UAAA,CAAA,oBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,oBAAA,CAAA;AACA,EAAA,UAAA,CAAA,UAAA,CAAA,gBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,gBAAA,CAAA;AACA,EAAA,UAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,mBAAA,CAAA;AAAA,CALU,EAAA,SAAA,KAAA,SAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAQA,IAAA,YAAA;AAAL,CAAA,SAAK,YAAL,EAAA;AACL,EAAA,YAAA,CAAA,YAAA,CAAA,UAAA,CAAA,GAAW,CAAX,CAAA,GAAA,UAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,SAAA,CAAA,GAAU,CAAV,CAAA,GAAA,SAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAO,CAAP,CAAA,GAAA,MAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAO,CAAP,CAAA,GAAA,MAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,QAAA,CAAA,GAAS,CAAT,CAAA,GAAA,QAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,aAAA,CAAA,GAAc,CAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,MAAA,CAAA,GAAO,CAAP,CAAA,GAAA,MAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,oBAAA,CAAA,GAAqB,CAArB,CAAA,GAAA,oBAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,aAAA,CAAA,GAAc,KAAd,CAAA,GAAA,aAAA,CAAA;AACA,EAAA,YAAA,CAAA,YAAA,CAAA,qBAAA,CAAA,GAAsB,KAAtB,CAAA,GAAA,qBAAA,CAAA;AAAA,CAVU,EAAA,WAAA,KAAA,WAAA,GAAA,EAAA,CAAA,CAAA,CAAA;AAaL,MAAM,MAAS,GAAA,MAAA;AACf,MAAM,eAAe,CAAG,EAAA,MAAA,CAAA,UAAA;;;;"}
@@ -1 +1 @@
1
- const T={UPDATE_TOOL_INSTANCE:"@@UPDATE_TOOL_INSTANCE",UPDATE_IMG_LIST:"@@UPDATE_IMG_LIST",UPDATE_ANNOTATION_CONFIG:"@@UPDATE_ANNOTATION_CONFIG",LOAD_FILE_DATA:"@@LOAD_FILE_DATA",SUBMIT_FILE_DATA:"@@SUBMIT_FILE_DATA",SET_TASK_CONFIG:"@@SET_TASK_CONFIG",INIT_TOOL:"@@INIT_TOOL",SET_TOOL:"@@SET_TOOL",UPDATE_ON_SUBMIT:"@@UPDATE_ON_SUBMIT",UPDATE_ON_SAVE:"@@UPDATE_ON_SAVE",UPDATE_ON_PAGE_CHANGE:"@@UPDATE_ON_PAGE_CHANGE",UPDATE_ON_STEP_CHANGE:"@@UPDATE_ON_STEP_CHANGE",UPDATE_ROTATE:"@@UPDATE_ROTATE",UPDATE_GET_FILE_DATA:"@@UPDATE_GET_FILE_DATA",UPDATE_PAGE_SIZE:"@@UPDATE_PAGE_SIZE",UPDATE_LOAD_FILE_LIST:"@@UPDATE_LOAD_FILE_LIST",GET_FILE_DATA:"@@GET_FILE_DATA",SET_FILE_DATA:"@@SET_FILE_DATA",COPY_BACKWARD_RESULT:"@@COPY_BACKWARD_RESULT",SET_STEP:"@@SET_STEP",SUBMIT_RESULT:"@@SUBMIT_RESULT",SAVE_RESULT:"@@SAVE_RESULT",SET_BASIC_INDEX:"@@SET_BASIC_INDEX",CALC_STEP_PROGRESS:"@@CALC_STEP_PROGRESS",SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:"@@SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED",SKIP_BEFORE_PAGE_TURNING:"@@SKIP_BEFORE_PAGE_TURNING",UPDATE_BEFORE_ROTATE:"@@UPDATE_BEFORE_ROTATE",SET_LOADING:"@@SET_LOADING",SET_POINT_CLOUD_LOADING:"@@SET_POINT_CLOUD_LOADING",SET_TASK_STEP_LIST:"@@SET_TASK_STEP_LIST",UPDATE_ANNOTATION_VALID:"@@UPDATE_ANNOTATION_VALID",BATCH_UPDATE_TRACK_ID:"@@BATCH_UPDATE_TRACK_ID"},_={UPDATE_IMG_ATTRIBUTE:"@@UPDATE_IMG_ATTRIBUTE",INIT_IMG_ATTRIBUTE:"@@INIT_IMG_ATTRIBUTE"},E={INIT_TOOL_STYLE_CONFIG:"@@INIT_TOOL_STYLE_CONFIG",UPDATE_TOOL_STYLE_CONFIG:"@@UPDATE_TOOL_STYLE_CONFIG"};export{T as ANNOTATION_ACTIONS,_ as IMAGE_ATTRIBUTE_ACTIONS,E as TOOL_STYLE_ACTIONS};
1
+ const T={UPDATE_TOOL_INSTANCE:"@@UPDATE_TOOL_INSTANCE",UPDATE_IMG_LIST:"@@UPDATE_IMG_LIST",UPDATE_ANNOTATION_CONFIG:"@@UPDATE_ANNOTATION_CONFIG",LOAD_FILE_DATA:"@@LOAD_FILE_DATA",SUBMIT_FILE_DATA:"@@SUBMIT_FILE_DATA",SET_TASK_CONFIG:"@@SET_TASK_CONFIG",INIT_TOOL:"@@INIT_TOOL",SET_TOOL:"@@SET_TOOL",UPDATE_ON_SUBMIT:"@@UPDATE_ON_SUBMIT",UPDATE_ON_SAVE:"@@UPDATE_ON_SAVE",UPDATE_ON_PAGE_CHANGE:"@@UPDATE_ON_PAGE_CHANGE",UPDATE_ON_STEP_CHANGE:"@@UPDATE_ON_STEP_CHANGE",UPDATE_ROTATE:"@@UPDATE_ROTATE",UPDATE_GET_FILE_DATA:"@@UPDATE_GET_FILE_DATA",UPDATE_PAGE_SIZE:"@@UPDATE_PAGE_SIZE",UPDATE_LOAD_FILE_LIST:"@@UPDATE_LOAD_FILE_LIST",GET_FILE_DATA:"@@GET_FILE_DATA",SET_FILE_DATA:"@@SET_FILE_DATA",COPY_BACKWARD_RESULT:"@@COPY_BACKWARD_RESULT",SET_STEP:"@@SET_STEP",SUBMIT_RESULT:"@@SUBMIT_RESULT",SAVE_RESULT:"@@SAVE_RESULT",SET_BASIC_INDEX:"@@SET_BASIC_INDEX",CALC_STEP_PROGRESS:"@@CALC_STEP_PROGRESS",SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:"@@SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED",SKIP_BEFORE_PAGE_TURNING:"@@SKIP_BEFORE_PAGE_TURNING",UPDATE_BEFORE_ROTATE:"@@UPDATE_BEFORE_ROTATE",SET_LOADING:"@@SET_LOADING",SET_POINT_CLOUD_LOADING:"@@SET_POINT_CLOUD_LOADING",SET_TASK_STEP_LIST:"@@SET_TASK_STEP_LIST",UPDATE_ANNOTATION_VALID:"@@UPDATE_ANNOTATION_VALID",BATCH_UPDATE_TRACK_ID:"@@BATCH_UPDATE_TRACK_ID",BATCH_UPDATE_RESULT_BY_TRACK_ID:"@@BATCH_UPDATE_RESULT_BY_TRACK_ID"},_={UPDATE_IMG_ATTRIBUTE:"@@UPDATE_IMG_ATTRIBUTE",INIT_IMG_ATTRIBUTE:"@@INIT_IMG_ATTRIBUTE"},E={INIT_TOOL_STYLE_CONFIG:"@@INIT_TOOL_STYLE_CONFIG",UPDATE_TOOL_STYLE_CONFIG:"@@UPDATE_TOOL_STYLE_CONFIG"};export{T as ANNOTATION_ACTIONS,_ as IMAGE_ATTRIBUTE_ACTIONS,E as TOOL_STYLE_ACTIONS};
@@ -1 +1 @@
1
- {"version":3,"file":"Actions.js","sources":["../../src/store/Actions.ts"],"sourcesContent":["export const ANNOTATION_ACTIONS = {\n UPDATE_TOOL_INSTANCE: '@@UPDATE_TOOL_INSTANCE',\n UPDATE_IMG_LIST: '@@UPDATE_IMG_LIST',\n UPDATE_ANNOTATION_CONFIG: '@@UPDATE_ANNOTATION_CONFIG',\n LOAD_FILE_DATA: '@@LOAD_FILE_DATA',\n SUBMIT_FILE_DATA: '@@SUBMIT_FILE_DATA',\n SET_TASK_CONFIG: '@@SET_TASK_CONFIG',\n INIT_TOOL: '@@INIT_TOOL',\n SET_TOOL: '@@SET_TOOL',\n UPDATE_ON_SUBMIT: '@@UPDATE_ON_SUBMIT',\n UPDATE_ON_SAVE: '@@UPDATE_ON_SAVE',\n UPDATE_ON_PAGE_CHANGE: '@@UPDATE_ON_PAGE_CHANGE',\n UPDATE_ON_STEP_CHANGE: '@@UPDATE_ON_STEP_CHANGE',\n UPDATE_ROTATE: '@@UPDATE_ROTATE',\n UPDATE_GET_FILE_DATA: '@@UPDATE_GET_FILE_DATA',\n UPDATE_PAGE_SIZE: '@@UPDATE_PAGE_SIZE',\n UPDATE_LOAD_FILE_LIST: '@@UPDATE_LOAD_FILE_LIST',\n GET_FILE_DATA: '@@GET_FILE_DATA',\n SET_FILE_DATA: '@@SET_FILE_DATA',\n COPY_BACKWARD_RESULT: '@@COPY_BACKWARD_RESULT',\n SET_STEP: '@@SET_STEP',\n SUBMIT_RESULT: '@@SUBMIT_RESULT',\n SAVE_RESULT: '@@SAVE_RESULT',\n SET_BASIC_INDEX: '@@SET_BASIC_INDEX',\n CALC_STEP_PROGRESS: '@@CALC_STEP_PROGRESS',\n SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED: '@@SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED',\n SKIP_BEFORE_PAGE_TURNING: '@@SKIP_BEFORE_PAGE_TURNING',\n UPDATE_BEFORE_ROTATE: '@@UPDATE_BEFORE_ROTATE',\n SET_LOADING: '@@SET_LOADING',\n SET_POINT_CLOUD_LOADING: '@@SET_POINT_CLOUD_LOADING',\n\n SET_TASK_STEP_LIST: '@@SET_TASK_STEP_LIST',\n \n UPDATE_ANNOTATION_VALID: '@@UPDATE_ANNOTATION_VALID',\n\n BATCH_UPDATE_TRACK_ID: '@@BATCH_UPDATE_TRACK_ID',\n};\n\nexport const IMAGE_ATTRIBUTE_ACTIONS = {\n UPDATE_IMG_ATTRIBUTE: '@@UPDATE_IMG_ATTRIBUTE',\n INIT_IMG_ATTRIBUTE: '@@INIT_IMG_ATTRIBUTE',\n};\n\nexport const TOOL_STYLE_ACTIONS = {\n INIT_TOOL_STYLE_CONFIG: '@@INIT_TOOL_STYLE_CONFIG',\n UPDATE_TOOL_STYLE_CONFIG: '@@UPDATE_TOOL_STYLE_CONFIG',\n};\n"],"names":[],"mappings":"AAAO,MAAM,kBAAqB,GAAA;AAAA,EAChC,oBAAsB,EAAA,wBAAA;AAAA,EACtB,eAAiB,EAAA,mBAAA;AAAA,EACjB,wBAA0B,EAAA,4BAAA;AAAA,EAC1B,cAAgB,EAAA,kBAAA;AAAA,EAChB,gBAAkB,EAAA,oBAAA;AAAA,EAClB,eAAiB,EAAA,mBAAA;AAAA,EACjB,SAAW,EAAA,aAAA;AAAA,EACX,QAAU,EAAA,YAAA;AAAA,EACV,gBAAkB,EAAA,oBAAA;AAAA,EAClB,cAAgB,EAAA,kBAAA;AAAA,EAChB,qBAAuB,EAAA,yBAAA;AAAA,EACvB,qBAAuB,EAAA,yBAAA;AAAA,EACvB,aAAe,EAAA,iBAAA;AAAA,EACf,oBAAsB,EAAA,wBAAA;AAAA,EACtB,gBAAkB,EAAA,oBAAA;AAAA,EAClB,qBAAuB,EAAA,yBAAA;AAAA,EACvB,aAAe,EAAA,iBAAA;AAAA,EACf,aAAe,EAAA,iBAAA;AAAA,EACf,oBAAsB,EAAA,wBAAA;AAAA,EACtB,QAAU,EAAA,YAAA;AAAA,EACV,aAAe,EAAA,iBAAA;AAAA,EACf,WAAa,EAAA,eAAA;AAAA,EACb,eAAiB,EAAA,mBAAA;AAAA,EACjB,kBAAoB,EAAA,sBAAA;AAAA,EACpB,qCAAuC,EAAA,yCAAA;AAAA,EACvC,wBAA0B,EAAA,4BAAA;AAAA,EAC1B,oBAAsB,EAAA,wBAAA;AAAA,EACtB,WAAa,EAAA,eAAA;AAAA,EACb,uBAAyB,EAAA,2BAAA;AAAA,EAEzB,kBAAoB,EAAA,sBAAA;AAAA,EAEpB,uBAAyB,EAAA,2BAAA;AAAA,EAEzB,qBAAuB,EAAA,yBAAA;AAAA,EAAA;AAGlB,MAAM,uBAA0B,GAAA;AAAA,EACrC,oBAAsB,EAAA,wBAAA;AAAA,EACtB,kBAAoB,EAAA,sBAAA;AAAA,EAAA;AAGf,MAAM,kBAAqB,GAAA;AAAA,EAChC,sBAAwB,EAAA,0BAAA;AAAA,EACxB,wBAA0B,EAAA,4BAAA;AAAA;;;;"}
1
+ {"version":3,"file":"Actions.js","sources":["../../src/store/Actions.ts"],"sourcesContent":["export const ANNOTATION_ACTIONS = {\n UPDATE_TOOL_INSTANCE: '@@UPDATE_TOOL_INSTANCE',\n UPDATE_IMG_LIST: '@@UPDATE_IMG_LIST',\n UPDATE_ANNOTATION_CONFIG: '@@UPDATE_ANNOTATION_CONFIG',\n LOAD_FILE_DATA: '@@LOAD_FILE_DATA',\n SUBMIT_FILE_DATA: '@@SUBMIT_FILE_DATA',\n SET_TASK_CONFIG: '@@SET_TASK_CONFIG',\n INIT_TOOL: '@@INIT_TOOL',\n SET_TOOL: '@@SET_TOOL',\n UPDATE_ON_SUBMIT: '@@UPDATE_ON_SUBMIT',\n UPDATE_ON_SAVE: '@@UPDATE_ON_SAVE',\n UPDATE_ON_PAGE_CHANGE: '@@UPDATE_ON_PAGE_CHANGE',\n UPDATE_ON_STEP_CHANGE: '@@UPDATE_ON_STEP_CHANGE',\n UPDATE_ROTATE: '@@UPDATE_ROTATE',\n UPDATE_GET_FILE_DATA: '@@UPDATE_GET_FILE_DATA',\n UPDATE_PAGE_SIZE: '@@UPDATE_PAGE_SIZE',\n UPDATE_LOAD_FILE_LIST: '@@UPDATE_LOAD_FILE_LIST',\n GET_FILE_DATA: '@@GET_FILE_DATA',\n SET_FILE_DATA: '@@SET_FILE_DATA',\n COPY_BACKWARD_RESULT: '@@COPY_BACKWARD_RESULT',\n SET_STEP: '@@SET_STEP',\n SUBMIT_RESULT: '@@SUBMIT_RESULT',\n SAVE_RESULT: '@@SAVE_RESULT',\n SET_BASIC_INDEX: '@@SET_BASIC_INDEX',\n CALC_STEP_PROGRESS: '@@CALC_STEP_PROGRESS',\n SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED: '@@SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED',\n SKIP_BEFORE_PAGE_TURNING: '@@SKIP_BEFORE_PAGE_TURNING',\n UPDATE_BEFORE_ROTATE: '@@UPDATE_BEFORE_ROTATE',\n SET_LOADING: '@@SET_LOADING',\n SET_POINT_CLOUD_LOADING: '@@SET_POINT_CLOUD_LOADING',\n\n SET_TASK_STEP_LIST: '@@SET_TASK_STEP_LIST',\n \n UPDATE_ANNOTATION_VALID: '@@UPDATE_ANNOTATION_VALID',\n\n BATCH_UPDATE_TRACK_ID: '@@BATCH_UPDATE_TRACK_ID',\n\n BATCH_UPDATE_RESULT_BY_TRACK_ID: '@@BATCH_UPDATE_RESULT_BY_TRACK_ID'\n};\n\nexport const IMAGE_ATTRIBUTE_ACTIONS = {\n UPDATE_IMG_ATTRIBUTE: '@@UPDATE_IMG_ATTRIBUTE',\n INIT_IMG_ATTRIBUTE: '@@INIT_IMG_ATTRIBUTE',\n};\n\nexport const TOOL_STYLE_ACTIONS = {\n INIT_TOOL_STYLE_CONFIG: '@@INIT_TOOL_STYLE_CONFIG',\n UPDATE_TOOL_STYLE_CONFIG: '@@UPDATE_TOOL_STYLE_CONFIG',\n};\n"],"names":[],"mappings":"AAAO,MAAM,kBAAqB,GAAA;AAAA,EAChC,oBAAsB,EAAA,wBAAA;AAAA,EACtB,eAAiB,EAAA,mBAAA;AAAA,EACjB,wBAA0B,EAAA,4BAAA;AAAA,EAC1B,cAAgB,EAAA,kBAAA;AAAA,EAChB,gBAAkB,EAAA,oBAAA;AAAA,EAClB,eAAiB,EAAA,mBAAA;AAAA,EACjB,SAAW,EAAA,aAAA;AAAA,EACX,QAAU,EAAA,YAAA;AAAA,EACV,gBAAkB,EAAA,oBAAA;AAAA,EAClB,cAAgB,EAAA,kBAAA;AAAA,EAChB,qBAAuB,EAAA,yBAAA;AAAA,EACvB,qBAAuB,EAAA,yBAAA;AAAA,EACvB,aAAe,EAAA,iBAAA;AAAA,EACf,oBAAsB,EAAA,wBAAA;AAAA,EACtB,gBAAkB,EAAA,oBAAA;AAAA,EAClB,qBAAuB,EAAA,yBAAA;AAAA,EACvB,aAAe,EAAA,iBAAA;AAAA,EACf,aAAe,EAAA,iBAAA;AAAA,EACf,oBAAsB,EAAA,wBAAA;AAAA,EACtB,QAAU,EAAA,YAAA;AAAA,EACV,aAAe,EAAA,iBAAA;AAAA,EACf,WAAa,EAAA,eAAA;AAAA,EACb,eAAiB,EAAA,mBAAA;AAAA,EACjB,kBAAoB,EAAA,sBAAA;AAAA,EACpB,qCAAuC,EAAA,yCAAA;AAAA,EACvC,wBAA0B,EAAA,4BAAA;AAAA,EAC1B,oBAAsB,EAAA,wBAAA;AAAA,EACtB,WAAa,EAAA,eAAA;AAAA,EACb,uBAAyB,EAAA,2BAAA;AAAA,EAEzB,kBAAoB,EAAA,sBAAA;AAAA,EAEpB,uBAAyB,EAAA,2BAAA;AAAA,EAEzB,qBAAuB,EAAA,yBAAA;AAAA,EAEvB,+BAAiC,EAAA,mCAAA;AAAA,EAAA;AAG5B,MAAM,uBAA0B,GAAA;AAAA,EACrC,oBAAsB,EAAA,wBAAA;AAAA,EACtB,kBAAoB,EAAA,sBAAA;AAAA,EAAA;AAGf,MAAM,kBAAqB,GAAA;AAAA,EAChC,sBAAwB,EAAA,0BAAA;AAAA,EACxB,wBAA0B,EAAA,4BAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- import{ANNOTATION_ACTIONS as a}from"../Actions.js";import{LoadFileAndFileData as D,getStepConfig as w}from"./reducer.js";import{ESubmitType as f}from"../../constant/index.js";import{EPageTurningOperation as T}from"../../data/enums/AnnotationSize.js";import G from"../../utils/PageOperator.js";import{jsonParser as F}from"../../utils/index.js";var O=(t,n,e)=>new Promise((o,i)=>{var p=s=>{try{l(e.next(s))}catch(r){i(r)}},u=s=>{try{l(e.throw(s))}catch(r){i(r)}},l=s=>s.done?o(s.value):Promise.resolve(s.value).then(p,u);l((e=e.apply(t,n)).next())});const h=(t,n)=>n.map(e=>t(e)),k=t=>t===T.Forward?f.Forward:t===T.Backward?f.Backward:t===T.Jump?f.Jump:f.Forward,b=(t,n)=>{var e,o;const{imgList:i,imgIndex:p}=t,{dataSourceStep:u}=w(t.stepList,t.step);return((o=(e=F(i[p-1].result)[`step_${u}`])==null?void 0:e.result)==null?void 0:o.length)-1||n};function j(t){return{type:a.UPDATE_TOOL_INSTANCE,payload:{toolInstance:t}}}function v({stepList:t}){return{type:a.SET_TASK_STEP_LIST,payload:{stepList:t}}}function N({stepList:t,step:n}){return{type:a.SET_TASK_CONFIG,payload:{stepList:t,step:n}}}function A(t){return{type:a.UPDATE_ON_SUBMIT,payload:{onSubmit:t}}}function I(t){return{type:a.UPDATE_ON_SAVE,payload:{onSave:t}}}function P(t){return{type:a.UPDATE_ON_PAGE_CHANGE,payload:{onPageChange:t}}}function U(t){return{type:a.UPDATE_ON_STEP_CHANGE,payload:{onStepChange:t}}}function m(t){return{type:a.UPDATE_GET_FILE_DATA,payload:{getFileData:t}}}function L(t){return{type:a.UPDATE_PAGE_SIZE,payload:{pageSize:t}}}function g(t){return{type:a.UPDATE_LOAD_FILE_LIST,payload:{loadFileList:t}}}function M(){return{type:a.UPDATE_ROTATE}}function x(t){return{type:a.SKIP_BEFORE_PAGE_TURNING,payload:{skipBeforePageTurning:t}}}function C(t){return{type:a.UPDATE_BEFORE_ROTATE,payload:{beforeRotate:t}}}function K(){return{type:a.COPY_BACKWARD_RESULT}}function H(t,n,e){return{type:a.BATCH_UPDATE_TRACK_ID,payload:{id:t,newID:n,rangeIndex:e}}}function J({onSubmit:t,onSave:n,onPageChange:e,onStepChange:o,getFileData:i,pageSize:p,loadFileList:u,step:l,stepList:s,skipBeforePageTurning:r,beforeRotate:c}){const d=[];return t&&d.push(A(t)),n&&d.push(I(n)),e&&d.push(P(e)),o&&d.push(U(o)),i&&d.push(m(i)),u&&d.push(g(u)),p&&d.push(L(p)),r&&d.push(x(r)),c&&d.push(C(c)),d.push(N({stepList:s,step:l})),d.push({type:a.CALC_STEP_PROGRESS}),d.push({type:a.INIT_TOOL}),S=>h(S,d)}function V({onSubmit:t,onSave:n,onPageChange:e,onStepChange:o,getFileData:i,pageSize:p,loadFileList:u,stepList:l,beforeRotate:s}){const r=[];return t&&r.push(A(t)),n&&r.push(I(n)),e&&r.push(P(e)),o&&r.push(U(o)),i&&r.push(m(i)),u&&r.push(g(u)),p&&r.push(L(p)),s&&r.push(C(s)),r.push(v({stepList:l})),c=>h(c,r)}const W=(t,n)=>{var e;const o=n==null?void 0:n.findIndex(i=>(i==null?void 0:i.step)===t);return(e=n[o+1])==null?void 0:e.step},X=t=>(n,e)=>{const{annotation:o}=e(),{step:i,stepList:p}=o,u=W(i,p);return[n(B(u,t))]},B=(t,n)=>(e,o)=>{var i,p;const{annotation:u}=o();(i=u==null?void 0:u.onStepChange)==null||i.call(u,t);const l=(p=u==null?void 0:u.imgIndex)!=null?p:0;return[e({type:a.SUBMIT_RESULT}),e({type:a.SUBMIT_FILE_DATA,payload:{submitType:f.StepChanged}}),e({type:a.SET_STEP,payload:{toStep:t}}),e({type:a.CALC_STEP_PROGRESS}),e(D(n!=null?n:l,0))]},_=t=>n=>[n({type:a.SUBMIT_RESULT}),n({type:a.SUBMIT_FILE_DATA,payload:{submitType:t}})],q=(t,n,e,o)=>[t(_(e)),t(D(n,o))],z=(t,n)=>[t({type:a.SUBMIT_RESULT}),t({type:a.SET_BASIC_INDEX,payload:{basicIndex:n}})],Y=(t,n)=>{t({type:a.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,payload:{triggerEventAfterIndexChanged:n}})},Z=(t=!1)=>(n,e)=>y(n,e,T.Backward,t),$=(t=!1)=>(n,e)=>y(n,e,T.Forward,t),Q=(t,n=!1)=>(e,o)=>{if(t!==o().imgIndex)return y(e,o,T.Jump,n,t)},R=(t,n,e,o)=>O(void 0,null,function*(){var i;const{loadFileList:p,imgList:u,pageSize:l}=n().annotation,s=Math.floor(e/l);E(t,!0);try{const r=yield p(s,l);if(E(t,!1),!((i=r==null?void 0:r.fileList)==null?void 0:i.length)||!(r==null?void 0:r.total))throw new Error("fileList and total are required");const c=o?new Array(r.total):[...u];return c.splice(s*l,l,...r.fileList),t({type:a.UPDATE_IMG_LIST,payload:{imgList:c}}),!0}catch(r){E(t,!1),console.error(r)}}),y=(t,n,e,o=!1,i)=>O(void 0,null,function*(){var p;const u=n().annotation,{fileIndexChanged:l,fileIndex:s,basicIndexChanged:r,basicIndex:c}=G.getNextPageInfo(e,u,i),d=k(e);if(Y(t,o),l){if(u.loading||!u.imgList[s]&&!(yield R(t,n,s)))return;(p=u.onPageChange)==null||p.call(u,s);const S=d===f.Backward?b(n().annotation,c):c;return q(t,s,d,S)}return r?z(t,c):t(_(d))}),tt=t=>{t(_(f.Save)),t({type:a.SAVE_RESULT})},E=(t,n)=>{t({type:a.SET_LOADING,payload:{loading:n}})},nt=(t,n)=>{t({type:a.SET_LOADING,payload:{loading:n}})};export{H as BatchUpdateTrackID,tt as ChangeSave,K as CopyBackWordResult,y as DispatcherTurning,J as InitTaskData,Z as PageBackward,$ as PageForward,Q as PageJump,E as SetAnnotationLoading,nt as SetPointCloudLoading,N as SetTaskConfig,v as SetTaskStepList,X as ToNextStep,_ as ToSubmitFileData,C as UpdateBeforeRotate,m as UpdateGetFileData,g as UpdateGetFileList,V as UpdateInjectFunc,P as UpdateOnPageChange,I as UpdateOnSave,U as UpdateOnStepChange,A as UpdateOnSubmit,L as UpdatePageSize,B as UpdateProcessingStep,M as UpdateRotate,x as UpdateSkipBeforePageTurning,j as UpdateToolInstance,R as loadImgList};
1
+ import{ANNOTATION_ACTIONS as a}from"../Actions.js";import{LoadFileAndFileData as C,getStepConfig as w}from"./reducer.js";import{ESubmitType as T}from"../../constant/index.js";import{EPageTurningOperation as _}from"../../data/enums/AnnotationSize.js";import G from"../../utils/PageOperator.js";import{jsonParser as F}from"../../utils/index.js";var h=(t,n,e)=>new Promise((o,i)=>{var p=s=>{try{l(e.next(s))}catch(r){i(r)}},u=s=>{try{l(e.throw(s))}catch(r){i(r)}},l=s=>s.done?o(s.value):Promise.resolve(s.value).then(p,u);l((e=e.apply(t,n)).next())});const O=(t,n)=>n.map(e=>t(e)),k=t=>t===_.Forward?T.Forward:t===_.Backward?T.Backward:t===_.Jump?T.Jump:T.Forward,b=(t,n)=>{var e,o;const{imgList:i,imgIndex:p}=t,{dataSourceStep:u}=w(t.stepList,t.step);return((o=(e=F(i[p-1].result)[`step_${u}`])==null?void 0:e.result)==null?void 0:o.length)-1||n};function j(t){return{type:a.UPDATE_TOOL_INSTANCE,payload:{toolInstance:t}}}function v({stepList:t}){return{type:a.SET_TASK_STEP_LIST,payload:{stepList:t}}}function B({stepList:t,step:n}){return{type:a.SET_TASK_CONFIG,payload:{stepList:t,step:n}}}function A(t){return{type:a.UPDATE_ON_SUBMIT,payload:{onSubmit:t}}}function I(t){return{type:a.UPDATE_ON_SAVE,payload:{onSave:t}}}function U(t){return{type:a.UPDATE_ON_PAGE_CHANGE,payload:{onPageChange:t}}}function P(t){return{type:a.UPDATE_ON_STEP_CHANGE,payload:{onStepChange:t}}}function m(t){return{type:a.UPDATE_GET_FILE_DATA,payload:{getFileData:t}}}function L(t){return{type:a.UPDATE_PAGE_SIZE,payload:{pageSize:t}}}function g(t){return{type:a.UPDATE_LOAD_FILE_LIST,payload:{loadFileList:t}}}function M(){return{type:a.UPDATE_ROTATE}}function N(t){return{type:a.SKIP_BEFORE_PAGE_TURNING,payload:{skipBeforePageTurning:t}}}function D(t){return{type:a.UPDATE_BEFORE_ROTATE,payload:{beforeRotate:t}}}function K(){return{type:a.COPY_BACKWARD_RESULT}}function H(t,n,e){return{type:a.BATCH_UPDATE_TRACK_ID,payload:{id:t,newID:n,rangeIndex:e}}}function J(t,n,e){return{type:a.BATCH_UPDATE_RESULT_BY_TRACK_ID,payload:{id:t,newData:n,rangeIndex:e}}}function V({onSubmit:t,onSave:n,onPageChange:e,onStepChange:o,getFileData:i,pageSize:p,loadFileList:u,step:l,stepList:s,skipBeforePageTurning:r,beforeRotate:c}){const d=[];return t&&d.push(A(t)),n&&d.push(I(n)),e&&d.push(U(e)),o&&d.push(P(o)),i&&d.push(m(i)),u&&d.push(g(u)),p&&d.push(L(p)),r&&d.push(N(r)),c&&d.push(D(c)),d.push(B({stepList:s,step:l})),d.push({type:a.CALC_STEP_PROGRESS}),d.push({type:a.INIT_TOOL}),S=>O(S,d)}function W({onSubmit:t,onSave:n,onPageChange:e,onStepChange:o,getFileData:i,pageSize:p,loadFileList:u,stepList:l,beforeRotate:s}){const r=[];return t&&r.push(A(t)),n&&r.push(I(n)),e&&r.push(U(e)),o&&r.push(P(o)),i&&r.push(m(i)),u&&r.push(g(u)),p&&r.push(L(p)),s&&r.push(D(s)),r.push(v({stepList:l})),c=>O(c,r)}const X=(t,n)=>{var e;const o=n==null?void 0:n.findIndex(i=>(i==null?void 0:i.step)===t);return(e=n[o+1])==null?void 0:e.step},Y=t=>(n,e)=>{const{annotation:o}=e(),{step:i,stepList:p}=o,u=X(i,p);return[n(R(u,t))]},R=(t,n)=>(e,o)=>{var i,p;const{annotation:u}=o();(i=u==null?void 0:u.onStepChange)==null||i.call(u,t);const l=(p=u==null?void 0:u.imgIndex)!=null?p:0;return[e({type:a.SUBMIT_RESULT}),e({type:a.SUBMIT_FILE_DATA,payload:{submitType:T.StepChanged}}),e({type:a.SET_STEP,payload:{toStep:t}}),e({type:a.CALC_STEP_PROGRESS}),e(C(n!=null?n:l,0))]},f=t=>n=>[n({type:a.SUBMIT_RESULT}),n({type:a.SUBMIT_FILE_DATA,payload:{submitType:t}})],q=(t,n,e,o)=>[t(f(e)),t(C(n,o))],z=(t,n)=>[t({type:a.SUBMIT_RESULT}),t({type:a.SET_BASIC_INDEX,payload:{basicIndex:n}})],Z=(t,n)=>{t({type:a.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,payload:{triggerEventAfterIndexChanged:n}})},$=(t=!1)=>(n,e)=>y(n,e,_.Backward,t),Q=(t=!1)=>(n,e)=>y(n,e,_.Forward,t),tt=(t,n=!1)=>(e,o)=>{if(t!==o().imgIndex)return y(e,o,_.Jump,n,t)},x=(t,n,e,o)=>h(void 0,null,function*(){var i;const{loadFileList:p,imgList:u,pageSize:l}=n().annotation,s=Math.floor(e/l);E(t,!0);try{const r=yield p(s,l);if(E(t,!1),!((i=r==null?void 0:r.fileList)==null?void 0:i.length)||!(r==null?void 0:r.total))throw new Error("fileList and total are required");const c=o?new Array(r.total):[...u];return c.splice(s*l,l,...r.fileList),t({type:a.UPDATE_IMG_LIST,payload:{imgList:c}}),!0}catch(r){E(t,!1),console.error(r)}}),y=(t,n,e,o=!1,i)=>h(void 0,null,function*(){var p;const u=n().annotation,{fileIndexChanged:l,fileIndex:s,basicIndexChanged:r,basicIndex:c}=G.getNextPageInfo(e,u,i),d=k(e);if(Z(t,o),l){if(u.loading||!u.imgList[s]&&!(yield x(t,n,s)))return;(p=u.onPageChange)==null||p.call(u,s);const S=d===T.Backward?b(n().annotation,c):c;return q(t,s,d,S)}return r?z(t,c):t(f(d))}),nt=t=>{t(f(T.Save)),t({type:a.SAVE_RESULT})},E=(t,n)=>{t({type:a.SET_LOADING,payload:{loading:n}})},et=(t,n)=>{t({type:a.SET_LOADING,payload:{loading:n}})};export{J as BatchUpdateResultByTrackID,H as BatchUpdateTrackID,nt as ChangeSave,K as CopyBackWordResult,y as DispatcherTurning,V as InitTaskData,$ as PageBackward,Q as PageForward,tt as PageJump,E as SetAnnotationLoading,et as SetPointCloudLoading,B as SetTaskConfig,v as SetTaskStepList,Y as ToNextStep,f as ToSubmitFileData,D as UpdateBeforeRotate,m as UpdateGetFileData,g as UpdateGetFileList,W as UpdateInjectFunc,U as UpdateOnPageChange,I as UpdateOnSave,P as UpdateOnStepChange,A as UpdateOnSubmit,L as UpdatePageSize,R as UpdateProcessingStep,M as UpdateRotate,N as UpdateSkipBeforePageTurning,j as UpdateToolInstance,x as loadImgList};
@@ -1 +1 @@
1
- {"version":3,"file":"actionCreators.js","sources":["../../../src/store/annotation/actionCreators.ts"],"sourcesContent":["import { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { IStepInfo } from '@/types/step';\nimport {\n GetFileData,\n LoadFileList,\n IFileItem,\n OnPageChange,\n OnSave,\n OnStepChange,\n OnSubmit,\n} from '@/types/data';\nimport { AnnotationActionTypes, ToolInstance } from './types';\nimport { LoadFileAndFileData, getStepConfig } from './reducer';\nimport { ESubmitType } from '@/constant';\nimport { EPageTurningOperation } from '@/data/enums/AnnotationSize';\nimport PageOperator from '@/utils/PageOperator';\nimport { jsonParser } from '@/utils';\n\nconst dispatchTasks = (dispatch: any, tasks: any[]) => tasks.map((task) => dispatch(task));\n\n/**\n * @param {pageTurningOperation} pageTurningOperation 翻页操作\n * @returns {ESubmitType} 提数据交类型\n */\nconst getSubmitByPageOperation = (pageTurningOperation: EPageTurningOperation) => {\n if (pageTurningOperation === EPageTurningOperation.Forward) {\n return ESubmitType.Forward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Backward) {\n return ESubmitType.Backward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Jump) {\n return ESubmitType.Jump;\n }\n\n return ESubmitType.Forward;\n};\n\nconst getBasicIndex = (annotationStore: any, basicIndex: number) => {\n const { imgList, imgIndex } = annotationStore;\n const { dataSourceStep } = getStepConfig(annotationStore.stepList, annotationStore.step);\n let backwardResult = jsonParser(imgList[imgIndex - 1].result);\n const index = backwardResult[`step_${dataSourceStep}`]?.result?.length - 1;\n return index || basicIndex;\n};\n\nexport function UpdateToolInstance(toolInstance: ToolInstance): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE,\n payload: {\n toolInstance,\n },\n };\n}\n\nexport function UpdateImgList(imgList: IFileItem[]): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList,\n },\n };\n}\n\nexport function UpdateAnnotationConfig(config: string): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG,\n payload: {\n config,\n },\n };\n}\n\nexport function SetTaskStepList({ stepList }: { stepList: IStepInfo[] }): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SET_TASK_STEP_LIST,\n payload: {\n stepList,\n },\n };\n}\n\nexport function SetTaskConfig({\n stepList,\n step,\n}: {\n stepList: IStepInfo[];\n step: number;\n}): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SET_TASK_CONFIG,\n payload: {\n stepList,\n step,\n },\n };\n}\n\nexport function UpdateOnSubmit(onSubmit: OnSubmit): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT,\n payload: {\n onSubmit,\n },\n };\n}\n\nexport function UpdateOnSave(onSave: OnSave): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SAVE,\n payload: {\n onSave,\n },\n };\n}\n\nexport function UpdateOnPageChange(onPageChange: OnPageChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE,\n payload: {\n onPageChange,\n },\n };\n}\n\nexport function UpdateOnStepChange(onStepChange: OnStepChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE,\n payload: {\n onStepChange,\n },\n };\n}\n\nexport function UpdateGetFileData(getFileData: GetFileData): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA,\n payload: {\n getFileData,\n },\n };\n}\n\nexport function UpdatePageSize(pageSize: number): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE,\n payload: {\n pageSize,\n },\n };\n}\n\nexport function UpdateGetFileList(loadFileList: LoadFileList): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST,\n payload: {\n loadFileList,\n },\n };\n}\n\nexport function UpdateRotate(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ROTATE,\n };\n}\n\nexport function UpdateValid(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ANNOTATION_VALID,\n };\n}\n\nexport function UpdateSkipBeforePageTurning(\n skipBeforePageTurning: (pageTurning: Function) => {},\n): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SKIP_BEFORE_PAGE_TURNING,\n payload: {\n skipBeforePageTurning,\n },\n };\n}\n\nexport function UpdateBeforeRotate(beforeRotate: () => {}): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_BEFORE_ROTATE,\n payload: {\n beforeRotate,\n },\n };\n}\n\nexport function CopyBackWordResult(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT,\n };\n}\n\nexport function BatchUpdateTrackID(\n id: number,\n newID: number,\n rangeIndex: [number, number],\n): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.BATCH_UPDATE_TRACK_ID,\n payload: {\n id,\n newID,\n rangeIndex,\n },\n };\n}\n\n/**\n * 初始化任务数据\n * @param param0\n */\nexport function InitTaskData({\n onSubmit,\n onSave,\n onPageChange,\n onStepChange,\n getFileData,\n pageSize,\n loadFileList,\n step,\n stepList,\n skipBeforePageTurning,\n beforeRotate,\n}: any): any {\n const tasks: any[] = [];\n\n if (onSubmit) {\n tasks.push(UpdateOnSubmit(onSubmit));\n }\n if (onSave) {\n tasks.push(UpdateOnSave(onSave));\n }\n if (onPageChange) {\n tasks.push(UpdateOnPageChange(onPageChange));\n }\n\n if (onStepChange) {\n tasks.push(UpdateOnStepChange(onStepChange));\n }\n\n if (getFileData) {\n tasks.push(UpdateGetFileData(getFileData));\n }\n\n if (loadFileList) {\n tasks.push(UpdateGetFileList(loadFileList));\n }\n\n if (pageSize) {\n tasks.push(UpdatePageSize(pageSize));\n }\n\n if (skipBeforePageTurning) {\n tasks.push(UpdateSkipBeforePageTurning(skipBeforePageTurning));\n }\n\n if (beforeRotate) {\n tasks.push(UpdateBeforeRotate(beforeRotate));\n }\n\n tasks.push(SetTaskConfig({ stepList, step }));\n\n tasks.push({\n type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS,\n });\n\n tasks.push({\n type: ANNOTATION_ACTIONS.INIT_TOOL,\n });\n\n return (dispatch: any) => dispatchTasks(dispatch, tasks);\n}\n\n/**\n * 初始化任务数据\n * @param param0\n */\nexport function UpdateInjectFunc({\n onSubmit,\n onSave,\n onPageChange,\n onStepChange,\n getFileData,\n pageSize,\n loadFileList,\n stepList,\n beforeRotate,\n}: any): any {\n const tasks: any[] = [];\n\n if (onSubmit) {\n tasks.push(UpdateOnSubmit(onSubmit));\n }\n if (onSave) {\n tasks.push(UpdateOnSave(onSave));\n }\n if (onPageChange) {\n tasks.push(UpdateOnPageChange(onPageChange));\n }\n\n if (onStepChange) {\n tasks.push(UpdateOnStepChange(onStepChange));\n }\n\n if (getFileData) {\n tasks.push(UpdateGetFileData(getFileData));\n }\n\n if (loadFileList) {\n tasks.push(UpdateGetFileList(loadFileList));\n }\n\n if (pageSize) {\n tasks.push(UpdatePageSize(pageSize));\n }\n\n if (beforeRotate) {\n tasks.push(UpdateBeforeRotate(beforeRotate));\n }\n\n tasks.push(SetTaskStepList({ stepList }));\n\n return (dispatch: any) => dispatchTasks(dispatch, tasks);\n}\n\n/** 获取下一步的step */\nconst getNextStep = (step: number, stepList: any) => {\n const currentStepIndex = stepList?.findIndex((element: any) => element?.step === step);\n return stepList[currentStepIndex + 1]?.step;\n};\n\n/** 切换到下一步 */\nexport const ToNextStep = (pageNumber?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n const { step, stepList } = annotation;\n const nextStep = getNextStep(step, stepList);\n return [dispatch(UpdateProcessingStep(nextStep, pageNumber))];\n};\n\n/**\n * 更新当前操作的步骤\n * @param {number} toStep\n */\nexport const UpdateProcessingStep =\n (toStep: number, index?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n annotation?.onStepChange?.(toStep);\n const imgIndex = annotation?.imgIndex ?? 0;\n return [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({\n type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA,\n payload: { submitType: ESubmitType.StepChanged },\n }),\n // ToSubmitFileData(ESubmitType.StepChanged),\n dispatch({ type: ANNOTATION_ACTIONS.SET_STEP, payload: { toStep } }),\n dispatch({ type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS }),\n // 切换步骤保持图片位置\n dispatch(LoadFileAndFileData(index ?? imgIndex, 0)),\n ];\n };\n\n/**\n * 提交当前的文件数据\n * @param submitType\n */\nexport const ToSubmitFileData = (submitType: ESubmitType) => (dispatch: any) =>\n [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA, payload: { submitType } }),\n ];\n\n/**\n * 提交数据并且切换标注文件\n * @param dispatch\n * @param nextIndex\n * @param submitType\n * @param nextBasicIndex\n */\nconst SubmitAndChangeFileIndex = (\n dispatch: any,\n nextIndex: number,\n submitType: ESubmitType,\n nextBasicIndex?: number,\n) => [\n dispatch(ToSubmitFileData(submitType)),\n dispatch(LoadFileAndFileData(nextIndex, nextBasicIndex)),\n];\n\nconst ChangeBasicIndex = (dispatch: any, nextBasicIndex: number) => [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SET_BASIC_INDEX, payload: { basicIndex: nextBasicIndex } }),\n];\n\nconst ChangeTriggerEventAfterIndexChanged = (\n dispatch: any,\n triggerEventAfterIndexChanged: boolean,\n) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,\n payload: {\n triggerEventAfterIndexChanged,\n },\n });\n};\n\n/** 向前翻页 */\nexport const PageBackward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Backward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/** 向后翻页 */\nexport const PageForward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Forward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/**\n * 跳到指定文件索引\n * @param toIndex\n */\nexport const PageJump =\n (toIndex: number, triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n if (toIndex === getState().imgIndex) {\n return;\n }\n\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Jump,\n triggerEventAfterIndexChanged,\n toIndex,\n );\n };\n\n/**\n * 加载文件列表\n * @param dispatch\n * @param getState\n * @param nextIndex 需要加载的图片index\n * @param isInitial // 是否为初始化加载\n */\nexport const loadImgList = async (\n dispatch: any,\n getState: any,\n nextIndex: number,\n isInitial?: boolean,\n) => {\n const { loadFileList, imgList, pageSize } = getState().annotation;\n const page = Math.floor(nextIndex / pageSize);\n SetAnnotationLoading(dispatch, true);\n try {\n const res: any = await loadFileList(page, pageSize);\n SetAnnotationLoading(dispatch, false);\n if (!res?.fileList?.length || !res?.total) {\n throw new Error('fileList and total are required');\n }\n const newImgList = isInitial ? new Array(res.total) : [...imgList];\n newImgList.splice(page * pageSize, pageSize, ...res.fileList);\n dispatch({\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList: newImgList,\n },\n });\n return true;\n } catch (err) {\n SetAnnotationLoading(dispatch, false);\n console.error(err);\n }\n};\n\n/**\n * 判断翻页还是切换依赖数据\n * @param dispatch\n * @param getState\n * @param pageTurningOperation\n * @param toIndex\n */\nexport const DispatcherTurning = async (\n dispatch: any,\n getState: any,\n pageTurningOperation: EPageTurningOperation,\n triggerEventAfterIndexChanged = false,\n toIndex?: number,\n) => {\n const annotationStore = getState().annotation;\n const { fileIndexChanged, fileIndex, basicIndexChanged, basicIndex } =\n PageOperator.getNextPageInfo(pageTurningOperation, annotationStore, toIndex);\n\n const submitType: ESubmitType = getSubmitByPageOperation(pageTurningOperation);\n\n ChangeTriggerEventAfterIndexChanged(dispatch, triggerEventAfterIndexChanged);\n\n // 翻页\n if (fileIndexChanged) {\n if (annotationStore.loading) {\n return;\n }\n // 加载图片列表\n if (!annotationStore.imgList[fileIndex]) {\n const isSuccess = await loadImgList(dispatch, getState, fileIndex);\n if (!isSuccess) {\n // 加载失败不往下执行\n return;\n }\n }\n\n annotationStore.onPageChange?.(fileIndex);\n const index =\n submitType === ESubmitType.Backward\n ? getBasicIndex(getState().annotation, basicIndex)\n : basicIndex;\n return SubmitAndChangeFileIndex(dispatch, fileIndex, submitType, index);\n }\n\n if (basicIndexChanged) {\n return ChangeBasicIndex(dispatch, basicIndex);\n }\n\n return dispatch(ToSubmitFileData(submitType));\n};\n\n/**\n * 保存当前页数据\n * */\nexport const ChangeSave = (dispatch: Function) => {\n dispatch(ToSubmitFileData(ESubmitType.Save));\n dispatch({ type: ANNOTATION_ACTIONS.SAVE_RESULT });\n};\n\nexport const SetAnnotationLoading = (dispatch: Function, loading: boolean) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_LOADING,\n payload: {\n loading,\n },\n });\n};\n\nexport const SetPointCloudLoading = (dispatch: Function, loading: boolean) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_LOADING,\n payload: {\n loading,\n },\n });\n};\n"],"names":["this"],"mappings":"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"}
1
+ {"version":3,"file":"actionCreators.js","sources":["../../../src/store/annotation/actionCreators.ts"],"sourcesContent":["import { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { IStepInfo } from '@/types/step';\nimport {\n GetFileData,\n LoadFileList,\n IFileItem,\n OnPageChange,\n OnSave,\n OnStepChange,\n OnSubmit,\n} from '@/types/data';\nimport { AnnotationActionTypes, ToolInstance } from './types';\nimport { LoadFileAndFileData, getStepConfig } from './reducer';\nimport { ESubmitType } from '@/constant';\nimport { EPageTurningOperation } from '@/data/enums/AnnotationSize';\nimport PageOperator from '@/utils/PageOperator';\nimport { jsonParser } from '@/utils';\nimport { IPointCloudBox } from '@labelbee/lb-utils';\n\nconst dispatchTasks = (dispatch: any, tasks: any[]) => tasks.map((task) => dispatch(task));\n\n/**\n * @param {pageTurningOperation} pageTurningOperation 翻页操作\n * @returns {ESubmitType} 提数据交类型\n */\nconst getSubmitByPageOperation = (pageTurningOperation: EPageTurningOperation) => {\n if (pageTurningOperation === EPageTurningOperation.Forward) {\n return ESubmitType.Forward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Backward) {\n return ESubmitType.Backward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Jump) {\n return ESubmitType.Jump;\n }\n\n return ESubmitType.Forward;\n};\n\nconst getBasicIndex = (annotationStore: any, basicIndex: number) => {\n const { imgList, imgIndex } = annotationStore;\n const { dataSourceStep } = getStepConfig(annotationStore.stepList, annotationStore.step);\n let backwardResult = jsonParser(imgList[imgIndex - 1].result);\n const index = backwardResult[`step_${dataSourceStep}`]?.result?.length - 1;\n return index || basicIndex;\n};\n\nexport function UpdateToolInstance(toolInstance: ToolInstance): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE,\n payload: {\n toolInstance,\n },\n };\n}\n\nexport function UpdateImgList(imgList: IFileItem[]): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList,\n },\n };\n}\n\nexport function UpdateAnnotationConfig(config: string): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG,\n payload: {\n config,\n },\n };\n}\n\nexport function SetTaskStepList({ stepList }: { stepList: IStepInfo[] }): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SET_TASK_STEP_LIST,\n payload: {\n stepList,\n },\n };\n}\n\nexport function SetTaskConfig({\n stepList,\n step,\n}: {\n stepList: IStepInfo[];\n step: number;\n}): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SET_TASK_CONFIG,\n payload: {\n stepList,\n step,\n },\n };\n}\n\nexport function UpdateOnSubmit(onSubmit: OnSubmit): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT,\n payload: {\n onSubmit,\n },\n };\n}\n\nexport function UpdateOnSave(onSave: OnSave): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SAVE,\n payload: {\n onSave,\n },\n };\n}\n\nexport function UpdateOnPageChange(onPageChange: OnPageChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE,\n payload: {\n onPageChange,\n },\n };\n}\n\nexport function UpdateOnStepChange(onStepChange: OnStepChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE,\n payload: {\n onStepChange,\n },\n };\n}\n\nexport function UpdateGetFileData(getFileData: GetFileData): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA,\n payload: {\n getFileData,\n },\n };\n}\n\nexport function UpdatePageSize(pageSize: number): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE,\n payload: {\n pageSize,\n },\n };\n}\n\nexport function UpdateGetFileList(loadFileList: LoadFileList): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST,\n payload: {\n loadFileList,\n },\n };\n}\n\nexport function UpdateRotate(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ROTATE,\n };\n}\n\nexport function UpdateValid(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ANNOTATION_VALID,\n };\n}\n\nexport function UpdateSkipBeforePageTurning(\n skipBeforePageTurning: (pageTurning: Function) => {},\n): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SKIP_BEFORE_PAGE_TURNING,\n payload: {\n skipBeforePageTurning,\n },\n };\n}\n\nexport function UpdateBeforeRotate(beforeRotate: () => {}): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_BEFORE_ROTATE,\n payload: {\n beforeRotate,\n },\n };\n}\n\nexport function CopyBackWordResult(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT,\n };\n}\n\nexport function BatchUpdateTrackID(\n id: number,\n newID: number,\n rangeIndex: [number, number],\n): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.BATCH_UPDATE_TRACK_ID,\n payload: {\n id,\n newID,\n rangeIndex,\n },\n };\n}\n\n\nexport function BatchUpdateResultByTrackID(\n id: number, // originData\n newData: Partial<IPointCloudBox>,\n rangeIndex: [number, number],\n): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.BATCH_UPDATE_RESULT_BY_TRACK_ID,\n payload: {\n id,\n newData,\n rangeIndex,\n },\n };\n}\n\n/**\n * 初始化任务数据\n * @param param0\n */\nexport function InitTaskData({\n onSubmit,\n onSave,\n onPageChange,\n onStepChange,\n getFileData,\n pageSize,\n loadFileList,\n step,\n stepList,\n skipBeforePageTurning,\n beforeRotate,\n}: any): any {\n const tasks: any[] = [];\n\n if (onSubmit) {\n tasks.push(UpdateOnSubmit(onSubmit));\n }\n if (onSave) {\n tasks.push(UpdateOnSave(onSave));\n }\n if (onPageChange) {\n tasks.push(UpdateOnPageChange(onPageChange));\n }\n\n if (onStepChange) {\n tasks.push(UpdateOnStepChange(onStepChange));\n }\n\n if (getFileData) {\n tasks.push(UpdateGetFileData(getFileData));\n }\n\n if (loadFileList) {\n tasks.push(UpdateGetFileList(loadFileList));\n }\n\n if (pageSize) {\n tasks.push(UpdatePageSize(pageSize));\n }\n\n if (skipBeforePageTurning) {\n tasks.push(UpdateSkipBeforePageTurning(skipBeforePageTurning));\n }\n\n if (beforeRotate) {\n tasks.push(UpdateBeforeRotate(beforeRotate));\n }\n\n tasks.push(SetTaskConfig({ stepList, step }));\n\n tasks.push({\n type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS,\n });\n\n tasks.push({\n type: ANNOTATION_ACTIONS.INIT_TOOL,\n });\n\n return (dispatch: any) => dispatchTasks(dispatch, tasks);\n}\n\n/**\n * 初始化任务数据\n * @param param0\n */\nexport function UpdateInjectFunc({\n onSubmit,\n onSave,\n onPageChange,\n onStepChange,\n getFileData,\n pageSize,\n loadFileList,\n stepList,\n beforeRotate,\n}: any): any {\n const tasks: any[] = [];\n\n if (onSubmit) {\n tasks.push(UpdateOnSubmit(onSubmit));\n }\n if (onSave) {\n tasks.push(UpdateOnSave(onSave));\n }\n if (onPageChange) {\n tasks.push(UpdateOnPageChange(onPageChange));\n }\n\n if (onStepChange) {\n tasks.push(UpdateOnStepChange(onStepChange));\n }\n\n if (getFileData) {\n tasks.push(UpdateGetFileData(getFileData));\n }\n\n if (loadFileList) {\n tasks.push(UpdateGetFileList(loadFileList));\n }\n\n if (pageSize) {\n tasks.push(UpdatePageSize(pageSize));\n }\n\n if (beforeRotate) {\n tasks.push(UpdateBeforeRotate(beforeRotate));\n }\n\n tasks.push(SetTaskStepList({ stepList }));\n\n return (dispatch: any) => dispatchTasks(dispatch, tasks);\n}\n\n/** 获取下一步的step */\nconst getNextStep = (step: number, stepList: any) => {\n const currentStepIndex = stepList?.findIndex((element: any) => element?.step === step);\n return stepList[currentStepIndex + 1]?.step;\n};\n\n/** 切换到下一步 */\nexport const ToNextStep = (pageNumber?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n const { step, stepList } = annotation;\n const nextStep = getNextStep(step, stepList);\n return [dispatch(UpdateProcessingStep(nextStep, pageNumber))];\n};\n\n/**\n * 更新当前操作的步骤\n * @param {number} toStep\n */\nexport const UpdateProcessingStep =\n (toStep: number, index?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n annotation?.onStepChange?.(toStep);\n const imgIndex = annotation?.imgIndex ?? 0;\n return [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({\n type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA,\n payload: { submitType: ESubmitType.StepChanged },\n }),\n // ToSubmitFileData(ESubmitType.StepChanged),\n dispatch({ type: ANNOTATION_ACTIONS.SET_STEP, payload: { toStep } }),\n dispatch({ type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS }),\n // 切换步骤保持图片位置\n dispatch(LoadFileAndFileData(index ?? imgIndex, 0)),\n ];\n };\n\n/**\n * 提交当前的文件数据\n * @param submitType\n */\nexport const ToSubmitFileData = (submitType: ESubmitType) => (dispatch: any) =>\n [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA, payload: { submitType } }),\n ];\n\n/**\n * 提交数据并且切换标注文件\n * @param dispatch\n * @param nextIndex\n * @param submitType\n * @param nextBasicIndex\n */\nconst SubmitAndChangeFileIndex = (\n dispatch: any,\n nextIndex: number,\n submitType: ESubmitType,\n nextBasicIndex?: number,\n) => [\n dispatch(ToSubmitFileData(submitType)),\n dispatch(LoadFileAndFileData(nextIndex, nextBasicIndex)),\n];\n\nconst ChangeBasicIndex = (dispatch: any, nextBasicIndex: number) => [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SET_BASIC_INDEX, payload: { basicIndex: nextBasicIndex } }),\n];\n\nconst ChangeTriggerEventAfterIndexChanged = (\n dispatch: any,\n triggerEventAfterIndexChanged: boolean,\n) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,\n payload: {\n triggerEventAfterIndexChanged,\n },\n });\n};\n\n/** 向前翻页 */\nexport const PageBackward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Backward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/** 向后翻页 */\nexport const PageForward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Forward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/**\n * 跳到指定文件索引\n * @param toIndex\n */\nexport const PageJump =\n (toIndex: number, triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n if (toIndex === getState().imgIndex) {\n return;\n }\n\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Jump,\n triggerEventAfterIndexChanged,\n toIndex,\n );\n };\n\n/**\n * 加载文件列表\n * @param dispatch\n * @param getState\n * @param nextIndex 需要加载的图片index\n * @param isInitial // 是否为初始化加载\n */\nexport const loadImgList = async (\n dispatch: any,\n getState: any,\n nextIndex: number,\n isInitial?: boolean,\n) => {\n const { loadFileList, imgList, pageSize } = getState().annotation;\n const page = Math.floor(nextIndex / pageSize);\n SetAnnotationLoading(dispatch, true);\n try {\n const res: any = await loadFileList(page, pageSize);\n SetAnnotationLoading(dispatch, false);\n if (!res?.fileList?.length || !res?.total) {\n throw new Error('fileList and total are required');\n }\n const newImgList = isInitial ? new Array(res.total) : [...imgList];\n newImgList.splice(page * pageSize, pageSize, ...res.fileList);\n dispatch({\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList: newImgList,\n },\n });\n return true;\n } catch (err) {\n SetAnnotationLoading(dispatch, false);\n console.error(err);\n }\n};\n\n/**\n * 判断翻页还是切换依赖数据\n * @param dispatch\n * @param getState\n * @param pageTurningOperation\n * @param toIndex\n */\nexport const DispatcherTurning = async (\n dispatch: any,\n getState: any,\n pageTurningOperation: EPageTurningOperation,\n triggerEventAfterIndexChanged = false,\n toIndex?: number,\n) => {\n const annotationStore = getState().annotation;\n const { fileIndexChanged, fileIndex, basicIndexChanged, basicIndex } =\n PageOperator.getNextPageInfo(pageTurningOperation, annotationStore, toIndex);\n\n const submitType: ESubmitType = getSubmitByPageOperation(pageTurningOperation);\n\n ChangeTriggerEventAfterIndexChanged(dispatch, triggerEventAfterIndexChanged);\n\n // 翻页\n if (fileIndexChanged) {\n if (annotationStore.loading) {\n return;\n }\n // 加载图片列表\n if (!annotationStore.imgList[fileIndex]) {\n const isSuccess = await loadImgList(dispatch, getState, fileIndex);\n if (!isSuccess) {\n // 加载失败不往下执行\n return;\n }\n }\n\n annotationStore.onPageChange?.(fileIndex);\n const index =\n submitType === ESubmitType.Backward\n ? getBasicIndex(getState().annotation, basicIndex)\n : basicIndex;\n return SubmitAndChangeFileIndex(dispatch, fileIndex, submitType, index);\n }\n\n if (basicIndexChanged) {\n return ChangeBasicIndex(dispatch, basicIndex);\n }\n\n return dispatch(ToSubmitFileData(submitType));\n};\n\n/**\n * 保存当前页数据\n * */\nexport const ChangeSave = (dispatch: Function) => {\n dispatch(ToSubmitFileData(ESubmitType.Save));\n dispatch({ type: ANNOTATION_ACTIONS.SAVE_RESULT });\n};\n\nexport const SetAnnotationLoading = (dispatch: Function, loading: boolean) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_LOADING,\n payload: {\n loading,\n },\n });\n};\n\nexport const SetPointCloudLoading = (dispatch: Function, loading: boolean) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_LOADING,\n payload: {\n loading,\n },\n });\n};\n"],"names":["this"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,aAAA,GAAgB,CAAC,QAAe,EAAA,KAAA,KAAiB,MAAM,GAAI,CAAA,CAAC,SAAS,QAAS,CAAA,IAAA,CAAA,CAAA,CAAA;AAMpF,MAAM,wBAAA,GAA2B,CAAC,oBAAgD,KAAA;AAChF,EAAI,IAAA,oBAAA,KAAyB,sBAAsB,OAAS,EAAA;AAC1D,IAAA,OAAO,WAAY,CAAA,OAAA,CAAA;AAAA,GAAA;AAGrB,EAAI,IAAA,oBAAA,KAAyB,sBAAsB,QAAU,EAAA;AAC3D,IAAA,OAAO,WAAY,CAAA,QAAA,CAAA;AAAA,GAAA;AAGrB,EAAI,IAAA,oBAAA,KAAyB,sBAAsB,IAAM,EAAA;AACvD,IAAA,OAAO,WAAY,CAAA,IAAA,CAAA;AAAA,GAAA;AAGrB,EAAA,OAAO,WAAY,CAAA,OAAA,CAAA;AAAA,CAAA,CAAA;AAGrB,MAAM,aAAA,GAAgB,CAAC,eAAA,EAAsB,UAAuB,KAAA;AAzCpE,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA0CE,EAAM,MAAA,CAAE,SAAS,QAAa,CAAA,GAAA,eAAA,CAAA;AAC9B,EAAA,MAAM,CAAE,cAAA,CAAA,GAAmB,aAAc,CAAA,eAAA,CAAgB,UAAU,eAAgB,CAAA,IAAA,CAAA,CAAA;AACnF,EAAA,IAAI,cAAiB,GAAA,UAAA,CAAW,OAAQ,CAAA,QAAA,GAAW,CAAG,CAAA,CAAA,MAAA,CAAA,CAAA;AACtD,EAAA,MAAM,QAAQ,CAAe,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,cAAA,CAAA,CAAA,KAAA,EAAQ,sBAAvB,IAA0C,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,KAA1C,mBAAkD,MAAS,IAAA,CAAA,CAAA;AACzE,EAAA,OAAO,KAAS,IAAA,UAAA,CAAA;AAAA,CAAA,CAAA;AAGX,SAAA,kBAAA,CAA4B,YAAmD,EAAA;AACpF,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,oBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,YAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAuBC,SAAA,eAAA,CAAyB,CAAE,QAA8D,CAAA,EAAA;AAC9F,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,kBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,QAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKwB,SAAA,aAAA,CAAA;AAAA,EAC5B,QAAA;AAAA,EACA,IAAA;AAAA,CAIwB,EAAA;AACxB,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,eAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,QAAA;AAAA,MACA,IAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKC,SAAA,cAAA,CAAwB,QAA2C,EAAA;AACxE,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,gBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,QAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKC,SAAA,YAAA,CAAsB,MAAuC,EAAA;AAClE,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,cAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,MAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKC,SAAA,kBAAA,CAA4B,YAAmD,EAAA;AACpF,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,qBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,YAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKC,SAAA,kBAAA,CAA4B,YAAmD,EAAA;AACpF,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,qBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,YAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKC,SAAA,iBAAA,CAA2B,WAAiD,EAAA;AACjF,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,oBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,WAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKC,SAAA,cAAA,CAAwB,QAAyC,EAAA;AACtE,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,gBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,QAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKC,SAAA,iBAAA,CAA2B,YAAmD,EAAA;AACnF,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,qBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,YAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKgD,SAAA,YAAA,GAAA;AACpD,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,aAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAUtB,SAAA,2BAAA,CACL,qBACuB,EAAA;AACvB,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,wBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,qBAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKC,SAAA,kBAAA,CAA4B,YAA+C,EAAA;AAChF,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,oBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,YAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAKsD,SAAA,kBAAA,GAAA;AAC1D,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,oBAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAK3B,SAAA,kBAAA,CAAA,EAAA,EACA,OACA,UACuB,EAAA;AACvB,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,qBAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,EAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAOJ,SAAA,0BAAA,CAAA,EAAA,EACA,SACA,UACuB,EAAA;AACvB,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,+BAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,EAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,KAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AASuB,SAAA,YAAA,CAAA;AAAA,EAC3B,QAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,QAAA;AAAA,EACA,qBAAA;AAAA,EACA,YAAA;AAAA,CACW,EAAA;AACX,EAAA,MAAM,KAAe,GAAA,EAAA,CAAA;AAErB,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,KAAA,CAAM,KAAK,cAAe,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAE5B,EAAA,IAAI,MAAQ,EAAA;AACV,IAAA,KAAA,CAAM,KAAK,YAAa,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAE1B,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,KAAA,CAAM,KAAK,kBAAmB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAGhC,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,KAAA,CAAM,KAAK,kBAAmB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAGhC,EAAA,IAAI,WAAa,EAAA;AACf,IAAA,KAAA,CAAM,KAAK,iBAAkB,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAG/B,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,KAAA,CAAM,KAAK,iBAAkB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAG/B,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,KAAA,CAAM,KAAK,cAAe,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAG5B,EAAA,IAAI,qBAAuB,EAAA;AACzB,IAAA,KAAA,CAAM,KAAK,2BAA4B,CAAA,qBAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAGzC,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,KAAA,CAAM,KAAK,kBAAmB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAGhC,EAAM,KAAA,CAAA,IAAA,CAAK,aAAc,CAAA,CAAE,QAAU,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAErC,EAAA,KAAA,CAAM,IAAK,CAAA;AAAA,IACT,MAAM,kBAAmB,CAAA,kBAAA;AAAA,GAAA,CAAA,CAAA;AAG3B,EAAA,KAAA,CAAM,IAAK,CAAA;AAAA,IACT,MAAM,kBAAmB,CAAA,SAAA;AAAA,GAAA,CAAA,CAAA;AAG3B,EAAO,OAAA,CAAC,QAAkB,KAAA,aAAA,CAAc,QAAU,EAAA,KAAA,CAAA,CAAA;AAAA,CAAA;AAOnB,SAAA,gBAAA,CAAA;AAAA,EAC/B,QAAA;AAAA,EACA,MAAA;AAAA,EACA,YAAA;AAAA,EACA,YAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,EACA,QAAA;AAAA,EACA,YAAA;AAAA,CACW,EAAA;AACX,EAAA,MAAM,KAAe,GAAA,EAAA,CAAA;AAErB,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,KAAA,CAAM,KAAK,cAAe,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAE5B,EAAA,IAAI,MAAQ,EAAA;AACV,IAAA,KAAA,CAAM,KAAK,YAAa,CAAA,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAE1B,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,KAAA,CAAM,KAAK,kBAAmB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAGhC,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,KAAA,CAAM,KAAK,kBAAmB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAGhC,EAAA,IAAI,WAAa,EAAA;AACf,IAAA,KAAA,CAAM,KAAK,iBAAkB,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAG/B,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,KAAA,CAAM,KAAK,iBAAkB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAG/B,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,KAAA,CAAM,KAAK,cAAe,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAG5B,EAAA,IAAI,YAAc,EAAA;AAChB,IAAA,KAAA,CAAM,KAAK,kBAAmB,CAAA,YAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAGhC,EAAM,KAAA,CAAA,IAAA,CAAK,gBAAgB,CAAE,QAAA,CAAA,CAAA,CAAA,CAAA;AAE7B,EAAO,OAAA,CAAC,QAAkB,KAAA,aAAA,CAAc,QAAU,EAAA,KAAA,CAAA,CAAA;AAAA,CAAA;AAIpD,MAAM,WAAA,GAAc,CAAC,IAAA,EAAc,QAAkB,KAAA;AAhWrD,EAAA,IAAA,EAAA,CAAA;AAiWE,EAAA,MAAM,mBAAmB,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,SAAA,CAAU,CAAC,OAAA,KAAiB,oCAAS,IAAS,MAAA,IAAA,CAAA,CAAA;AACjF,EAAO,OAAA,CAAA,EAAA,GAAA,QAAA,CAAS,gBAAmB,GAAA,CAAA,CAAA,KAA5B,IAAgC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA;AAAA,CAAA,CAAA;AAIlC,MAAM,UAAa,GAAA,CAAC,UAAwB,KAAA,CAAC,UAAe,QAAkB,KAAA;AACnF,EAAA,MAAM,CAAE,UAAe,CAAA,GAAA,QAAA,EAAA,CAAA;AACvB,EAAM,MAAA,CAAE,MAAM,QAAa,CAAA,GAAA,UAAA,CAAA;AAC3B,EAAM,MAAA,QAAA,GAAW,YAAY,IAAM,EAAA,QAAA,CAAA,CAAA;AACnC,EAAO,OAAA,CAAC,QAAS,CAAA,oBAAA,CAAqB,QAAU,EAAA,UAAA,CAAA,CAAA,CAAA,CAAA;AAAA,EAAA;AAO3C,MAAM,uBACX,CAAC,MAAA,EAAgB,KAAmB,KAAA,CAAC,UAAe,QAAkB,KAAA;AAlXxE,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AAmXI,EAAA,MAAM,CAAE,UAAe,CAAA,GAAA,QAAA,EAAA,CAAA;AACvB,EAAA,CAAA,EAAA,GAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAY,iBAAZ,IAA2B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,UAAA,EAAA,MAAA,CAAA,CAAA;AAC3B,EAAM,MAAA,QAAA,GAAW,CAAY,EAAA,GAAA,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,QAAA,KAAZ,IAAwB,GAAA,EAAA,GAAA,CAAA,CAAA;AACzC,EAAO,OAAA;AAAA,IACL,QAAA,CAAS,CAAE,IAAA,EAAM,kBAAmB,CAAA,aAAA,CAAA,CAAA;AAAA,IACpC,QAAS,CAAA;AAAA,MACP,MAAM,kBAAmB,CAAA,gBAAA;AAAA,MACzB,OAAA,EAAS,CAAE,UAAA,EAAY,WAAY,CAAA,WAAA,CAAA;AAAA,KAAA,CAAA;AAAA,IAGrC,SAAS,CAAE,IAAA,EAAM,kBAAmB,CAAA,QAAA,EAAU,SAAS,CAAE,MAAA,CAAA,CAAA,CAAA;AAAA,IACzD,QAAA,CAAS,CAAE,IAAA,EAAM,kBAAmB,CAAA,kBAAA,CAAA,CAAA;AAAA,IAEpC,QAAA,CAAS,mBAAoB,CAAA,KAAA,IAAA,IAAA,GAAA,KAAA,GAAS,QAAU,EAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAAA,EAAA;AAQ/C,MAAM,gBAAmB,GAAA,CAAC,UAA4B,KAAA,CAAC,QAC5D,KAAA;AAAA,EACE,QAAA,CAAS,CAAE,IAAA,EAAM,kBAAmB,CAAA,aAAA,CAAA,CAAA;AAAA,EACpC,SAAS,CAAE,IAAA,EAAM,kBAAmB,CAAA,gBAAA,EAAkB,SAAS,CAAE,UAAA,CAAA,CAAA,CAAA;AAAA,EAAA;AAUrE,MAAM,wBAA2B,GAAA,CAC/B,QACA,EAAA,SAAA,EACA,YACA,cACG,KAAA;AAAA,EACH,SAAS,gBAAiB,CAAA,UAAA,CAAA,CAAA;AAAA,EAC1B,QAAA,CAAS,oBAAoB,SAAW,EAAA,cAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAG1C,MAAM,gBAAA,GAAmB,CAAC,QAAA,EAAe,cAA2B,KAAA;AAAA,EAClE,QAAA,CAAS,CAAE,IAAA,EAAM,kBAAmB,CAAA,aAAA,CAAA,CAAA;AAAA,EACpC,SAAS,CAAE,IAAA,EAAM,mBAAmB,eAAiB,EAAA,OAAA,EAAS,CAAE,UAAY,EAAA,cAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAG9E,MAAM,mCAAA,GAAsC,CAC1C,QAAA,EACA,6BACG,KAAA;AACH,EAAS,QAAA,CAAA;AAAA,IACP,MAAM,kBAAmB,CAAA,qCAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,6BAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAMC,MAAM,eACX,CAAC,6BAAA,GAAgC,KACjC,KAAA,CAAC,UAAe,QAAkB,KAAA;AAChC,EAAA,OAAO,iBACL,CAAA,QAAA,EACA,QACA,EAAA,qBAAA,CAAsB,QACtB,EAAA,6BAAA,CAAA,CAAA;AAAA,EAAA;AAKC,MAAM,cACX,CAAC,6BAAA,GAAgC,KACjC,KAAA,CAAC,UAAe,QAAkB,KAAA;AAChC,EAAA,OAAO,iBACL,CAAA,QAAA,EACA,QACA,EAAA,qBAAA,CAAsB,OACtB,EAAA,6BAAA,CAAA,CAAA;AAAA,EAAA;AAQC,MAAM,WACX,CAAC,OAAA,EAAiB,gCAAgC,KAClD,KAAA,CAAC,UAAe,QAAkB,KAAA;AAChC,EAAI,IAAA,OAAA,KAAY,WAAW,QAAU,EAAA;AACnC,IAAA,OAAA;AAAA,GAAA;AAGF,EAAA,OAAO,iBACL,CAAA,QAAA,EACA,QACA,EAAA,qBAAA,CAAsB,MACtB,6BACA,EAAA,OAAA,CAAA,CAAA;AAAA,EAAA;AAWC,MAAM,WAAc,GAAA,CACzB,QACA,EAAA,QAAA,EACA,WACA,SACG,KAAA,OAAA,CAAAA,SAAA,EAAA,IAAA,EAAA,aAAA;AAxeL,EAAA,IAAA,EAAA,CAAA;AAyeE,EAAA,MAAM,CAAE,YAAA,EAAc,OAAS,EAAA,QAAA,CAAA,GAAa,QAAW,EAAA,CAAA,UAAA,CAAA;AACvD,EAAM,MAAA,IAAA,GAAO,IAAK,CAAA,KAAA,CAAM,SAAY,GAAA,QAAA,CAAA,CAAA;AACpC,EAAA,oBAAA,CAAqB,QAAU,EAAA,IAAA,CAAA,CAAA;AAC/B,EAAI,IAAA;AACF,IAAM,MAAA,GAAA,GAAW,MAAM,YAAA,CAAa,IAAM,EAAA,QAAA,CAAA,CAAA;AAC1C,IAAA,oBAAA,CAAqB,QAAU,EAAA,KAAA,CAAA,CAAA;AAC/B,IAAA,IAAI,EAAM,CAAA,EAAA,GAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAA,QAAA,KAAL,mBAAe,MAAU,CAAA,IAAA,6BAAM,KAAO,CAAA,EAAA;AACzC,MAAA,MAAM,IAAI,KAAM,CAAA,iCAAA,CAAA,CAAA;AAAA,KAAA;AAElB,IAAA,MAAM,aAAa,SAAY,GAAA,IAAI,MAAM,GAAI,CAAA,KAAA,CAAA,GAAS,CAAC,GAAG,OAAA,CAAA,CAAA;AAC1D,IAAA,UAAA,CAAW,MAAO,CAAA,IAAA,GAAO,QAAU,EAAA,QAAA,EAAU,GAAG,GAAI,CAAA,QAAA,CAAA,CAAA;AACpD,IAAS,QAAA,CAAA;AAAA,MACP,MAAM,kBAAmB,CAAA,eAAA;AAAA,MACzB,OAAS,EAAA;AAAA,QACP,OAAS,EAAA,UAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAGb,IAAO,OAAA,IAAA,CAAA;AAAA,GAAA,CAAA,OACA,GAAP,EAAA;AACA,IAAA,oBAAA,CAAqB,QAAU,EAAA,KAAA,CAAA,CAAA;AAC/B,IAAA,OAAA,CAAQ,KAAM,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA;AAAA,CAAA,EAAA;AAWX,MAAM,oBAAoB,CAC/B,QAAA,EACA,UACA,oBACA,EAAA,6BAAA,GAAgC,OAChC,OACG,KAAA,OAAA,CAAAA,SAAA,EAAA,IAAA,EAAA,aAAA;AA9gBL,EAAA,IAAA,EAAA,CAAA;AA+gBE,EAAA,MAAM,kBAAkB,QAAW,EAAA,CAAA,UAAA,CAAA;AACnC,EAAM,MAAA,CAAE,kBAAkB,SAAW,EAAA,iBAAA,EAAmB,cACtD,YAAa,CAAA,eAAA,CAAgB,sBAAsB,eAAiB,EAAA,OAAA,CAAA,CAAA;AAEtE,EAAA,MAAM,aAA0B,wBAAyB,CAAA,oBAAA,CAAA,CAAA;AAEzD,EAAA,mCAAA,CAAoC,QAAU,EAAA,6BAAA,CAAA,CAAA;AAG9C,EAAA,IAAI,gBAAkB,EAAA;AACpB,IAAA,IAAI,gBAAgB,OAAS,EAAA;AAC3B,MAAA,OAAA;AAAA,KAAA;AAGF,IAAI,IAAA,CAAC,eAAgB,CAAA,OAAA,CAAQ,SAAY,CAAA,EAAA;AACvC,MAAA,MAAM,SAAY,GAAA,MAAM,WAAY,CAAA,QAAA,EAAU,QAAU,EAAA,SAAA,CAAA,CAAA;AACxD,MAAA,IAAI,CAAC,SAAW,EAAA;AAEd,QAAA,OAAA;AAAA,OAAA;AAAA,KAAA;AAIJ,IAAA,CAAA,EAAA,GAAA,eAAA,CAAgB,iBAAhB,IAA+B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,eAAA,EAAA,SAAA,CAAA,CAAA;AAC/B,IAAA,MAAM,QACJ,UAAe,KAAA,WAAA,CAAY,WACvB,aAAc,CAAA,QAAA,EAAA,CAAW,YAAY,UACrC,CAAA,GAAA,UAAA,CAAA;AACN,IAAO,OAAA,wBAAA,CAAyB,QAAU,EAAA,SAAA,EAAW,UAAY,EAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAGnE,EAAA,IAAI,iBAAmB,EAAA;AACrB,IAAA,OAAO,iBAAiB,QAAU,EAAA,UAAA,CAAA,CAAA;AAAA,GAAA;AAGpC,EAAA,OAAO,SAAS,gBAAiB,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,CAAA,EAAA;AAMtB,MAAA,UAAA,GAAa,CAAC,QAAuB,KAAA;AAChD,EAAA,QAAA,CAAS,iBAAiB,WAAY,CAAA,IAAA,CAAA,CAAA,CAAA;AACtC,EAAS,QAAA,CAAA,CAAE,MAAM,kBAAmB,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,EAAA;AAGzB,MAAA,oBAAA,GAAuB,CAAC,QAAA,EAAoB,OAAqB,KAAA;AAC5E,EAAS,QAAA,CAAA;AAAA,IACP,MAAM,kBAAmB,CAAA,WAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,OAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA;AAAA,EAAA;AAKO,MAAA,oBAAA,GAAuB,CAAC,QAAA,EAAoB,OAAqB,KAAA;AAC5E,EAAS,QAAA,CAAA;AAAA,IACP,MAAM,kBAAmB,CAAA,WAAA;AAAA,IACzB,OAAS,EAAA;AAAA,MACP,OAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- import{getFormatSize as pe}from"../../components/customResizeHook/index.js";import{ESubmitType as te}from"../../constant/index.js";import ge from"../../constant/styleString.js";import{ANNOTATION_ACTIONS as r}from"../Actions.js";import{jsonParser as F}from"../../utils/index.js";import j from"../../utils/AnnotationDataUtils.js";import{ConfigUtils as fe}from"../../utils/ConfigUtils.js";import{composeResultWithBasicImgInfo as _e,composeResult as Ie}from"../../utils/data.js";import x from"../../utils/StepUtils.js";import oe from"../../utils/ToolUtils.js";import{MathUtils as me,CommonToolUtils as Te,AnnotationEngine as Ee,ImgUtils as Le}from"@labelbee/lb-annotation";import{PointCloudUtils as ve,i18n as b}from"@labelbee/lb-utils";import{Modal as ne}from"antd";import{message as le}from"antd/es";import Se from"lodash";import{SetAnnotationLoading as B}from"./actionCreators.js";var Ae=Object.defineProperty,De=Object.defineProperties,ye=Object.getOwnPropertyDescriptors,se=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable,ie=(e,t,s)=>t in e?Ae(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,l=(e,t)=>{for(var s in t||(t={}))Pe.call(t,s)&&ie(e,s,t[s]);if(se)for(var s of se(t))Oe.call(t,s)&&ie(e,s,t[s]);return e},a=(e,t)=>De(e,ye(t)),re=(e,t,s)=>new Promise((f,p)=>{var I=_=>{try{L(s.next(_))}catch(O){p(O)}},E=_=>{try{L(s.throw(_))}catch(O){p(O)}},L=_=>_.done?f(_.value):Promise.resolve(_.value).then(I,E);L((s=s.apply(e,t)).next())});const R=(e,t)=>e.find(s=>s.step===t),Ce={annotationEngine:null,toolInstance:null,imgList:[],config:"{}",imgIndex:-1,basicIndex:0,imgPageSize:1,step:1,stepList:[],imgNode:new Image,basicResultList:[],resultList:[],stepProgress:0,loading:!1,triggerEventAfterIndexChanged:!1,pointCloudLoading:!1},Re=e=>{const{imgList:t,imgPageSize:s}=e;return Math.ceil(t.length/s)},ue=(e,t)=>e.reduce((s,f)=>{if(f){const p=f.result;if(F(p)[`step_${t}`])return s+1}return s},0)/e.length,Ne=(e,t)=>{const{step:s,stepList:f}=e,p=x.getCurrentStepInfo(s,f),I=fe.jsonParser(p.config);if(oe.isVideoTool(p==null?void 0:p.tool)||oe.isPointCloudTool(p==null?void 0:p.tool))return;const E=document.getElementById("toolContainer");if(!E)throw"Not exist dom named id-toolContainer";const L=pe({width:window.innerWidth,height:window.innerHeight}),_=new Ee({container:E,toolName:p.tool,size:L,imgNode:t,config:I,style:JSON.parse(ge)});return{toolInstance:_==null?void 0:_.toolInstance,annotationEngine:_}},be=(e,t)=>(s,f)=>re(void 0,null,function*(){const{stepList:p,step:I}=f().annotation,E=x.currentToolIsVideo(I,p),L=x.currentToolIsPointCloud(I,p);if(B(s,!0),yield s(he(e)),E||L){s(Ue(e));return}s(Fe(e,t))}),he=e=>(t,s)=>re(void 0,null,function*(){const{getFileData:f,imgList:p}=s().annotation;if(f){const I=yield f(p[e],e);t({type:r.SET_FILE_DATA,payload:{fileData:I,index:e}})}}),Ue=e=>t=>{B(t,!1),t({type:r.LOAD_FILE_DATA,payload:{nextIndex:e}})},Fe=(e,t)=>(s,f)=>{var p;const{toolInstance:I,imgList:E}=f().annotation,L=(p=E==null?void 0:E[e])==null?void 0:p.url;Le.load(L).then(_=>{B(s,!1),s({type:r.LOAD_FILE_DATA,payload:{imgNode:_,nextIndex:e,nextBasicIndex:t}})}).catch(()=>{B(s,!1),I==null||I.setErrorImg(),s({type:r.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:t}})})},xe=(e=Ce,t)=>{var s,f,p,I,E,L,_,O,G,V,k,z,H,M,K,$,W,X,q,J,Y,Z;switch(t.type){case r.UPDATE_TOOL_INSTANCE:return a(l({},e),{toolInstance:t.payload.toolInstance});case r.UPDATE_IMG_LIST:return a(l({},e),{imgList:t.payload.imgList});case r.CALC_STEP_PROGRESS:{const{imgList:o,step:n}=e,i=ue(o,n);return a(l({},e),{stepProgress:i})}case r.SUBMIT_FILE_DATA:{const{imgList:o,imgIndex:n,step:i,stepList:u,toolInstance:d,onSubmit:c,resultList:m}=e;if(!d||!o[n])return e;const g=((s=o[n])==null?void 0:s.result)||"",[,T,v]=(f=d==null?void 0:d.exportData())!=null?f:[],D=(I=(p=d==null?void 0:d.exportCustomData)==null?void 0:p.call(d))!=null?I:{},S=_e(g,T),y=Ie(S,{step:i,stepList:u},{rect:m},D);if(o[n].result=j.dataCorrection(y,g,i,u),v&&(o[n]=l(l({},o[n]),v)),((E=t.payload)==null?void 0:E.submitType)===te.SyncImgList)return a(l({},e),{imgList:o});c&&c([o[n]],(L=t.payload)==null?void 0:L.submitType,n,o);const P=ue(o,i);return a(l({},e),{stepProgress:P,imgList:o})}case r.SAVE_RESULT:{const{imgList:o,imgIndex:n,onSave:i}=e;return i==null||i(o[n],n,o),l({},e)}case r.SUBMIT_RESULT:{const{imgList:o,basicIndex:n,resultList:i,toolInstance:u,basicResultList:d}=e;if(!u)return e;const[c]=(_=u==null?void 0:u.exportData())!=null?_:[];let m=c;if((d==null?void 0:d.length)>0){const g=(O=d[n])==null?void 0:O.id,T=c.map(v=>a(l({},v),{sourceID:g}));m=Se.cloneDeep(i).filter(v=>v.sourceID!==g),m.push(...T)}return a(l({},e),{resultList:m,imgList:o})}case r.SET_BASIC_INDEX:{const{toolInstance:o,step:n,imgList:i,imgIndex:u,stepList:d,annotationEngine:c,resultList:m,basicResultList:g}=e;if(!o||!c)return e;const T=t.payload.basicIndex,v=(G=g[T])==null?void 0:G.id,D=F((V=i[u])==null?void 0:V.result),S=(m||[]).filter(w=>w.sourceID===v),y=R(d,n),{dataSourceStep:P,tool:h}=y,N=R(d,P);let A=[];return P&&h&&(A=(k=D[`step_${P}`])==null?void 0:k.result,(A==null?void 0:A.length)>0?(c==null||c.setBasicInfo(N.tool,A[T]),c==null||c.launchOperation()):(c==null||c.setBasicInfo(N.tool),c==null||c.forbidOperation(),le.info(b.t("NoDependency")))),o==null||o.setResult(S),o==null||o.history.initRecord(S,!0),a(l({},e),{basicIndex:T})}case r.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:o}=t.payload;return a(l({},e),{triggerEventAfterIndexChanged:!!o})}case r.LOAD_FILE_DATA:{const{imgList:o,step:n,toolInstance:i,annotationEngine:u,stepList:d}=e;if(!i)return a(l({},e),{imgIndex:t.payload.nextIndex});const c=x.getCurrentStepInfo(n,d),{nextIndex:m,imgNode:g,nextBasicIndex:T,imgError:v}=t.payload,D=T!=null?T:0,S=F((z=o[m])==null?void 0:z.result),y=S[`step_${c.step}`],P=!y,h={rotate:(H=S.rotate)!=null?H:0,valid:(M=S.valid)!=null?M:!0};g&&v!==!0?u==null||u.setImgNode(g,h):i==null||i.setValid(h.valid);const N=R(d,c.step),{dataSourceStep:A,tool:w}=N,Q=R(d,A),ee=A&&w,C=($=(K=S[`step_${A}`])==null?void 0:K.result)!=null?$:[],U=j.getInitialResultList(y==null?void 0:y.result,i,N,C,P);if(u==null||u.launchOperation(),ee&&((C==null?void 0:C.length)>0?u==null||u.setBasicInfo(Q.tool,C[D]):(u==null||u.setBasicInfo(Q.tool),u==null||u.forbidOperation(),le.info(b.t("NoDependency")))),c.tool!=="check"){const ae=(X=(W=C[D])==null?void 0:W.id)!=null?X:"",ce=ee?U.filter(de=>Te.isSameSourceID(de.sourceID,ae)):U;i==null||i.history.initRecord(U,!0),i==null||i.setResult(ce)}return a(l({},e),{imgIndex:m,basicIndex:D,basicResultList:C,resultList:U})}case r.UPDATE_ANNOTATION_CONFIG:return a(l({},e),{config:(q=t.payload.config)!=null?q:"{}"});case r.SET_TASK_STEP_LIST:{const{stepList:o}=t.payload;return a(l({},e),{stepList:o})}case r.SET_TASK_CONFIG:{const{stepList:o,step:n}=t.payload;return a(l({},e),{stepList:o,step:n})}case r.INIT_TOOL:{const{imgNode:o}=e,n=Ne(e,o);if(n){const{toolInstance:i,annotationEngine:u}=n;return a(l({},e),{toolInstance:i,annotationEngine:u})}return l({},e)}case r.SET_TOOL:{const o=(J=t.payload)==null?void 0:J.instance;return o?a(l({},e),{toolInstance:o}):l({},e)}case r.UPDATE_ON_SUBMIT:return a(l({},e),{onSubmit:t.payload.onSubmit});case r.UPDATE_ON_SAVE:return a(l({},e),{onSave:t.payload.onSave});case r.UPDATE_ON_PAGE_CHANGE:return a(l({},e),{onPageChange:t.payload.onPageChange});case r.UPDATE_ON_STEP_CHANGE:return a(l({},e),{onStepChange:t.payload.onStepChange});case r.UPDATE_GET_FILE_DATA:return a(l({},e),{getFileData:t.payload.getFileData});case r.UPDATE_PAGE_SIZE:return a(l({},e),{pageSize:t.payload.pageSize});case r.UPDATE_LOAD_FILE_LIST:return a(l({},e),{loadFileList:t.payload.loadFileList});case r.UPDATE_BEFORE_ROTATE:return a(l({},e),{beforeRotate:t.payload.beforeRotate});case r.SKIP_BEFORE_PAGE_TURNING:return a(l({},e),{skipBeforePageTurning:t.payload.skipBeforePageTurning});case r.SET_FILE_DATA:{const{fileData:o,index:n}=t.payload,{imgList:i}=e,u=[...i];return u[n]=l(l({},u[n]),o),a(l({},e),{imgList:u})}case r.UPDATE_ROTATE:{const{toolInstance:o,beforeRotate:n}=e;return n&&n()===!1||o==null||o.updateRotate(),e}case r.UPDATE_ANNOTATION_VALID:{const{toolInstance:o}=e,n=(Y=o==null?void 0:o.valid)!=null?Y:!0;return ne.destroyAll(),ne.confirm({content:b.t(n?"updateValidFromValidToInValid":"updateValidFromInValidToValid"),onOk:()=>{o==null||o.setValid(!n)},okText:b.t("Confirm"),cancelText:b.t("Cancel")}),e}case r.COPY_BACKWARD_RESULT:{const{toolInstance:o,imgIndex:n,imgList:i,step:u}=e;if(!o)return e;if(n===0||n>=i.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const d=i[n-1].result;if(!d)return e;const c=j.copyResultChange(d,u,(Z=i[n].result)!=null?Z:"");i[n]=a(l({},i[n]),{result:c});const g=F(c)[`step_${u}`],T=(g==null?void 0:g.result)||[];return o==null||o.setResult(T),o==null||o.history.pushHistory(T),a(l({},e),{imgList:[...i]})}case r.SET_STEP:{const{stepList:o,annotationEngine:n}=e,{toStep:i}=t.payload;if(!n)return e;const u=R(o,i);return n==null||n.setToolName(u.tool,u.config),a(l({},e),{step:i,toolInstance:n==null?void 0:n.toolInstance})}case r.SET_LOADING:{const{loading:o}=t.payload;return a(l({},e),{loading:!!o})}case r.SET_POINT_CLOUD_LOADING:{const{pointCloudLoading:o}=t.payload;return a(l({},e),{pointCloudLoading:!!o})}case r.BATCH_UPDATE_TRACK_ID:{const{id:o,newID:n,rangeIndex:i}=t.payload,{imgList:u,imgIndex:d,onSubmit:c}=e,m=u.map((g,T)=>me.isInRange(T,i)?a(l({},g),{result:ve.batchUpdateTrackID({id:o,newID:n,result:g.result})}):g);return c&&c([m[d]],te.BatchUpdateTrackID,d,m),a(l({},e),{imgList:m})}default:return e}};export{be as LoadFileAndFileData,xe as annotationReducer,R as getStepConfig,Re as getTotalPage};
1
+ import{getFormatSize as _e}from"../../components/customResizeHook/index.js";import{ESubmitType as j}from"../../constant/index.js";import fe from"../../constant/styleString.js";import{ANNOTATION_ACTIONS as r}from"../Actions.js";import{jsonParser as B}from"../../utils/index.js";import G from"../../utils/AnnotationDataUtils.js";import{ConfigUtils as Ie}from"../../utils/ConfigUtils.js";import{composeResultWithBasicImgInfo as me,composeResult as Te}from"../../utils/data.js";import x from"../../utils/StepUtils.js";import ne from"../../utils/ToolUtils.js";import{MathUtils as oe,CommonToolUtils as Le,AnnotationEngine as Ee,ImgUtils as Ae}from"@labelbee/lb-annotation";import{PointCloudUtils as le,i18n as h}from"@labelbee/lb-utils";import{Modal as se}from"antd";import{message as ie}from"antd/es";import Se from"lodash";import{SetAnnotationLoading as w}from"./actionCreators.js";var ve=Object.defineProperty,De=Object.defineProperties,ye=Object.getOwnPropertyDescriptors,re=Object.getOwnPropertySymbols,Pe=Object.prototype.hasOwnProperty,Oe=Object.prototype.propertyIsEnumerable,ae=(e,t,s)=>t in e?ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,l=(e,t)=>{for(var s in t||(t={}))Pe.call(t,s)&&ae(e,s,t[s]);if(re)for(var s of re(t))Oe.call(t,s)&&ae(e,s,t[s]);return e},u=(e,t)=>De(e,ye(t)),ue=(e,t,s)=>new Promise((I,p)=>{var T=m=>{try{E(s.next(m))}catch(O){p(O)}},L=m=>{try{E(s.throw(m))}catch(O){p(O)}},E=m=>m.done?I(m.value):Promise.resolve(m.value).then(T,L);E((s=s.apply(e,t)).next())});const C=(e,t)=>e.find(s=>s.step===t),Re={annotationEngine:null,toolInstance:null,imgList:[],config:"{}",imgIndex:-1,basicIndex:0,imgPageSize:1,step:1,stepList:[],imgNode:new Image,basicResultList:[],resultList:[],stepProgress:0,loading:!1,triggerEventAfterIndexChanged:!1,pointCloudLoading:!1},Ce=e=>{const{imgList:t,imgPageSize:s}=e;return Math.ceil(t.length/s)},ce=(e,t)=>e.reduce((s,I)=>{if(I){const p=I.result;if(B(p)[`step_${t}`])return s+1}return s},0)/e.length,be=(e,t)=>{const{step:s,stepList:I}=e,p=x.getCurrentStepInfo(s,I),T=Ie.jsonParser(p.config);if(ne.isVideoTool(p==null?void 0:p.tool)||ne.isPointCloudTool(p==null?void 0:p.tool))return;const L=document.getElementById("toolContainer");if(!L)throw"Not exist dom named id-toolContainer";const E=_e({width:window.innerWidth,height:window.innerHeight}),m=new Ee({container:L,toolName:p.tool,size:E,imgNode:t,config:T,style:JSON.parse(fe)});return{toolInstance:m==null?void 0:m.toolInstance,annotationEngine:m}},he=(e,t)=>(s,I)=>ue(void 0,null,function*(){const{stepList:p,step:T}=I().annotation,L=x.currentToolIsVideo(T,p),E=x.currentToolIsPointCloud(T,p);if(w(s,!0),yield s(Ne(e)),L||E){s(Ue(e));return}s(Be(e,t))}),Ne=e=>(t,s)=>ue(void 0,null,function*(){const{getFileData:I,imgList:p}=s().annotation;if(I){const T=yield I(p[e],e);t({type:r.SET_FILE_DATA,payload:{fileData:T,index:e}})}}),Ue=e=>t=>{w(t,!1),t({type:r.LOAD_FILE_DATA,payload:{nextIndex:e}})},Be=(e,t)=>(s,I)=>{var p;const{toolInstance:T,imgList:L}=I().annotation,E=(p=L==null?void 0:L[e])==null?void 0:p.url;Ae.load(E).then(m=>{w(s,!1),s({type:r.LOAD_FILE_DATA,payload:{imgNode:m,nextIndex:e,nextBasicIndex:t}})}).catch(()=>{w(s,!1),T==null||T.setErrorImg(),s({type:r.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:t}})})},xe=(e=Re,t)=>{var s,I,p,T,L,E,m,O,V,k,z,H,M,K,$,W,X,Y,q,J,Z,Q;switch(t.type){case r.UPDATE_TOOL_INSTANCE:return u(l({},e),{toolInstance:t.payload.toolInstance});case r.UPDATE_IMG_LIST:return u(l({},e),{imgList:t.payload.imgList});case r.CALC_STEP_PROGRESS:{const{imgList:n,step:o}=e,i=ce(n,o);return u(l({},e),{stepProgress:i})}case r.SUBMIT_FILE_DATA:{const{imgList:n,imgIndex:o,step:i,stepList:a,toolInstance:d,onSubmit:c,resultList:_}=e;if(!d||!n[o])return e;const g=((s=n[o])==null?void 0:s.result)||"",[,f,A]=(I=d==null?void 0:d.exportData())!=null?I:[],D=(T=(p=d==null?void 0:d.exportCustomData)==null?void 0:p.call(d))!=null?T:{},S=me(g,f),y=Te(S,{step:i,stepList:a},{rect:_},D);if(n[o].result=G.dataCorrection(y,g,i,a),A&&(n[o]=l(l({},n[o]),A)),((L=t.payload)==null?void 0:L.submitType)===j.SyncImgList)return u(l({},e),{imgList:n});c&&c([n[o]],(E=t.payload)==null?void 0:E.submitType,o,n);const P=ce(n,i);return u(l({},e),{stepProgress:P,imgList:n})}case r.SAVE_RESULT:{const{imgList:n,imgIndex:o,onSave:i}=e;return i==null||i(n[o],o,n),l({},e)}case r.SUBMIT_RESULT:{const{imgList:n,basicIndex:o,resultList:i,toolInstance:a,basicResultList:d}=e;if(!a)return e;const[c]=(m=a==null?void 0:a.exportData())!=null?m:[];let _=c;if((d==null?void 0:d.length)>0){const g=(O=d[o])==null?void 0:O.id,f=c.map(A=>u(l({},A),{sourceID:g}));_=Se.cloneDeep(i).filter(A=>A.sourceID!==g),_.push(...f)}return u(l({},e),{resultList:_,imgList:n})}case r.SET_BASIC_INDEX:{const{toolInstance:n,step:o,imgList:i,imgIndex:a,stepList:d,annotationEngine:c,resultList:_,basicResultList:g}=e;if(!n||!c)return e;const f=t.payload.basicIndex,A=(V=g[f])==null?void 0:V.id,D=B((k=i[a])==null?void 0:k.result),S=(_||[]).filter(F=>F.sourceID===A),y=C(d,o),{dataSourceStep:P,tool:N}=y,b=C(d,P);let v=[];return P&&N&&(v=(z=D[`step_${P}`])==null?void 0:z.result,(v==null?void 0:v.length)>0?(c==null||c.setBasicInfo(b.tool,v[f]),c==null||c.launchOperation()):(c==null||c.setBasicInfo(b.tool),c==null||c.forbidOperation(),ie.info(h.t("NoDependency")))),n==null||n.setResult(S),n==null||n.history.initRecord(S,!0),u(l({},e),{basicIndex:f})}case r.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:n}=t.payload;return u(l({},e),{triggerEventAfterIndexChanged:!!n})}case r.LOAD_FILE_DATA:{const{imgList:n,step:o,toolInstance:i,annotationEngine:a,stepList:d}=e;if(!i)return u(l({},e),{imgIndex:t.payload.nextIndex});const c=x.getCurrentStepInfo(o,d),{nextIndex:_,imgNode:g,nextBasicIndex:f,imgError:A}=t.payload,D=f!=null?f:0,S=B((H=n[_])==null?void 0:H.result),y=S[`step_${c.step}`],P=!y,N={rotate:(M=S.rotate)!=null?M:0,valid:(K=S.valid)!=null?K:!0};g&&A!==!0?a==null||a.setImgNode(g,N):i==null||i.setValid(N.valid);const b=C(d,c.step),{dataSourceStep:v,tool:F}=b,ee=C(d,v),te=v&&F,R=(W=($=S[`step_${v}`])==null?void 0:$.result)!=null?W:[],U=G.getInitialResultList(y==null?void 0:y.result,i,b,R,P);if(a==null||a.launchOperation(),te&&((R==null?void 0:R.length)>0?a==null||a.setBasicInfo(ee.tool,R[D]):(a==null||a.setBasicInfo(ee.tool),a==null||a.forbidOperation(),ie.info(h.t("NoDependency")))),c.tool!=="check"){const de=(Y=(X=R[D])==null?void 0:X.id)!=null?Y:"",pe=te?U.filter(ge=>Le.isSameSourceID(ge.sourceID,de)):U;i==null||i.history.initRecord(U,!0),i==null||i.setResult(pe)}return u(l({},e),{imgIndex:_,basicIndex:D,basicResultList:R,resultList:U})}case r.UPDATE_ANNOTATION_CONFIG:return u(l({},e),{config:(q=t.payload.config)!=null?q:"{}"});case r.SET_TASK_STEP_LIST:{const{stepList:n}=t.payload;return u(l({},e),{stepList:n})}case r.SET_TASK_CONFIG:{const{stepList:n,step:o}=t.payload;return u(l({},e),{stepList:n,step:o})}case r.INIT_TOOL:{const{imgNode:n}=e,o=be(e,n);if(o){const{toolInstance:i,annotationEngine:a}=o;return u(l({},e),{toolInstance:i,annotationEngine:a})}return l({},e)}case r.SET_TOOL:{const n=(J=t.payload)==null?void 0:J.instance;return n?u(l({},e),{toolInstance:n}):l({},e)}case r.UPDATE_ON_SUBMIT:return u(l({},e),{onSubmit:t.payload.onSubmit});case r.UPDATE_ON_SAVE:return u(l({},e),{onSave:t.payload.onSave});case r.UPDATE_ON_PAGE_CHANGE:return u(l({},e),{onPageChange:t.payload.onPageChange});case r.UPDATE_ON_STEP_CHANGE:return u(l({},e),{onStepChange:t.payload.onStepChange});case r.UPDATE_GET_FILE_DATA:return u(l({},e),{getFileData:t.payload.getFileData});case r.UPDATE_PAGE_SIZE:return u(l({},e),{pageSize:t.payload.pageSize});case r.UPDATE_LOAD_FILE_LIST:return u(l({},e),{loadFileList:t.payload.loadFileList});case r.UPDATE_BEFORE_ROTATE:return u(l({},e),{beforeRotate:t.payload.beforeRotate});case r.SKIP_BEFORE_PAGE_TURNING:return u(l({},e),{skipBeforePageTurning:t.payload.skipBeforePageTurning});case r.SET_FILE_DATA:{const{fileData:n,index:o}=t.payload,{imgList:i}=e,a=[...i];return a[o]=l(l({},a[o]),n),u(l({},e),{imgList:a})}case r.UPDATE_ROTATE:{const{toolInstance:n,beforeRotate:o}=e;return o&&o()===!1||n==null||n.updateRotate(),e}case r.UPDATE_ANNOTATION_VALID:{const{toolInstance:n}=e,o=(Z=n==null?void 0:n.valid)!=null?Z:!0;return se.destroyAll(),se.confirm({content:h.t(o?"updateValidFromValidToInValid":"updateValidFromInValidToValid"),onOk:()=>{n==null||n.setValid(!o)},okText:h.t("Confirm"),cancelText:h.t("Cancel")}),e}case r.COPY_BACKWARD_RESULT:{const{toolInstance:n,imgIndex:o,imgList:i,step:a}=e;if(!n)return e;if(o===0||o>=i.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const d=i[o-1].result;if(!d)return e;const c=G.copyResultChange(d,a,(Q=i[o].result)!=null?Q:"");i[o]=u(l({},i[o]),{result:c});const g=B(c)[`step_${a}`],f=(g==null?void 0:g.result)||[];return n==null||n.setResult(f),n==null||n.history.pushHistory(f),u(l({},e),{imgList:[...i]})}case r.SET_STEP:{const{stepList:n,annotationEngine:o}=e,{toStep:i}=t.payload;if(!o)return e;const a=C(n,i);return o==null||o.setToolName(a.tool,a.config),u(l({},e),{step:i,toolInstance:o==null?void 0:o.toolInstance})}case r.SET_LOADING:{const{loading:n}=t.payload;return u(l({},e),{loading:!!n})}case r.SET_POINT_CLOUD_LOADING:{const{pointCloudLoading:n}=t.payload;return u(l({},e),{pointCloudLoading:!!n})}case r.BATCH_UPDATE_TRACK_ID:{const{id:n,newID:o,rangeIndex:i}=t.payload,{imgList:a,imgIndex:d,onSubmit:c}=e,_=a.map((g,f)=>oe.isInRange(f,i)?u(l({},g),{result:le.batchUpdateTrackID({id:n,newID:o,result:g.result})}):g);return c&&c([_[d]],j.BatchUpdateTrackID,d,_),u(l({},e),{imgList:_})}case r.BATCH_UPDATE_RESULT_BY_TRACK_ID:{const{id:n,newData:o,rangeIndex:i}=t.payload,{imgList:a,imgIndex:d,onSubmit:c}=e,_=a.map((g,f)=>oe.isInRange(f,i)?u(l({},g),{result:le.batchUpdateResultByTrackID({id:n,newData:o,result:g.result})}):g);return c&&c([_[d]],j.BatchUpdateTrackID,d,_),u(l({},e),{imgList:_})}default:return e}};export{he as LoadFileAndFileData,xe as annotationReducer,C as getStepConfig,Ce as getTotalPage};