@labelbee/lb-components 1.2.3 → 1.3.0
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.
- package/dist/App.js +1 -1
- package/dist/index.css +812 -651
- package/dist/index.css.map +1 -0
- package/dist/index.js +1 -1
- package/dist/store/annotation/reducer.js +1 -1
- package/dist/types/App.d.ts +23 -7
- package/dist/types/components/annotationStepPopover/index.d.ts +0 -1
- package/dist/types/components/checkboxList/index.d.ts +0 -1
- package/dist/types/components/colorTag/index.d.ts +0 -1
- package/dist/types/index.d.ts +4 -3
- package/dist/types/store/annotation/reducer.d.ts +1 -1
- package/dist/types/views/MainView/annotationOperation/index.d.ts +5 -9
- package/dist/types/views/MainView/index.d.ts +1 -1
- package/dist/types/views/MainView/sidebar/AnnotationText/index.d.ts +3 -1
- package/dist/types/views/MainView/sidebar/ClearIcon/index.d.ts +0 -1
- package/dist/types/views/MainView/sidebar/GeneralOperation/index.d.ts +3 -1
- package/dist/types/views/MainView/sidebar/ImgAttributeInfo/index.d.ts +0 -1
- package/dist/types/views/MainView/sidebar/SwitchAttributeList/index.d.ts +3 -1
- package/dist/types/views/MainView/sidebar/TagSidebar/index.d.ts +3 -1
- package/dist/types/views/MainView/sidebar/TextAreaFormat/index.d.ts +0 -1
- package/dist/types/views/MainView/sidebar/TextToolSidebar/index.d.ts +3 -1
- package/dist/types/views/MainView/sidebar/ToolStyle/index.d.ts +0 -1
- package/dist/types/views/MainView/sidebar/index.d.ts +3 -1
- package/dist/types/views/MainView/toolFooter/HiddenTips/index.d.ts +0 -1
- package/dist/types/views/MainView/toolFooter/PageNumber/index.d.ts +0 -1
- package/dist/types/views/MainView/toolFooter/ZoomController/ZoomLevel/index.d.ts +3 -1
- package/dist/types/views/MainView/toolFooter/ZoomController/index.d.ts +3 -1
- package/dist/types/views/MainView/toolFooter/index.d.ts +6 -2
- package/dist/types/views/MainView/toolHeader/ExportData/index.d.ts +3 -1
- package/dist/types/views/MainView/toolHeader/StepSwitch/index.d.ts +3 -1
- package/dist/types/views/MainView/toolHeader/index.d.ts +8 -4
- package/dist/utils/index.js +1 -1
- package/dist/views/MainView/annotationOperation/index.js +1 -1
- package/dist/views/MainView/index.js +1 -1
- package/dist/views/MainView/sidebar/index.js +1 -1
- package/dist/views/MainView/toolFooter/index.js +1 -1
- package/dist/views/MainView/toolHeader/index.js +1 -1
- package/es/App.js +1 -1
- package/es/App.js.map +1 -1
- package/es/assets/annotation/polygonTool/icon_rectangle_a.svg.js +1 -0
- package/es/assets/annotation/polygonTool/icon_rectangle_a.svg.js.map +1 -0
- package/es/components/AnnotationView/index.js.map +1 -1
- package/es/components/ImageError/index.js.map +1 -1
- package/es/components/annotationStepPopover/index.js.map +1 -1
- package/es/components/attributeList/index.js.map +1 -1
- package/es/components/checkboxList/index.js.map +1 -1
- package/es/components/colorTag/index.js.map +1 -1
- package/es/components/customAntd/IconWithText/index.js.map +1 -1
- package/es/components/customResizeHook/index.js.map +1 -1
- package/es/configureStore.js.map +1 -1
- package/es/constant/index.js.map +1 -1
- package/es/constant/styleString.js.map +1 -1
- package/es/data/Style.js.map +1 -1
- package/es/data/enums/AnnotationSize.js.map +1 -1
- package/es/data/enums/ToolType.js.map +1 -1
- package/es/hooks/useRafState.js.map +1 -1
- package/es/hooks/useSafeSate.js.map +1 -1
- package/es/hooks/useSize.js.map +1 -1
- package/es/hooks/useUnmountedRef.js.map +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/store/Actions.js.map +1 -1
- package/es/store/annotation/actionCreators.js.map +1 -1
- package/es/store/annotation/reducer.js +1 -1
- package/es/store/annotation/reducer.js.map +1 -1
- package/es/store/imgAttribute/actionCreators.js.map +1 -1
- package/es/store/imgAttribute/reducer.js.map +1 -1
- package/es/store/index.js.map +1 -1
- package/es/store/toolStyle/actionCreators.js.map +1 -1
- package/es/store/toolStyle/reducer.js.map +1 -1
- package/es/utils/AnnotationDataUtils.js.map +1 -1
- package/es/utils/ConfigUtils.js.map +1 -1
- package/es/utils/PageOperator.js.map +1 -1
- package/es/utils/StepUtils.js.map +1 -1
- package/es/utils/TextUtils.js.map +1 -1
- package/es/utils/ToolStyleUtils.js.map +1 -1
- package/es/utils/data.js.map +1 -1
- package/es/utils/dom.js.map +1 -1
- package/es/utils/index.js +1 -1
- package/es/utils/index.js.map +1 -1
- package/es/views/MainView/annotationOperation/index.js +1 -1
- package/es/views/MainView/annotationOperation/index.js.map +1 -1
- package/es/views/MainView/index.js +1 -1
- package/es/views/MainView/index.js.map +1 -1
- package/es/views/MainView/sidebar/AnnotationText/index.js.map +1 -1
- package/es/views/MainView/sidebar/ClearIcon/index.js.map +1 -1
- package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -1
- package/es/views/MainView/sidebar/ImgAttributeInfo/index.js.map +1 -1
- package/es/views/MainView/sidebar/SwitchAttributeList/index.js.map +1 -1
- package/es/views/MainView/sidebar/TagSidebar/index.js.map +1 -1
- package/es/views/MainView/sidebar/TextAreaFormat/index.js.map +1 -1
- package/es/views/MainView/sidebar/TextToolSidebar/index.js.map +1 -1
- package/es/views/MainView/sidebar/ToolStyle/index.js.map +1 -1
- package/es/views/MainView/sidebar/index.js +1 -1
- package/es/views/MainView/sidebar/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/index.js.map +1 -1
- package/es/views/MainView/toolFooter/HiddenTips/index.js.map +1 -1
- package/es/views/MainView/toolFooter/PageNumber/index.js.map +1 -1
- package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +1 -1
- package/es/views/MainView/toolFooter/ZoomController/index.js.map +1 -1
- package/es/views/MainView/toolFooter/index.js +1 -1
- package/es/views/MainView/toolFooter/index.js.map +1 -1
- package/es/views/MainView/toolHeader/ExportData/index.js.map +1 -1
- package/es/views/MainView/toolHeader/StepSwitch/index.js.map +1 -1
- package/es/views/MainView/toolHeader/headerOption/index.js.map +1 -1
- package/es/views/MainView/toolHeader/index.js +1 -1
- package/es/views/MainView/toolHeader/index.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sources":["../../../src/store/annotation/reducer.ts"],"sourcesContent":["import { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport _ from 'lodash';\nimport { composeResultWithBasicImgInfo, composeResult } from '@/utils/data';\nimport { jsonParser } from '@/utils';\nimport StepUtils from '@/utils/StepUtils';\nimport AnnotationDataUtils from '@/utils/AnnotationDataUtils';\nimport { ConfigUtils } from '@/utils/ConfigUtils';\nimport styleString from '@/constant/styleString';\nimport { getFormatSize } from '@/components/customResizeHook';\nimport { AnnotationEngine, CommonToolUtils, ImgUtils } from '@labelbee/lb-annotation';\nimport { AnnotationState, AnnotationActionTypes } from './types';\nimport { message } from 'antd/es';\nimport { SetAnnotationLoading } from './actionCreators';\n\nexport const getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n\nconst initialState: AnnotationState = {\n annotationEngine: null,\n toolInstance: null,\n imgList: [],\n config: '{}',\n imgIndex: -1,\n basicIndex: 0,\n imgPageSize: 1,\n step: 1,\n stepList: [],\n imgNode: new Image(),\n basicResultList: [],\n resultList: [],\n stepProgress: 0,\n loading: false,\n triggerEventAfterIndexChanged: false,\n};\n\n/**\n * 获取当前文件列表的总页数\n * @param state\n */\nexport const getTotalPage = (state: AnnotationState) => {\n const { imgList, imgPageSize } = state;\n return Math.ceil(imgList.length / imgPageSize);\n};\n\nconst calcStepProgress = (fileList: any[], step: number) =>\n fileList.reduce((pre, i) => {\n const resultStr = i.result;\n const resultObject = jsonParser(resultStr);\n if (resultObject[`step_${step}`]) {\n return pre + 1;\n }\n return pre;\n }, 0) / fileList.length;\n\nconst updateToolInstance = (annotation: AnnotationState, imgNode: HTMLImageElement) => {\n const { step, stepList } = annotation;\n const stepConfig = StepUtils.getCurrentStepInfo(step, stepList);\n const config = ConfigUtils.jsonParser(stepConfig.config);\n\n const container = document.getElementById('toolContainer');\n\n if (!container) {\n throw `Not exist dom named id-toolContainer`;\n }\n\n const canvasSize = getFormatSize({ width: window.innerWidth, height: window.innerHeight });\n const annotationEngine = new AnnotationEngine({\n container,\n toolName: stepConfig.tool,\n size: canvasSize,\n imgNode,\n config,\n style: JSON.parse(styleString),\n });\n\n return { toolInstance: annotationEngine.toolInstance, annotationEngine };\n};\n\n/**\n * 初始化imgNode并加载数据\n * @param nextIndex\n * @param nextBasicIndex\n */\nexport const LoadImageAndFileData =\n (nextIndex: number, nextBasicIndex?: number) => async (dispatch: any, getState: any) => {\n const { getFileData, imgList, toolInstance } = getState().annotation;\n SetAnnotationLoading(dispatch, true);\n\n /** 支持外部传入获取文件接口 */\n if (getFileData) {\n const fileData = await getFileData(imgList[nextIndex], nextIndex);\n dispatch({\n type: ANNOTATION_ACTIONS.SET_FILE_DATA,\n payload: {\n fileData,\n index: nextIndex,\n },\n });\n }\n\n const { url } = imgList[nextIndex];\n\n return ImgUtils.load(url)\n .then((imgNode) => {\n SetAnnotationLoading(dispatch, false);\n\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n imgNode,\n nextIndex,\n nextBasicIndex,\n },\n });\n })\n .catch(() => {\n SetAnnotationLoading(dispatch, false);\n toolInstance.setErrorImg();\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n nextIndex,\n nextBasicIndex,\n },\n });\n });\n };\n\nexport const annotationReducer = (\n state = initialState,\n action: AnnotationActionTypes,\n): AnnotationState => {\n switch (action.type) {\n case ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE: {\n return {\n ...state,\n toolInstance: action.payload.toolInstance,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_IMG_LIST: {\n return {\n ...state,\n imgList: action.payload.imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.CALC_STEP_PROGRESS: {\n const { imgList, step } = state;\n\n const stepProgress = calcStepProgress(imgList, step);\n\n return {\n ...state,\n stepProgress,\n };\n }\n\n case ANNOTATION_ACTIONS.SUBMIT_FILE_DATA: {\n const { imgList, imgIndex, step, stepList, toolInstance, onSubmit, resultList } = state;\n if (!toolInstance) {\n return state;\n }\n\n const oldResultString = imgList[imgIndex]?.result || '';\n const [, basicImgInfo] = toolInstance.exportData();\n\n const resultWithBasicInfo = composeResultWithBasicImgInfo(oldResultString, basicImgInfo);\n const newResultString = composeResult(\n resultWithBasicInfo,\n { step, stepList },\n { rect: resultList },\n );\n\n imgList[imgIndex].result = AnnotationDataUtils.dataCorrection(\n newResultString,\n oldResultString,\n step,\n stepList,\n );\n\n if (onSubmit) {\n onSubmit([imgList[imgIndex]], action.payload?.submitType, imgIndex);\n }\n\n const stepProgress = calcStepProgress(imgList, step);\n return {\n ...state,\n stepProgress,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.SAVE_RESULT: {\n const { imgList, imgIndex, onSave } = state;\n onSave?.(imgList[imgIndex], imgIndex, imgList);\n return {\n ...state,\n };\n }\n\n case ANNOTATION_ACTIONS.SUBMIT_RESULT: {\n const { imgList, basicIndex, resultList, annotationEngine, basicResultList } = state;\n if (!annotationEngine) {\n return state;\n }\n\n const [exportResult] = annotationEngine.toolInstance.exportData();\n\n let previousResultList = exportResult;\n\n if (basicResultList?.length > 0) {\n const sourceID = basicResultList[basicIndex]?.id;\n const newResultData = exportResult.map((i: any) => ({ ...i, sourceID }));\n previousResultList = _.cloneDeep(resultList).filter((i: any) => i.sourceID !== sourceID);\n previousResultList.push(...newResultData);\n }\n\n return {\n ...state,\n resultList: previousResultList,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_BASIC_INDEX: {\n const {\n toolInstance,\n step,\n imgList,\n imgIndex,\n stepList,\n annotationEngine,\n resultList,\n basicResultList,\n } = state;\n\n if (!toolInstance || !annotationEngine) {\n return state;\n }\n\n const nextBasicIndex = action.payload.basicIndex;\n const sourceID = basicResultList[nextBasicIndex]?.id;\n\n const fileResult = jsonParser(imgList[imgIndex]?.result);\n const result = (resultList || []).filter((i) => i.sourceID === sourceID);\n\n const stepConfig = getStepConfig(stepList, step);\n\n const { dataSourceStep, tool } = stepConfig;\n const dependStepConfig = getStepConfig(stepList, dataSourceStep);\n let stepBasicResultList = [];\n\n if (dataSourceStep && tool) {\n stepBasicResultList = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (stepBasicResultList?.length > 0) {\n annotationEngine.setBasicInfo(dependStepConfig.tool, stepBasicResultList[nextBasicIndex]);\n annotationEngine.launchOperation();\n } else {\n annotationEngine.setBasicInfo(dependStepConfig.tool);\n annotationEngine.forbidOperation();\n message.info('当前文件不存在依赖数据');\n }\n }\n\n toolInstance.setResult(result);\n toolInstance.history.initRecord(result, true);\n\n return {\n ...state,\n basicIndex: nextBasicIndex,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED: {\n const { triggerEventAfterIndexChanged } = action.payload;\n return {\n ...state,\n triggerEventAfterIndexChanged: !!triggerEventAfterIndexChanged,\n };\n }\n\n case ANNOTATION_ACTIONS.LOAD_FILE_DATA: {\n const { imgList, step, toolInstance, annotationEngine, stepList } = state;\n if (!toolInstance || !annotationEngine) {\n return state;\n }\n\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n\n const { nextIndex, imgNode, nextBasicIndex, imgError } = action.payload;\n const basicIndex = nextBasicIndex ?? 0;\n\n const fileResult = jsonParser(imgList[nextIndex]?.result);\n\n const stepResult = fileResult[`step_${step}`];\n\n const isInitData = !stepResult; // 是否为初始化数据\n\n const basicImgInfo = {\n rotate: fileResult.rotate ?? 0,\n valid: fileResult.valid ?? true,\n };\n\n if (imgNode && imgError !== true) {\n annotationEngine.setImgNode(imgNode, basicImgInfo);\n }\n\n const stepConfig = getStepConfig(stepList, step);\n\n const { dataSourceStep, tool } = stepConfig;\n const dependStepConfig = getStepConfig(stepList, dataSourceStep);\n const hasDataSourceStep = dataSourceStep && tool;\n const stepBasicResultList = fileResult[`step_${dataSourceStep}`]?.result ?? [];\n\n const result = AnnotationDataUtils.getInitialResultList(\n stepResult?.result,\n toolInstance,\n stepConfig,\n stepBasicResultList,\n isInitData,\n );\n\n annotationEngine.launchOperation();\n\n if (hasDataSourceStep) {\n if (stepBasicResultList?.length > 0) {\n annotationEngine.setBasicInfo(dependStepConfig.tool, stepBasicResultList[basicIndex]);\n } else {\n // TODO: 禁用绘制交互,有无依赖之间的操作切换\n annotationEngine.setBasicInfo(dependStepConfig.tool);\n annotationEngine.forbidOperation();\n message.info('当前文件不存在依赖数据');\n }\n }\n\n // TODO,非查看模式才允许添加数据\n if (currentStepInfo.tool !== 'check') {\n const sourceID = stepBasicResultList[basicIndex]?.id ?? '';\n const resultForBasicIndex = hasDataSourceStep\n ? result.filter((i: { sourceID: string | number }) =>\n CommonToolUtils.isSameSourceID(i.sourceID, sourceID),\n )\n : result;\n toolInstance.setResult(resultForBasicIndex);\n toolInstance.history.initRecord(result, true);\n }\n\n return {\n ...state,\n imgIndex: nextIndex,\n basicIndex,\n basicResultList: stepBasicResultList,\n resultList: result,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG: {\n return {\n ...state,\n config: action.payload.config ?? '{}',\n };\n }\n\n case ANNOTATION_ACTIONS.SET_TASK_CONFIG: {\n const { stepList, step } = action.payload;\n return {\n ...state,\n stepList,\n step,\n };\n }\n\n case ANNOTATION_ACTIONS.INIT_TOOL: {\n const { imgNode } = state;\n const { toolInstance, annotationEngine } = updateToolInstance(state, imgNode);\n return {\n ...state,\n toolInstance,\n annotationEngine,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT: {\n return {\n ...state,\n onSubmit: action.payload.onSubmit,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_SAVE: {\n return {\n ...state,\n onSave: action.payload.onSave,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA: {\n return {\n ...state,\n getFileData: action.payload.getFileData,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_FILE_DATA: {\n const { fileData, index } = action.payload;\n const { imgList } = state;\n imgList[index] = { ...imgList[index], ...fileData };\n\n return {\n ...state,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ROTATE: {\n const { toolInstance } = state;\n toolInstance?.updateRotate();\n\n return state;\n }\n\n case ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT: {\n const { toolInstance, imgIndex, imgList, step } = state;\n if (!toolInstance) {\n return state;\n }\n\n if (imgIndex === 0 || imgIndex >= imgList.length) {\n console.error('无法复制边界外的内容');\n return state;\n }\n const backwardResult = imgList[imgIndex - 1].result;\n if (!backwardResult) {\n return state;\n }\n\n const newResult = AnnotationDataUtils.copyResultChange(\n backwardResult,\n step,\n imgList[imgIndex].result ?? '',\n );\n imgList[imgIndex].result = newResult;\n\n // 更新当前的结果\n const fileResult = jsonParser(newResult);\n const stepResult = fileResult[`step_${step}`];\n const result = stepResult?.result || [];\n\n toolInstance.setResult(result);\n toolInstance.history.pushHistory(result);\n\n return {\n ...state,\n imgList: [...imgList],\n };\n }\n\n case ANNOTATION_ACTIONS.SET_STEP: {\n const { stepList, annotationEngine } = state;\n const { toStep } = action.payload;\n\n if (!annotationEngine) {\n return state;\n }\n\n if (toStep <= stepList.length) {\n const stepConfig = getStepConfig(stepList, toStep);\n annotationEngine.setToolName(stepConfig.tool, stepConfig.config);\n\n return {\n ...state,\n step: toStep,\n toolInstance: annotationEngine.toolInstance,\n };\n }\n break;\n }\n\n case ANNOTATION_ACTIONS.SET_LOADING: {\n const { loading } = action.payload;\n\n return {\n ...state,\n loading: !!loading,\n };\n }\n\n // eslint-disable-next-line no-fallthrough\n default:\n return state;\n }\n\n return state;\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAca,gBAAgB,CAAC,UAAiB,SAC7C,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS;AAElC,MAAM,eAAgC;AAAA,EACpC,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,MAAM;AAAA,EACN,UAAU;AAAA,EACV,SAAS,IAAI;AAAA,EACb,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,SAAS;AAAA,EACT,+BAA+B;AAAA;MAOpB,eAAe,CAAC,UAA2B;AACtD,QAAM,CAAE,SAAS,eAAgB;AACjC,SAAO,KAAK,KAAK,QAAQ,SAAS;AAAA;AAGpC,MAAM,mBAAmB,CAAC,UAAiB,SACzC,SAAS,OAAO,CAAC,KAAK,MAAM;AAC1B,QAAM,YAAY,EAAE;AACpB,QAAM,eAAe,WAAW;AAChC,MAAI,aAAa,QAAQ,SAAS;AAChC,WAAO,MAAM;AAAA;AAEf,SAAO;AAAA,GACN,KAAK,SAAS;AAEnB,MAAM,qBAAqB,CAAC,YAA6B,YAA8B;AACrF,QAAM,CAAE,MAAM,YAAa;AAC3B,QAAM,aAAa,UAAU,mBAAmB,MAAM;AACtD,QAAM,SAAS,YAAY,WAAW,WAAW;AAEjD,QAAM,YAAY,SAAS,eAAe;AAE1C,MAAI,CAAC,WAAW;AACd,UAAM;AAAA;AAGR,QAAM,aAAa,cAAc,CAAE,OAAO,OAAO,YAAY,QAAQ,OAAO;AAC5E,QAAM,mBAAmB,IAAI,iBAAiB;AAAA,IAC5C;AAAA,IACA,UAAU,WAAW;AAAA,IACrB,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,OAAO,KAAK,MAAM;AAAA;AAGpB,SAAO,CAAE,cAAc,iBAAiB,cAAc;AAAA;MAQ3C,uBACX,CAAC,WAAmB,mBAA4B,CAAO,UAAe,aAAkB;AACtF,QAAM,CAAE,aAAa,SAAS,gBAAiB,WAAW;AAC1D,uBAAqB,UAAU;AAG/B,MAAI,aAAa;AACf,UAAM,WAAW,MAAM,YAAY,QAAQ,YAAY;AACvD,aAAS;AAAA,MACP,MAAM,mBAAmB;AAAA,MACzB,SAAS;AAAA,QACP;AAAA,QACA,OAAO;AAAA;AAAA;AAAA;AAKb,QAAM,CAAE,OAAQ,QAAQ;AAExB,SAAO,SAAS,KAAK,KAClB,KAAK,CAAC,YAAY;AACjB,yBAAqB,UAAU;AAE/B,aAAS;AAAA,MACP,MAAM,mBAAmB;AAAA,MACzB,SAAS;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA;AAAA;AAAA,KAIL,MAAM,MAAM;AACX,yBAAqB,UAAU;AAC/B,iBAAa;AACb,aAAS;AAAA,MACP,MAAM,mBAAmB;AAAA,MACzB,SAAS;AAAA,QACP;AAAA,QACA;AAAA;AAAA;AAAA;AAAA;MAMC,oBAAoB,CAC/B,QAAQ,cACR,WACoB;AAnItB;AAoIE,UAAQ,OAAO;AAAA,SACR,mBAAmB,sBAAsB;AAC5C,aAAO,iCACF,QADE;AAAA,QAEL,cAAc,OAAO,QAAQ;AAAA;AAAA;AAAA,SAI5B,mBAAmB,iBAAiB;AACvC,aAAO,iCACF,QADE;AAAA,QAEL,SAAS,OAAO,QAAQ;AAAA;AAAA;AAAA,SAIvB,mBAAmB,oBAAoB;AAC1C,YAAM,CAAE,SAAS,QAAS;AAE1B,YAAM,eAAe,iBAAiB,SAAS;AAE/C,aAAO,iCACF,QADE;AAAA,QAEL;AAAA;AAAA;AAAA,SAIC,mBAAmB,kBAAkB;AACxC,YAAM,CAAE,SAAS,UAAU,MAAM,UAAU,cAAc,UAAU,cAAe;AAClF,UAAI,CAAC,cAAc;AACjB,eAAO;AAAA;AAGT,YAAM,kBAAkB,eAAQ,cAAR,mBAAmB,WAAU;AACrD,YAAM,GAAG,gBAAgB,aAAa;AAEtC,YAAM,sBAAsB,8BAA8B,iBAAiB;AAC3E,YAAM,kBAAkB,cACtB,qBACA,CAAE,MAAM,WACR,CAAE,MAAM;AAGV,cAAQ,UAAU,SAAS,oBAAoB,eAC7C,iBACA,iBACA,MACA;AAGF,UAAI,UAAU;AACZ,iBAAS,CAAC,QAAQ,YAAY,aAAO,YAAP,mBAAgB,YAAY;AAAA;AAG5D,YAAM,eAAe,iBAAiB,SAAS;AAC/C,aAAO,iCACF,QADE;AAAA,QAEL;AAAA,QACA;AAAA;AAAA;AAAA,SAIC,mBAAmB,aAAa;AACnC,YAAM,CAAE,SAAS,UAAU,UAAW;AACtC,uCAAS,QAAQ,WAAW,UAAU;AACtC,aAAO,mBACF;AAAA;AAAA,SAIF,mBAAmB,eAAe;AACrC,YAAM,CAAE,SAAS,YAAY,YAAY,kBAAkB,mBAAoB;AAC/E,UAAI,CAAC,kBAAkB;AACrB,eAAO;AAAA;AAGT,YAAM,CAAC,gBAAgB,iBAAiB,aAAa;AAErD,UAAI,qBAAqB;AAEzB,UAAI,oDAAiB,UAAS,GAAG;AAC/B,cAAM,WAAW,sBAAgB,gBAAhB,mBAA6B;AAC9C,cAAM,gBAAgB,aAAa,IAAI,CAAC,MAAY,iCAAK,IAAL,CAAQ;AAC5D,6BAAqB,EAAE,UAAU,YAAY,OAAO,CAAC,MAAW,EAAE,aAAa;AAC/E,2BAAmB,KAAK,GAAG;AAAA;AAG7B,aAAO,iCACF,QADE;AAAA,QAEL,YAAY;AAAA,QACZ;AAAA;AAAA;AAAA,SAIC,mBAAmB,iBAAiB;AACvC,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,UACE;AAEJ,UAAI,CAAC,gBAAgB,CAAC,kBAAkB;AACtC,eAAO;AAAA;AAGT,YAAM,iBAAiB,OAAO,QAAQ;AACtC,YAAM,WAAW,sBAAgB,oBAAhB,mBAAiC;AAElD,YAAM,aAAa,WAAW,cAAQ,cAAR,mBAAmB;AACjD,YAAM,SAAU,eAAc,IAAI,OAAO,CAAC,MAAM,EAAE,aAAa;AAE/D,YAAM,aAAa,cAAc,UAAU;AAE3C,YAAM,CAAE,gBAAgB,QAAS;AACjC,YAAM,mBAAmB,cAAc,UAAU;AACjD,UAAI,sBAAsB;AAE1B,UAAI,kBAAkB,MAAM;AAC1B,8BAAsB,iBAAW,QAAQ,sBAAnB,mBAAsC;AAE5D,YAAI,4DAAqB,UAAS,GAAG;AACnC,2BAAiB,aAAa,iBAAiB,MAAM,oBAAoB;AACzE,2BAAiB;AAAA,eACZ;AACL,2BAAiB,aAAa,iBAAiB;AAC/C,2BAAiB;AACjB,kBAAQ,KAAK;AAAA;AAAA;AAIjB,mBAAa,UAAU;AACvB,mBAAa,QAAQ,WAAW,QAAQ;AAExC,aAAO,iCACF,QADE;AAAA,QAEL,YAAY;AAAA;AAAA;AAAA,SAIX,mBAAmB,uCAAuC;AAC7D,YAAM,CAAE,iCAAkC,OAAO;AACjD,aAAO,iCACF,QADE;AAAA,QAEL,+BAA+B,CAAC,CAAC;AAAA;AAAA;AAAA,SAIhC,mBAAmB,gBAAgB;AACtC,YAAM,CAAE,SAAS,MAAM,cAAc,kBAAkB,YAAa;AACpE,UAAI,CAAC,gBAAgB,CAAC,kBAAkB;AACtC,eAAO;AAAA;AAGT,YAAM,kBAAkB,UAAU,mBAAmB,MAAM;AAE3D,YAAM,CAAE,WAAW,SAAS,gBAAgB,YAAa,OAAO;AAChE,YAAM,aAAa,0CAAkB;AAErC,YAAM,aAAa,WAAW,cAAQ,eAAR,mBAAoB;AAElD,YAAM,aAAa,WAAW,QAAQ;AAEtC,YAAM,aAAa,CAAC;AAEpB,YAAM,eAAe;AAAA,QACnB,QAAQ,iBAAW,WAAX,YAAqB;AAAA,QAC7B,OAAO,iBAAW,UAAX,YAAoB;AAAA;AAG7B,UAAI,WAAW,aAAa,MAAM;AAChC,yBAAiB,WAAW,SAAS;AAAA;AAGvC,YAAM,aAAa,cAAc,UAAU;AAE3C,YAAM,CAAE,gBAAgB,QAAS;AACjC,YAAM,mBAAmB,cAAc,UAAU;AACjD,YAAM,oBAAoB,kBAAkB;AAC5C,YAAM,sBAAsB,uBAAW,QAAQ,sBAAnB,mBAAsC,WAAtC,YAAgD;AAE5E,YAAM,SAAS,oBAAoB,qBACjC,yCAAY,QACZ,cACA,YACA,qBACA;AAGF,uBAAiB;AAEjB,UAAI,mBAAmB;AACrB,YAAI,4DAAqB,UAAS,GAAG;AACnC,2BAAiB,aAAa,iBAAiB,MAAM,oBAAoB;AAAA,eACpE;AAEL,2BAAiB,aAAa,iBAAiB;AAC/C,2BAAiB;AACjB,kBAAQ,KAAK;AAAA;AAAA;AAKjB,UAAI,gBAAgB,SAAS,SAAS;AACpC,cAAM,WAAW,gCAAoB,gBAApB,mBAAiC,OAAjC,YAAuC;AACxD,cAAM,sBAAsB,oBACxB,OAAO,OAAO,CAAC,MACb,gBAAgB,eAAe,EAAE,UAAU,aAE7C;AACJ,qBAAa,UAAU;AACvB,qBAAa,QAAQ,WAAW,QAAQ;AAAA;AAG1C,aAAO,iCACF,QADE;AAAA,QAEL,UAAU;AAAA,QACV;AAAA,QACA,iBAAiB;AAAA,QACjB,YAAY;AAAA;AAAA;AAAA,SAIX,mBAAmB,0BAA0B;AAChD,aAAO,iCACF,QADE;AAAA,QAEL,QAAQ,aAAO,QAAQ,WAAf,YAAyB;AAAA;AAAA;AAAA,SAIhC,mBAAmB,iBAAiB;AACvC,YAAM,CAAE,UAAU,QAAS,OAAO;AAClC,aAAO,iCACF,QADE;AAAA,QAEL;AAAA,QACA;AAAA;AAAA;AAAA,SAIC,mBAAmB,WAAW;AACjC,YAAM,CAAE,WAAY;AACpB,YAAM,CAAE,cAAc,oBAAqB,mBAAmB,OAAO;AACrE,aAAO,iCACF,QADE;AAAA,QAEL;AAAA,QACA;AAAA;AAAA;AAAA,SAIC,mBAAmB,kBAAkB;AACxC,aAAO,iCACF,QADE;AAAA,QAEL,UAAU,OAAO,QAAQ;AAAA;AAAA;AAAA,SAIxB,mBAAmB,gBAAgB;AACtC,aAAO,iCACF,QADE;AAAA,QAEL,QAAQ,OAAO,QAAQ;AAAA;AAAA;AAAA,SAItB,mBAAmB,sBAAsB;AAC5C,aAAO,iCACF,QADE;AAAA,QAEL,aAAa,OAAO,QAAQ;AAAA;AAAA;AAAA,SAI3B,mBAAmB,eAAe;AACrC,YAAM,CAAE,UAAU,SAAU,OAAO;AACnC,YAAM,CAAE,WAAY;AACpB,cAAQ,SAAS,kCAAK,QAAQ,SAAW;AAEzC,aAAO,iCACF,QADE;AAAA,QAEL;AAAA;AAAA;AAAA,SAIC,mBAAmB,eAAe;AACrC,YAAM,CAAE,gBAAiB;AACzB,mDAAc;AAEd,aAAO;AAAA;AAAA,SAGJ,mBAAmB,sBAAsB;AAC5C,YAAM,CAAE,cAAc,UAAU,SAAS,QAAS;AAClD,UAAI,CAAC,cAAc;AACjB,eAAO;AAAA;AAGT,UAAI,aAAa,KAAK,YAAY,QAAQ,QAAQ;AAChD,gBAAQ,MAAM;AACd,eAAO;AAAA;AAET,YAAM,iBAAiB,QAAQ,WAAW,GAAG;AAC7C,UAAI,CAAC,gBAAgB;AACnB,eAAO;AAAA;AAGT,YAAM,YAAY,oBAAoB,iBACpC,gBACA,MACA,cAAQ,UAAU,WAAlB,YAA4B;AAE9B,cAAQ,UAAU,SAAS;AAG3B,YAAM,aAAa,WAAW;AAC9B,YAAM,aAAa,WAAW,QAAQ;AACtC,YAAM,SAAS,0CAAY,WAAU;AAErC,mBAAa,UAAU;AACvB,mBAAa,QAAQ,YAAY;AAEjC,aAAO,iCACF,QADE;AAAA,QAEL,SAAS,CAAC,GAAG;AAAA;AAAA;AAAA,SAIZ,mBAAmB,UAAU;AAChC,YAAM,CAAE,UAAU,oBAAqB;AACvC,YAAM,CAAE,UAAW,OAAO;AAE1B,UAAI,CAAC,kBAAkB;AACrB,eAAO;AAAA;AAGT,UAAI,UAAU,SAAS,QAAQ;AAC7B,cAAM,aAAa,cAAc,UAAU;AAC3C,yBAAiB,YAAY,WAAW,MAAM,WAAW;AAEzD,eAAO,iCACF,QADE;AAAA,UAEL,MAAM;AAAA,UACN,cAAc,iBAAiB;AAAA;AAAA;AAGnC;AAAA;AAAA,SAGG,mBAAmB,aAAa;AACnC,YAAM,CAAE,WAAY,OAAO;AAE3B,aAAO,iCACF,QADE;AAAA,QAEL,SAAS,CAAC,CAAC;AAAA;AAAA;AAAA;AAMb,aAAO;AAAA;AAGX,SAAO;AAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"reducer.js","sources":["../../../src/store/annotation/reducer.ts"],"sourcesContent":["import { getFormatSize } from '@/components/customResizeHook';\nimport styleString from '@/constant/styleString';\nimport { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { jsonParser } from '@/utils';\nimport AnnotationDataUtils from '@/utils/AnnotationDataUtils';\nimport { ConfigUtils } from '@/utils/ConfigUtils';\nimport { composeResult, composeResultWithBasicImgInfo } from '@/utils/data';\nimport StepUtils from '@/utils/StepUtils';\nimport { AnnotationEngine, CommonToolUtils, ImgUtils } from '@labelbee/lb-annotation';\nimport { message } from 'antd/es';\nimport _ from 'lodash';\nimport { SetAnnotationLoading } from './actionCreators';\nimport { AnnotationActionTypes, AnnotationState } from './types';\n\nexport const getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n\nconst initialState: AnnotationState = {\n annotationEngine: null,\n toolInstance: null,\n imgList: [],\n config: '{}',\n imgIndex: -1,\n basicIndex: 0,\n imgPageSize: 1,\n step: 1,\n stepList: [],\n imgNode: new Image(),\n basicResultList: [],\n resultList: [],\n stepProgress: 0,\n loading: false,\n triggerEventAfterIndexChanged: false,\n};\n\n/**\n * 获取当前文件列表的总页数\n * @param state\n */\nexport const getTotalPage = (state: AnnotationState) => {\n const { imgList, imgPageSize } = state;\n return Math.ceil(imgList.length / imgPageSize);\n};\n\nconst calcStepProgress = (fileList: any[], step: number) =>\n fileList.reduce((pre, i) => {\n const resultStr = i.result;\n const resultObject = jsonParser(resultStr);\n if (resultObject[`step_${step}`]) {\n return pre + 1;\n }\n return pre;\n }, 0) / fileList.length;\n\nconst updateToolInstance = (annotation: AnnotationState, imgNode: HTMLImageElement) => {\n const { step, stepList } = annotation;\n const stepConfig = StepUtils.getCurrentStepInfo(step, stepList);\n const config = ConfigUtils.jsonParser(stepConfig.config);\n\n const container = document.getElementById('toolContainer');\n\n if (!container) {\n throw `Not exist dom named id-toolContainer`;\n }\n\n const canvasSize = getFormatSize({ width: window.innerWidth, height: window.innerHeight });\n const annotationEngine = new AnnotationEngine({\n container,\n toolName: stepConfig.tool,\n size: canvasSize,\n imgNode,\n config,\n style: JSON.parse(styleString),\n });\n\n return { toolInstance: annotationEngine.toolInstance, annotationEngine };\n};\n\n/**\n * 初始化imgNode并加载数据\n * @param nextIndex\n * @param nextBasicIndex\n */\nexport const LoadImageAndFileData =\n (nextIndex: number, nextBasicIndex?: number) => async (dispatch: any, getState: any) => {\n const { getFileData, imgList, toolInstance } = getState().annotation;\n SetAnnotationLoading(dispatch, true);\n\n /** 支持外部传入获取文件接口 */\n if (getFileData) {\n const fileData = await getFileData(imgList[nextIndex], nextIndex);\n dispatch({\n type: ANNOTATION_ACTIONS.SET_FILE_DATA,\n payload: {\n fileData,\n index: nextIndex,\n },\n });\n }\n\n const { url } = imgList[nextIndex];\n\n return ImgUtils.load(url)\n .then((imgNode) => {\n SetAnnotationLoading(dispatch, false);\n\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n imgNode,\n nextIndex,\n nextBasicIndex,\n },\n });\n })\n .catch(() => {\n SetAnnotationLoading(dispatch, false);\n toolInstance.setErrorImg();\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n nextIndex,\n nextBasicIndex,\n },\n });\n });\n };\n\nexport const annotationReducer = (\n state = initialState,\n action: AnnotationActionTypes,\n): AnnotationState => {\n switch (action.type) {\n case ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE: {\n return {\n ...state,\n toolInstance: action.payload.toolInstance,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_IMG_LIST: {\n return {\n ...state,\n imgList: action.payload.imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.CALC_STEP_PROGRESS: {\n const { imgList, step } = state;\n\n const stepProgress = calcStepProgress(imgList, step);\n\n return {\n ...state,\n stepProgress,\n };\n }\n\n case ANNOTATION_ACTIONS.SUBMIT_FILE_DATA: {\n const { imgList, imgIndex, step, stepList, toolInstance, onSubmit, resultList } = state;\n if (!toolInstance) {\n return state;\n }\n\n const oldResultString = imgList[imgIndex]?.result || '';\n const [, basicImgInfo] = toolInstance.exportData();\n\n const resultWithBasicInfo = composeResultWithBasicImgInfo(oldResultString, basicImgInfo);\n const newResultString = composeResult(\n resultWithBasicInfo,\n { step, stepList },\n { rect: resultList },\n );\n\n imgList[imgIndex].result = AnnotationDataUtils.dataCorrection(\n newResultString,\n oldResultString,\n step,\n stepList,\n );\n\n if (onSubmit) {\n onSubmit([imgList[imgIndex]], action.payload?.submitType, imgIndex);\n }\n\n const stepProgress = calcStepProgress(imgList, step);\n return {\n ...state,\n stepProgress,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.SAVE_RESULT: {\n const { imgList, imgIndex, onSave } = state;\n onSave?.(imgList[imgIndex], imgIndex, imgList);\n return {\n ...state,\n };\n }\n\n case ANNOTATION_ACTIONS.SUBMIT_RESULT: {\n const { imgList, basicIndex, resultList, annotationEngine, basicResultList } = state;\n if (!annotationEngine) {\n return state;\n }\n\n const [exportResult] = annotationEngine.toolInstance.exportData();\n\n let previousResultList = exportResult;\n\n if (basicResultList?.length > 0) {\n const sourceID = basicResultList[basicIndex]?.id;\n const newResultData = exportResult.map((i: any) => ({ ...i, sourceID }));\n previousResultList = _.cloneDeep(resultList).filter((i: any) => i.sourceID !== sourceID);\n previousResultList.push(...newResultData);\n }\n\n return {\n ...state,\n resultList: previousResultList,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_BASIC_INDEX: {\n const {\n toolInstance,\n step,\n imgList,\n imgIndex,\n stepList,\n annotationEngine,\n resultList,\n basicResultList,\n } = state;\n\n if (!toolInstance || !annotationEngine) {\n return state;\n }\n\n const nextBasicIndex = action.payload.basicIndex;\n const sourceID = basicResultList[nextBasicIndex]?.id;\n\n const fileResult = jsonParser(imgList[imgIndex]?.result);\n const result = (resultList || []).filter((i) => i.sourceID === sourceID);\n\n const stepConfig = getStepConfig(stepList, step);\n\n const { dataSourceStep, tool } = stepConfig;\n const dependStepConfig = getStepConfig(stepList, dataSourceStep);\n let stepBasicResultList = [];\n\n if (dataSourceStep && tool) {\n stepBasicResultList = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (stepBasicResultList?.length > 0) {\n annotationEngine.setBasicInfo(dependStepConfig.tool, stepBasicResultList[nextBasicIndex]);\n annotationEngine.launchOperation();\n } else {\n annotationEngine.setBasicInfo(dependStepConfig.tool);\n annotationEngine.forbidOperation();\n message.info('当前文件不存在依赖数据');\n }\n }\n\n toolInstance.setResult(result);\n toolInstance.history.initRecord(result, true);\n\n return {\n ...state,\n basicIndex: nextBasicIndex,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED: {\n const { triggerEventAfterIndexChanged } = action.payload;\n return {\n ...state,\n triggerEventAfterIndexChanged: !!triggerEventAfterIndexChanged,\n };\n }\n\n case ANNOTATION_ACTIONS.LOAD_FILE_DATA: {\n const { imgList, step, toolInstance, annotationEngine, stepList } = state;\n if (!toolInstance || !annotationEngine) {\n return state;\n }\n\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n\n const { nextIndex, imgNode, nextBasicIndex, imgError } = action.payload;\n const basicIndex = nextBasicIndex ?? 0;\n\n const fileResult = jsonParser(imgList[nextIndex]?.result);\n\n const stepResult = fileResult[`step_${step}`];\n\n const isInitData = !stepResult; // 是否为初始化数据\n\n const basicImgInfo = {\n rotate: fileResult.rotate ?? 0,\n valid: fileResult.valid ?? true,\n };\n\n if (imgNode && imgError !== true) {\n annotationEngine.setImgNode(imgNode, basicImgInfo);\n }\n\n const stepConfig = getStepConfig(stepList, step);\n\n const { dataSourceStep, tool } = stepConfig;\n const dependStepConfig = getStepConfig(stepList, dataSourceStep);\n const hasDataSourceStep = dataSourceStep && tool;\n const stepBasicResultList = fileResult[`step_${dataSourceStep}`]?.result ?? [];\n\n const result = AnnotationDataUtils.getInitialResultList(\n stepResult?.result,\n toolInstance,\n stepConfig,\n stepBasicResultList,\n isInitData,\n );\n\n annotationEngine.launchOperation();\n\n if (hasDataSourceStep) {\n if (stepBasicResultList?.length > 0) {\n annotationEngine.setBasicInfo(dependStepConfig.tool, stepBasicResultList[basicIndex]);\n } else {\n // TODO: 禁用绘制交互,有无依赖之间的操作切换\n annotationEngine.setBasicInfo(dependStepConfig.tool);\n annotationEngine.forbidOperation();\n message.info('当前文件不存在依赖数据');\n }\n }\n\n // TODO,非查看模式才允许添加数据\n if (currentStepInfo.tool !== 'check') {\n const sourceID = stepBasicResultList[basicIndex]?.id ?? '';\n const resultForBasicIndex = hasDataSourceStep\n ? result.filter((i: { sourceID: string | number }) =>\n CommonToolUtils.isSameSourceID(i.sourceID, sourceID),\n )\n : result;\n toolInstance.setResult(resultForBasicIndex);\n toolInstance.history.initRecord(result, true);\n }\n\n return {\n ...state,\n imgIndex: nextIndex,\n basicIndex,\n basicResultList: stepBasicResultList,\n resultList: result,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG: {\n return {\n ...state,\n config: action.payload.config ?? '{}',\n };\n }\n\n case ANNOTATION_ACTIONS.SET_TASK_CONFIG: {\n const { stepList, step } = action.payload;\n return {\n ...state,\n stepList,\n step,\n };\n }\n\n case ANNOTATION_ACTIONS.INIT_TOOL: {\n const { imgNode } = state;\n const { toolInstance, annotationEngine } = updateToolInstance(state, imgNode);\n return {\n ...state,\n toolInstance,\n annotationEngine,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT: {\n return {\n ...state,\n onSubmit: action.payload.onSubmit,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_SAVE: {\n return {\n ...state,\n onSave: action.payload.onSave,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA: {\n return {\n ...state,\n getFileData: action.payload.getFileData,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_FILE_DATA: {\n const { fileData, index } = action.payload;\n const { imgList } = state;\n imgList[index] = { ...imgList[index], ...fileData };\n\n return {\n ...state,\n imgList,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ROTATE: {\n const { toolInstance } = state;\n toolInstance?.updateRotate();\n\n return state;\n }\n\n case ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT: {\n const { toolInstance, imgIndex, imgList, step } = state;\n if (!toolInstance) {\n return state;\n }\n\n if (imgIndex === 0 || imgIndex >= imgList.length) {\n console.error('无法复制边界外的内容');\n return state;\n }\n const backwardResult = imgList[imgIndex - 1].result;\n if (!backwardResult) {\n return state;\n }\n\n const newResult = AnnotationDataUtils.copyResultChange(\n backwardResult,\n step,\n imgList[imgIndex].result ?? '',\n );\n imgList[imgIndex].result = newResult;\n\n // 更新当前的结果\n const fileResult = jsonParser(newResult);\n const stepResult = fileResult[`step_${step}`];\n const result = stepResult?.result || [];\n\n toolInstance.setResult(result);\n toolInstance.history.pushHistory(result);\n\n return {\n ...state,\n imgList: [...imgList],\n };\n }\n\n case ANNOTATION_ACTIONS.SET_STEP: {\n const { stepList, annotationEngine } = state;\n const { toStep } = action.payload;\n\n if (!annotationEngine) {\n return state;\n }\n\n const stepConfig = getStepConfig(stepList, toStep);\n annotationEngine.setToolName(stepConfig.tool, stepConfig.config);\n\n return {\n ...state,\n step: toStep,\n toolInstance: annotationEngine.toolInstance,\n };\n }\n\n case ANNOTATION_ACTIONS.SET_LOADING: {\n const { loading } = action.payload;\n\n return {\n ...state,\n loading: !!loading,\n };\n }\n\n // eslint-disable-next-line no-fallthrough\n default:\n return state;\n }\n};\n"],"names":["this"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionCreators.js","sources":["../../../src/store/imgAttribute/actionCreators.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeActionTypes, ImgAttributeState } from './types';\n\nexport function UpdateImgAttribute(imgAttribute: ImgAttributeState): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE,\n payload: imgAttribute,\n };\n}\n\nexport function InitImgAttribute(): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE,\n payload: {}\n };\n}\n\nexport default {\n UpdateImgAttribute,\n InitImgAttribute,\n};\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"actionCreators.js","sources":["../../../src/store/imgAttribute/actionCreators.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeActionTypes, ImgAttributeState } from './types';\n\nexport function UpdateImgAttribute(imgAttribute: ImgAttributeState): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE,\n payload: imgAttribute,\n };\n}\n\nexport function InitImgAttribute(): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE,\n payload: {}\n };\n}\n\nexport default {\n UpdateImgAttribute,\n InitImgAttribute,\n};\n"],"names":[],"mappings":";;AAGO,SAAA,kBAAA,CAA4B,YAA0D,EAAA;AAC3F,EAAO,OAAA;AAAA,IACL,MAAM,uBAAwB,CAAA,oBAAA;AAAA,IAC9B,OAAS,EAAA,YAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAI+C,SAAA,gBAAA,GAAA;AAC1D,EAAO,OAAA;AAAA,IACL,MAAM,uBAAwB,CAAA,kBAAA;AAAA,IAC9B,OAAS,EAAA,EAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAIb,mBAAe;AAAA,EACb,kBAAA;AAAA,EACA,gBAAA;AAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sources":["../../../src/store/imgAttribute/reducer.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeState, ImgAttributeActionTypes } from './types';\n\nconst initialState: ImgAttributeState = {\n contrast: 1,\n saturation: 1,\n brightness: 1,\n zoomRatio: 1,\n isOriginalSize: false,\n};\n\nexport function imgAttributeReducer(\n state = { ...initialState },\n action: ImgAttributeActionTypes,\n): ImgAttributeState {\n switch (action.type) {\n case IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE: {\n return {\n ...state,\n ...action.payload,\n };\n }\n\n case IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE: {\n return {\n ...initialState,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,MAAM,
|
|
1
|
+
{"version":3,"file":"reducer.js","sources":["../../../src/store/imgAttribute/reducer.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeState, ImgAttributeActionTypes } from './types';\n\nconst initialState: ImgAttributeState = {\n contrast: 1,\n saturation: 1,\n brightness: 1,\n zoomRatio: 1,\n isOriginalSize: false,\n};\n\nexport function imgAttributeReducer(\n state = { ...initialState },\n action: ImgAttributeActionTypes,\n): ImgAttributeState {\n switch (action.type) {\n case IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE: {\n return {\n ...state,\n ...action.payload,\n };\n }\n\n case IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE: {\n return {\n ...initialState,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,MAAM,YAAkC,GAAA;AAAA,EACtC,QAAU,EAAA,CAAA;AAAA,EACV,UAAY,EAAA,CAAA;AAAA,EACZ,UAAY,EAAA,CAAA;AAAA,EACZ,SAAW,EAAA,CAAA;AAAA,EACX,cAAgB,EAAA,KAAA;AAAA,CAAA,CAAA;AAIhB,SAAA,mBAAA,CAAA,KAAA,GAAQ,cAAK,CAAA,EAAA,EAAA,YAAA,CAAA,EACb,MACmB,EAAA;AACnB,EAAA,QAAQ,MAAO,CAAA,IAAA;AAAA,IAAA,KACR,wBAAwB,oBAAsB,EAAA;AACjD,MAAO,OAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,QACA,MAAO,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIT,wBAAwB,kBAAoB,EAAA;AAC/C,MAAA,OAAO,cACF,CAAA,EAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA;AAKL,MAAO,OAAA,KAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
|
package/es/store/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/store/index.ts"],"sourcesContent":["import { combineReducers, CombinedState } from 'redux';\nimport { annotationReducer } from './annotation/reducer';\nimport { imgAttributeReducer } from './imgAttribute/reducer';\nimport { toolStyleReducer } from './toolStyle/reducer';\n\nexport const rootReducer: CombinedState<any> = combineReducers({\n annotation: annotationReducer,\n imgAttribute: imgAttributeReducer,\n toolStyle: toolStyleReducer,\n});\n\nexport type AppState = ReturnType<typeof rootReducer>;\n"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/store/index.ts"],"sourcesContent":["import { combineReducers, CombinedState } from 'redux';\nimport { annotationReducer } from './annotation/reducer';\nimport { imgAttributeReducer } from './imgAttribute/reducer';\nimport { toolStyleReducer } from './toolStyle/reducer';\n\nexport const rootReducer: CombinedState<any> = combineReducers({\n annotation: annotationReducer,\n imgAttribute: imgAttributeReducer,\n toolStyle: toolStyleReducer,\n});\n\nexport type AppState = ReturnType<typeof rootReducer>;\n"],"names":[],"mappings":";;;;;AAKO,MAAM,cAAkC,eAAgB,CAAA;AAAA,EAC7D,UAAY,EAAA,iBAAA;AAAA,EACZ,YAAc,EAAA,mBAAA;AAAA,EACd,SAAW,EAAA,gBAAA;AAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionCreators.js","sources":["../../../src/store/toolStyle/actionCreators.ts"],"sourcesContent":["import { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nexport function InitToolStyleConfig(): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG,\n payload: undefined\n };\n}\n\nexport function UpdateToolStyleConfig(toolStyle: Partial<ToolStyleState>): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG,\n payload: toolStyle,\n };\n}\n\nexport default {\n InitToolStyleConfig,\n UpdateToolStyleConfig,\n};\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"actionCreators.js","sources":["../../../src/store/toolStyle/actionCreators.ts"],"sourcesContent":["import { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nexport function InitToolStyleConfig(): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG,\n payload: undefined\n };\n}\n\nexport function UpdateToolStyleConfig(toolStyle: Partial<ToolStyleState>): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG,\n payload: toolStyle,\n };\n}\n\nexport default {\n InitToolStyleConfig,\n UpdateToolStyleConfig,\n};\n"],"names":[],"mappings":";;AAG4D,SAAA,mBAAA,GAAA;AAC1D,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,sBAAA;AAAA,IACzB,OAAS,EAAA,KAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAIN,SAAA,qBAAA,CAA+B,SAA0D,EAAA;AAC9F,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,wBAAA;AAAA,IACzB,OAAS,EAAA,SAAA;AAAA,GAAA,CAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reducer.js","sources":["../../../src/store/toolStyle/reducer.ts"],"sourcesContent":["import { COLORS_ARRAY, NULL_COLOR } from '@/data/Style';\nimport { ToolStyleUtils } from '@/utils/ToolStyleUtils';\nimport { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nconst initialState: ToolStyleState = {\n color: 1,\n width: 2,\n borderOpacity: 9,\n fillOpacity: 9,\n toolColor: ToolStyleUtils.getToolColors(),\n attributeColor: ToolStyleUtils.getAttributeColors(),\n lineColor: ToolStyleUtils.getDefaultToolLineColors(),\n attributeLineColor: [NULL_COLOR].concat(COLORS_ARRAY),\n};\n\nexport function toolStyleReducer(\n state = { ...initialState },\n action: ToolStyleActionTypes,\n): ToolStyleState {\n switch (action.type) {\n case TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG: {\n return {\n ...initialState,\n };\n }\n\n case TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG: {\n const computeColor = {};\n const payload = action.payload;\n if (payload?.borderOpacity || payload?.fillOpacity) {\n Object.assign(\n computeColor,\n ToolStyleUtils.initByOpacity(\n payload.borderOpacity || state.borderOpacity,\n payload.fillOpacity || state.fillOpacity,\n ),\n );\n }\n\n return {\n ...state,\n ...action.payload,\n ...computeColor,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAKA,MAAM,
|
|
1
|
+
{"version":3,"file":"reducer.js","sources":["../../../src/store/toolStyle/reducer.ts"],"sourcesContent":["import { COLORS_ARRAY, NULL_COLOR } from '@/data/Style';\nimport { ToolStyleUtils } from '@/utils/ToolStyleUtils';\nimport { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nconst initialState: ToolStyleState = {\n color: 1,\n width: 2,\n borderOpacity: 9,\n fillOpacity: 9,\n toolColor: ToolStyleUtils.getToolColors(),\n attributeColor: ToolStyleUtils.getAttributeColors(),\n lineColor: ToolStyleUtils.getDefaultToolLineColors(),\n attributeLineColor: [NULL_COLOR].concat(COLORS_ARRAY),\n};\n\nexport function toolStyleReducer(\n state = { ...initialState },\n action: ToolStyleActionTypes,\n): ToolStyleState {\n switch (action.type) {\n case TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG: {\n return {\n ...initialState,\n };\n }\n\n case TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG: {\n const computeColor = {};\n const payload = action.payload;\n if (payload?.borderOpacity || payload?.fillOpacity) {\n Object.assign(\n computeColor,\n ToolStyleUtils.initByOpacity(\n payload.borderOpacity || state.borderOpacity,\n payload.fillOpacity || state.fillOpacity,\n ),\n );\n }\n\n return {\n ...state,\n ...action.payload,\n ...computeColor,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAKA,MAAM,YAA+B,GAAA;AAAA,EACnC,KAAO,EAAA,CAAA;AAAA,EACP,KAAO,EAAA,CAAA;AAAA,EACP,aAAe,EAAA,CAAA;AAAA,EACf,WAAa,EAAA,CAAA;AAAA,EACb,WAAW,cAAe,CAAA,aAAA,EAAA;AAAA,EAC1B,gBAAgB,cAAe,CAAA,kBAAA,EAAA;AAAA,EAC/B,WAAW,cAAe,CAAA,wBAAA,EAAA;AAAA,EAC1B,kBAAA,EAAoB,CAAC,UAAA,CAAA,CAAY,MAAO,CAAA,YAAA,CAAA;AAAA,CAAA,CAAA;AAIxC,SAAA,gBAAA,CAAA,KAAA,GAAQ,cAAK,CAAA,EAAA,EAAA,YAAA,CAAA,EACb,MACgB,EAAA;AAChB,EAAA,QAAQ,MAAO,CAAA,IAAA;AAAA,IAAA,KACR,mBAAmB,sBAAwB,EAAA;AAC9C,MAAA,OAAO,cACF,CAAA,EAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIF,mBAAmB,wBAA0B,EAAA;AAChD,MAAA,MAAM,YAAe,GAAA,EAAA,CAAA;AACrB,MAAA,MAAM,UAAU,MAAO,CAAA,OAAA,CAAA;AACvB,MAAI,IAAA,CAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,aAAiB,MAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,WAAa,CAAA,EAAA;AAClD,QAAO,MAAA,CAAA,MAAA,CACL,YACA,EAAA,cAAA,CAAe,aACb,CAAA,OAAA,CAAQ,iBAAiB,KAAM,CAAA,aAAA,EAC/B,OAAQ,CAAA,WAAA,IAAe,KAAM,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAKnC,MAAO,OAAA,cAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,KACA,CAAA,EAAA,MAAA,CAAO,OACP,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA;AAKL,MAAO,OAAA,KAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AnnotationDataUtils.js","sources":["../../src/utils/AnnotationDataUtils.ts"],"sourcesContent":["import { uuid } from '@labelbee/lb-annotation';\nimport { jsonParser } from '.';\nimport { EToolName } from '@/data/enums/ToolType';\nimport _ from 'lodash';\nimport StepUtils from './StepUtils';\nimport { IStepInfo } from '@/types/step';\n\nexport default class AnnotationDataUtils {\n /**\n * 复制上一张图片结果\n * @param copyResult 复制的结果\n * @param step 复制的步骤\n * @param currentResult 当前的步骤\n * @returns\n */\n public static copyResultChange(copyResult: string, step: number, currentResult: string) {\n // 其实其限定的范围一般都在单图的情况\n try {\n const copyData = jsonParser(copyResult);\n const currentData = jsonParser(currentResult);\n const stepName = `step_${step}`;\n if (copyData[stepName]) {\n // 这层可能还要处理 dataSource 依赖问题\n const info = copyData[stepName];\n if (info.result) {\n info.result = info.result.map((info: any) => ({\n ...info,\n // @ts-ignore\n id: uuid(8, 62),\n }));\n currentData[stepName] = info;\n return JSON.stringify(currentData);\n }\n }\n return copyResult;\n } catch {\n return copyResult;\n }\n }\n\n /**\n * 判断结果sourceID与依赖数据的id是否能对应\n * @param result\n * @param basicResultList\n */\n public static isResultSourceMatchedDependence(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n const sourceIDForDependStep = basicResultList?.map((i) => i.id).sort();\n\n return _.isEqual(sourceIDForCurStep, sourceIDForDependStep);\n }\n\n /**\n * 获取依赖增量更新的内容\n * @param result\n * @param basicResultList\n * @returns\n */\n public static deltaUpdateBasicResultList(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n\n return basicResultList.filter((v) => !sourceIDForCurStep.includes(v.id));\n }\n\n /**\n *\n * @param stepResult\n * @param toolInstance\n * @param stepConfig\n * @param basicResultList 获取初始化数据 该部分默认输入需要为空数组\n * @param isInitData\n * @returns\n */\n public static getInitialResultList(\n stepResult: any[] | undefined,\n toolInstance: any,\n stepConfig: any,\n basicResultList: any[],\n isInitData: boolean,\n ) {\n const resultList = stepResult ?? [];\n\n switch (stepConfig.tool) {\n case EToolName.Tag:\n case EToolName.Text: {\n /**\n * 在依赖的情况下,检查的是否需要增量更新前面新增的结果\n */\n if (stepConfig.dataSourceStep > 0) {\n const deltaResultList = this.deltaUpdateBasicResultList(resultList, basicResultList);\n if (deltaResultList.length > 0) {\n return resultList.concat(\n toolInstance.getInitResultList(stepConfig.dataSourceStep, deltaResultList),\n );\n }\n }\n\n if (isInitData !== true) {\n return resultList;\n }\n\n return toolInstance.getInitResultList(stepConfig.dataSourceStep, basicResultList);\n }\n\n default: {\n return resultList;\n }\n }\n }\n\n /**\n * 修正数据,找到被删除的数据,并将依赖该数据的结果全部删除\n * @param newResStr 新提交的数据\n * @param oldResStr 当前的数据\n * @param step 当前操作的步骤\n * @param stepList 步骤列表\n */\n public static dataCorrection(\n newResStr: string,\n oldResStr: string,\n step: number,\n stepList: IStepInfo[],\n ) {\n try {\n const curStep = StepUtils.getStepInfo(step, stepList);\n const stepKey = `step_${curStep.step}`;\n const newRes = jsonParser(newResStr);\n const oldRes = jsonParser(oldResStr);\n const newResForCurStep = newRes[stepKey]?.result;\n const oldResForCurStep = oldRes[stepKey]?.result;\n\n /** 没有旧数据时不处理 */\n if (!oldResForCurStep) {\n return newResStr;\n }\n\n if (_.isEqual(newResForCurStep.sort(this.idCmp), oldResForCurStep.sort(this.idCmp))) {\n return newResStr;\n }\n\n const deletedIds = this.findDeletedIds(newResForCurStep, oldResForCurStep);\n\n if (deletedIds.length === 0) {\n return newResStr;\n }\n\n const dataSourceStep = step;\n const stepKeys = this.getStepKeys(newRes).sort();\n this.deleteRes(newRes, dataSourceStep, deletedIds, stepKeys);\n\n return JSON.stringify(newRes);\n } catch (error) {\n console.error(error);\n return newResStr;\n }\n }\n\n /**\n * id sort 规则\n * @param a\n * @param b\n * @returns\n */\n public static idCmp(a: any, b: any) {\n const idA = a.id;\n const idB = b.id;\n if (idA < idB) {\n return -1;\n }\n if (idA > idB) {\n return 1;\n }\n\n return 0;\n }\n\n /**\n * 找到结果被删除的id\n * @param newResForCurStep\n * @param oldResForCurStep\n * @returns {Array<string>}\n */\n public static findDeletedIds(newResForCurStep: any[], oldResForCurStep: any[]) {\n return this.findDeletedItems(oldResForCurStep, newResForCurStep).map((i) => i.id);\n }\n\n /**\n * 找到被删除的结果\n * @param oldResForCurStep\n * @param newResForCurStep\n * @returns {Array<any>}\n */\n public static findDeletedItems(oldResForCurStep: any[], newResForCurStep: any[]) {\n const deletedItems: any[] = [];\n oldResForCurStep.forEach((i: any) => {\n const isNewResExisted = newResForCurStep.some((r: any) => r.id === i.id);\n if (!isNewResExisted) {\n deletedItems.push(i);\n }\n });\n return deletedItems;\n }\n\n /**\n * 根据结果找到所有的步骤\n * @param res\n * @returns {Array<number>} 结果步骤列表\n */\n public static getStepKeys(res: any) {\n return Object.keys(res)\n .map((i) => parseInt(i.replace('step_', ''), 10))\n .filter((i) => !isNaN(i));\n }\n\n /**\n * 删除依赖数据的结果\n * @param resData 当前文件的结果\n * @param dataSourceStep 依赖步骤\n * @param deletedIds 需要删除的sourceID\n * @param stepKeys 结果的步骤\n */\n public static deleteRes(\n resData: any,\n dataSourceStep: number,\n deletedIds: string[],\n stepKeys: number[],\n ) {\n stepKeys.forEach((s) => {\n if (s > dataSourceStep) {\n const stepRes = resData[`step_${s}`];\n // 文件夹标签, 分割工具 没有依赖, 不进行判断\n if ([EToolName.FolderTag, EToolName.Segmentation].includes(stepRes.tool)) {\n return;\n }\n if (stepRes.dataSourceStep === dataSourceStep) {\n const newDeletedIds: string[] = [];\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n newDeletedIds.push(i.id);\n return false;\n }\n\n return true;\n });\n this.deleteRes(resData, s, newDeletedIds, stepKeys);\n } else {\n // 非直接依赖关系下,也同样过滤删除了对应框的数据(注意: 该场景不包含 filterData 过滤属性下,更改框的属性来删除对应的框体)\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n return false;\n }\n\n return true;\n });\n }\n }\n });\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;0BAOyC;AAAA,SAQzB,iBAAiB,YAAoB,MAAc,eAAuB;AAEtF,QAAI;AACF,YAAM,WAAW,WAAW;AAC5B,YAAM,cAAc,WAAW;AAC/B,YAAM,WAAW,QAAQ;AACzB,UAAI,SAAS,WAAW;AAEtB,cAAM,OAAO,SAAS;AACtB,YAAI,KAAK,QAAQ;AACf,eAAK,SAAS,KAAK,OAAO,IAAI,CAAC,UAAe,iCACzC,QADyC;AAAA,YAG5C,IAAI,KAAK,GAAG;AAAA;AAEd,sBAAY,YAAY;AACxB,iBAAO,KAAK,UAAU;AAAA;AAAA;AAG1B,aAAO;AAAA,aACD,GAAN;AACA,aAAO;AAAA;AAAA;AAAA,SASG,gCAAgC,QAAa,iBAAwB;AACjF,UAAM,qBAAqB,iCAAQ,IAAI,CAAC,MAA4B,EAAE,UAAU;AAChF,UAAM,wBAAwB,mDAAiB,IAAI,CAAC,MAAM,EAAE,IAAI;AAEhE,WAAO,EAAE,QAAQ,oBAAoB;AAAA;AAAA,SASzB,2BAA2B,QAAa,iBAAwB;AAC5E,UAAM,qBAAqB,iCAAQ,IAAI,CAAC,MAA4B,EAAE,UAAU;AAEhF,WAAO,gBAAgB,OAAO,CAAC,MAAM,CAAC,mBAAmB,SAAS,EAAE;AAAA;AAAA,SAYxD,qBACZ,YACA,cACA,YACA,iBACA,YACA;AACA,UAAM,aAAa,kCAAc;AAEjC,YAAQ,WAAW;AAAA,WACZ,UAAU;AAAA,WACV,UAAU,MAAM;AAInB,YAAI,WAAW,iBAAiB,GAAG;AACjC,gBAAM,kBAAkB,KAAK,2BAA2B,YAAY;AACpE,cAAI,gBAAgB,SAAS,GAAG;AAC9B,mBAAO,WAAW,OAChB,aAAa,kBAAkB,WAAW,gBAAgB;AAAA;AAAA;AAKhE,YAAI,eAAe,MAAM;AACvB,iBAAO;AAAA;AAGT,eAAO,aAAa,kBAAkB,WAAW,gBAAgB;AAAA;AAAA,eAG1D;AACP,eAAO;AAAA;AAAA;AAAA;AAAA,SAYC,eACZ,WACA,WACA,MACA,UACA;AA1HJ;AA2HI,QAAI;AACF,YAAM,UAAU,UAAU,YAAY,MAAM;AAC5C,YAAM,UAAU,QAAQ,QAAQ;AAChC,YAAM,SAAS,WAAW;AAC1B,YAAM,SAAS,WAAW;AAC1B,YAAM,mBAAmB,aAAO,aAAP,mBAAiB;AAC1C,YAAM,mBAAmB,aAAO,aAAP,mBAAiB;AAG1C,UAAI,CAAC,kBAAkB;AACrB,eAAO;AAAA;AAGT,UAAI,EAAE,QAAQ,iBAAiB,KAAK,KAAK,QAAQ,iBAAiB,KAAK,KAAK,SAAS;AACnF,eAAO;AAAA;AAGT,YAAM,aAAa,KAAK,eAAe,kBAAkB;AAEzD,UAAI,WAAW,WAAW,GAAG;AAC3B,eAAO;AAAA;AAGT,YAAM,iBAAiB;AACvB,YAAM,WAAW,KAAK,YAAY,QAAQ;AAC1C,WAAK,UAAU,QAAQ,gBAAgB,YAAY;AAEnD,aAAO,KAAK,UAAU;AAAA,aACf,OAAP;AACA,cAAQ,MAAM;AACd,aAAO;AAAA;AAAA;AAAA,SAUG,MAAM,GAAQ,GAAQ;AAClC,UAAM,MAAM,EAAE;AACd,UAAM,MAAM,EAAE;AACd,QAAI,MAAM,KAAK;AACb,aAAO;AAAA;AAET,QAAI,MAAM,KAAK;AACb,aAAO;AAAA;AAGT,WAAO;AAAA;AAAA,SASK,eAAe,kBAAyB,kBAAyB;AAC7E,WAAO,KAAK,iBAAiB,kBAAkB,kBAAkB,IAAI,CAAC,MAAM,EAAE;AAAA;AAAA,SASlE,iBAAiB,kBAAyB,kBAAyB;AAC/E,UAAM,eAAsB;AAC5B,qBAAiB,QAAQ,CAAC,MAAW;AACnC,YAAM,kBAAkB,iBAAiB,KAAK,CAAC,MAAW,EAAE,OAAO,EAAE;AACrE,UAAI,CAAC,iBAAiB;AACpB,qBAAa,KAAK;AAAA;AAAA;AAGtB,WAAO;AAAA;AAAA,SAQK,YAAY,KAAU;AAClC,WAAO,OAAO,KAAK,KAChB,IAAI,CAAC,MAAM,SAAS,EAAE,QAAQ,SAAS,KAAK,KAC5C,OAAO,CAAC,MAAM,CAAC,MAAM;AAAA;AAAA,SAUZ,UACZ,SACA,gBACA,YACA,UACA;AACA,aAAS,QAAQ,CAAC,MAAM;AACtB,UAAI,IAAI,gBAAgB;AACtB,cAAM,UAAU,QAAQ,QAAQ;AAEhC,YAAI,CAAC,UAAU,WAAW,UAAU,cAAc,SAAS,QAAQ,OAAO;AACxE;AAAA;AAEF,YAAI,QAAQ,mBAAmB,gBAAgB;AAC7C,gBAAM,gBAA0B;AAChC,kBAAQ,SAAS,QAAQ,OAAO,OAAO,CAAC,MAAW;AACjD,kBAAM,QAAQ,WAAW,SAAS,EAAE;AACpC,gBAAI,OAAO;AACT,4BAAc,KAAK,EAAE;AACrB,qBAAO;AAAA;AAGT,mBAAO;AAAA;AAET,eAAK,UAAU,SAAS,GAAG,eAAe;AAAA,eACrC;AAEL,kBAAQ,SAAS,QAAQ,OAAO,OAAO,CAAC,MAAW;AACjD,kBAAM,QAAQ,WAAW,SAAS,EAAE;AACpC,gBAAI,OAAO;AACT,qBAAO;AAAA;AAGT,mBAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"AnnotationDataUtils.js","sources":["../../src/utils/AnnotationDataUtils.ts"],"sourcesContent":["import { uuid } from '@labelbee/lb-annotation';\nimport { jsonParser } from '.';\nimport { EToolName } from '@/data/enums/ToolType';\nimport _ from 'lodash';\nimport StepUtils from './StepUtils';\nimport { IStepInfo } from '@/types/step';\n\nexport default class AnnotationDataUtils {\n /**\n * 复制上一张图片结果\n * @param copyResult 复制的结果\n * @param step 复制的步骤\n * @param currentResult 当前的步骤\n * @returns\n */\n public static copyResultChange(copyResult: string, step: number, currentResult: string) {\n // 其实其限定的范围一般都在单图的情况\n try {\n const copyData = jsonParser(copyResult);\n const currentData = jsonParser(currentResult);\n const stepName = `step_${step}`;\n if (copyData[stepName]) {\n // 这层可能还要处理 dataSource 依赖问题\n const info = copyData[stepName];\n if (info.result) {\n info.result = info.result.map((info: any) => ({\n ...info,\n // @ts-ignore\n id: uuid(8, 62),\n }));\n currentData[stepName] = info;\n return JSON.stringify(currentData);\n }\n }\n return copyResult;\n } catch {\n return copyResult;\n }\n }\n\n /**\n * 判断结果sourceID与依赖数据的id是否能对应\n * @param result\n * @param basicResultList\n */\n public static isResultSourceMatchedDependence(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n const sourceIDForDependStep = basicResultList?.map((i) => i.id).sort();\n\n return _.isEqual(sourceIDForCurStep, sourceIDForDependStep);\n }\n\n /**\n * 获取依赖增量更新的内容\n * @param result\n * @param basicResultList\n * @returns\n */\n public static deltaUpdateBasicResultList(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n\n return basicResultList.filter((v) => !sourceIDForCurStep.includes(v.id));\n }\n\n /**\n *\n * @param stepResult\n * @param toolInstance\n * @param stepConfig\n * @param basicResultList 获取初始化数据 该部分默认输入需要为空数组\n * @param isInitData\n * @returns\n */\n public static getInitialResultList(\n stepResult: any[] | undefined,\n toolInstance: any,\n stepConfig: any,\n basicResultList: any[],\n isInitData: boolean,\n ) {\n const resultList = stepResult ?? [];\n\n switch (stepConfig.tool) {\n case EToolName.Tag:\n case EToolName.Text: {\n /**\n * 在依赖的情况下,检查的是否需要增量更新前面新增的结果\n */\n if (stepConfig.dataSourceStep > 0) {\n const deltaResultList = this.deltaUpdateBasicResultList(resultList, basicResultList);\n if (deltaResultList.length > 0) {\n return resultList.concat(\n toolInstance.getInitResultList(stepConfig.dataSourceStep, deltaResultList),\n );\n }\n }\n\n if (isInitData !== true) {\n return resultList;\n }\n\n return toolInstance.getInitResultList(stepConfig.dataSourceStep, basicResultList);\n }\n\n default: {\n return resultList;\n }\n }\n }\n\n /**\n * 修正数据,找到被删除的数据,并将依赖该数据的结果全部删除\n * @param newResStr 新提交的数据\n * @param oldResStr 当前的数据\n * @param step 当前操作的步骤\n * @param stepList 步骤列表\n */\n public static dataCorrection(\n newResStr: string,\n oldResStr: string,\n step: number,\n stepList: IStepInfo[],\n ) {\n try {\n const curStep = StepUtils.getStepInfo(step, stepList);\n const stepKey = `step_${curStep.step}`;\n const newRes = jsonParser(newResStr);\n const oldRes = jsonParser(oldResStr);\n const newResForCurStep = newRes[stepKey]?.result;\n const oldResForCurStep = oldRes[stepKey]?.result;\n\n /** 没有旧数据时不处理 */\n if (!oldResForCurStep) {\n return newResStr;\n }\n\n if (_.isEqual(newResForCurStep.sort(this.idCmp), oldResForCurStep.sort(this.idCmp))) {\n return newResStr;\n }\n\n const deletedIds = this.findDeletedIds(newResForCurStep, oldResForCurStep);\n\n if (deletedIds.length === 0) {\n return newResStr;\n }\n\n const dataSourceStep = step;\n const stepKeys = this.getStepKeys(newRes).sort();\n this.deleteRes(newRes, dataSourceStep, deletedIds, stepKeys);\n\n return JSON.stringify(newRes);\n } catch (error) {\n console.error(error);\n return newResStr;\n }\n }\n\n /**\n * id sort 规则\n * @param a\n * @param b\n * @returns\n */\n public static idCmp(a: any, b: any) {\n const idA = a.id;\n const idB = b.id;\n if (idA < idB) {\n return -1;\n }\n if (idA > idB) {\n return 1;\n }\n\n return 0;\n }\n\n /**\n * 找到结果被删除的id\n * @param newResForCurStep\n * @param oldResForCurStep\n * @returns {Array<string>}\n */\n public static findDeletedIds(newResForCurStep: any[], oldResForCurStep: any[]) {\n return this.findDeletedItems(oldResForCurStep, newResForCurStep).map((i) => i.id);\n }\n\n /**\n * 找到被删除的结果\n * @param oldResForCurStep\n * @param newResForCurStep\n * @returns {Array<any>}\n */\n public static findDeletedItems(oldResForCurStep: any[], newResForCurStep: any[]) {\n const deletedItems: any[] = [];\n oldResForCurStep.forEach((i: any) => {\n const isNewResExisted = newResForCurStep.some((r: any) => r.id === i.id);\n if (!isNewResExisted) {\n deletedItems.push(i);\n }\n });\n return deletedItems;\n }\n\n /**\n * 根据结果找到所有的步骤\n * @param res\n * @returns {Array<number>} 结果步骤列表\n */\n public static getStepKeys(res: any) {\n return Object.keys(res)\n .map((i) => parseInt(i.replace('step_', ''), 10))\n .filter((i) => !isNaN(i));\n }\n\n /**\n * 删除依赖数据的结果\n * @param resData 当前文件的结果\n * @param dataSourceStep 依赖步骤\n * @param deletedIds 需要删除的sourceID\n * @param stepKeys 结果的步骤\n */\n public static deleteRes(\n resData: any,\n dataSourceStep: number,\n deletedIds: string[],\n stepKeys: number[],\n ) {\n stepKeys.forEach((s) => {\n if (s > dataSourceStep) {\n const stepRes = resData[`step_${s}`];\n // 文件夹标签, 分割工具 没有依赖, 不进行判断\n if ([EToolName.FolderTag, EToolName.Segmentation].includes(stepRes.tool)) {\n return;\n }\n if (stepRes.dataSourceStep === dataSourceStep) {\n const newDeletedIds: string[] = [];\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n newDeletedIds.push(i.id);\n return false;\n }\n\n return true;\n });\n this.deleteRes(resData, s, newDeletedIds, stepKeys);\n } else {\n // 非直接依赖关系下,也同样过滤删除了对应框的数据(注意: 该场景不包含 filterData 过滤属性下,更改框的属性来删除对应的框体)\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n return false;\n }\n\n return true;\n });\n }\n }\n });\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigUtils.js","sources":["../../src/utils/ConfigUtils.ts"],"sourcesContent":["import { isObject } from 'lodash';\n\nexport class ConfigUtils {\n public static jsonParser(content: any, defaultValue: any = {}) {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n }\n\n /**\n * 获取对应的步骤配置\n * @param stepList \n * @param step \n */\n public static getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n}\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"ConfigUtils.js","sources":["../../src/utils/ConfigUtils.ts"],"sourcesContent":["import { isObject } from 'lodash';\n\nexport class ConfigUtils {\n public static jsonParser(content: any, defaultValue: any = {}) {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n }\n\n /**\n * 获取对应的步骤配置\n * @param stepList \n * @param step \n */\n public static getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n}\n"],"names":[],"mappings":";;AAEyB,MAAA,WAAA,CAAA;AAAA,EACT,OAAA,UAAA,CAAW,OAAc,EAAA,YAAA,GAAoB,EAAI,EAAA;AAC7D,IAAI,IAAA;AACF,MAAI,IAAA,OAAO,YAAY,QAAU,EAAA;AAC/B,QAAA,OAAO,KAAK,KAAM,CAAA,OAAA,CAAA,CAAA;AAAA,OAAA;AAEpB,MAAO,OAAA,QAAA,CAAS,WAAW,OAAU,GAAA,YAAA,CAAA;AAAA,KAAA,CAAA,OAC9B,CAAP,EAAA;AACA,MAAO,OAAA,YAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AAAA,CAAA;AASG,WAjBT,CAiBS,aAAgB,GAAA,CAAC,QAAiB,EAAA,IAAA,KAC9C,SAAS,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,IAAS,KAAA,IAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageOperator.js","sources":["../../src/utils/PageOperator.ts"],"sourcesContent":["import { EPageTurningOperation } from '../data/enums/AnnotationSize';\nimport _ from 'lodash';\nimport { jsonParser } from '.';\n\ninterface IPageInfo {\n fileIndex: number;\n basicIndex: number;\n basicList: any[];\n fileList: any[];\n step: number;\n stepList: any[];\n}\n\nclass PageOperator {\n public static getPageInfo(annotationStore: any) {\n const {\n imgIndex: fileIndex,\n imgList: fileList,\n basicResultList: basicList,\n basicIndex,\n step,\n stepList,\n } = annotationStore;\n\n return {\n fileIndex,\n basicIndex,\n basicList,\n fileList,\n step,\n stepList,\n };\n }\n\n /**\n *\n * @param pageTurningOperation\n * @param nextIndex\n */\n public static getNextPageInfo(\n pageTurningOperation: EPageTurningOperation,\n annotationStore: any,\n nextIndex?: number,\n ) {\n const pageInfo: IPageInfo = PageOperator.getPageInfo(annotationStore);\n const { fileIndex: currentFileIndex } = PageOperator.getPageInfo(annotationStore);\n\n const nextFileIndex = PageOperator.getNextFileIndex(pageTurningOperation, pageInfo, nextIndex);\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n const fileIndexChanged = nextFileIndex !== currentFileIndex;\n\n const hasNextBasicIndex = PageOperator.hasNextBasicIndex(pageTurningOperation, pageInfo);\n\n const pageChangedInfo = {\n fileIndex: nextFileIndex,\n basicIndex: nextBasicIndex,\n fileIndexChanged,\n basicIndexChanged: hasNextBasicIndex,\n };\n\n if (hasNextBasicIndex) {\n pageChangedInfo.fileIndexChanged = false;\n pageChangedInfo.fileIndex = currentFileIndex;\n return pageChangedInfo;\n }\n\n pageChangedInfo.basicIndex =\n pageTurningOperation === EPageTurningOperation.Backward\n ? PageOperator.getBasicResultIndexForNextFile(pageInfo, pageChangedInfo.fileIndex)\n : 0;\n\n return pageChangedInfo;\n }\n\n /**\n * 获取下一个依赖索引\n * @param pageTurningOperation\n */\n public static getNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n basicIndex: number,\n ) => {\n return basicIndex + (pageTurningOperation === EPageTurningOperation.Forward ? 1 : -1);\n };\n\n /**\n * 存在下一个依赖数据\n * @param pageTurningOperation\n */\n public static hasNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n ) => {\n const { basicList } = pageInfo;\n if (basicList?.length > 0) {\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n\n return nextBasicIndex >= 0 && basicList.length > nextBasicIndex;\n }\n\n return false;\n };\n\n public static getBasicResultIndexForNextFile = (pageInfo: IPageInfo, fileIndex: number) => {\n const { stepList, step, fileList } = pageInfo;\n const stepConfig = stepList.find((i) => i.step === step);\n const dataSourceStep = stepConfig?.dataSourceStep;\n\n if (dataSourceStep) {\n const fileResult = jsonParser(fileList[fileIndex].result);\n const stepResult = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (!stepResult || !stepResult?.length) {\n return 0;\n }\n\n return stepResult?.length - 1;\n }\n\n return 0;\n };\n\n /**\n * 计算下一个文件的索引\n * @param pageTurningOperation\n * @param fileIndex\n */\n public static getNextFileIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n fileIndex?: number,\n ) => {\n const { fileIndex: currentFileIndex, fileList } = pageInfo;\n\n let newIndex = fileIndex !== undefined ? fileIndex : currentFileIndex;\n switch (pageTurningOperation) {\n case EPageTurningOperation.Forward:\n newIndex += 1;\n break;\n case EPageTurningOperation.Backward:\n newIndex -= 1;\n break;\n case EPageTurningOperation.Jump:\n break;\n }\n\n if (_.inRange(newIndex, 0, fileList.length)) {\n return newIndex;\n }\n\n return currentFileIndex;\n };\n}\n\nexport default PageOperator;\n"],"names":[],"mappings":";;;;AAaA,
|
|
1
|
+
{"version":3,"file":"PageOperator.js","sources":["../../src/utils/PageOperator.ts"],"sourcesContent":["import { EPageTurningOperation } from '../data/enums/AnnotationSize';\nimport _ from 'lodash';\nimport { jsonParser } from '.';\n\ninterface IPageInfo {\n fileIndex: number;\n basicIndex: number;\n basicList: any[];\n fileList: any[];\n step: number;\n stepList: any[];\n}\n\nclass PageOperator {\n public static getPageInfo(annotationStore: any) {\n const {\n imgIndex: fileIndex,\n imgList: fileList,\n basicResultList: basicList,\n basicIndex,\n step,\n stepList,\n } = annotationStore;\n\n return {\n fileIndex,\n basicIndex,\n basicList,\n fileList,\n step,\n stepList,\n };\n }\n\n /**\n *\n * @param pageTurningOperation\n * @param nextIndex\n */\n public static getNextPageInfo(\n pageTurningOperation: EPageTurningOperation,\n annotationStore: any,\n nextIndex?: number,\n ) {\n const pageInfo: IPageInfo = PageOperator.getPageInfo(annotationStore);\n const { fileIndex: currentFileIndex } = PageOperator.getPageInfo(annotationStore);\n\n const nextFileIndex = PageOperator.getNextFileIndex(pageTurningOperation, pageInfo, nextIndex);\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n const fileIndexChanged = nextFileIndex !== currentFileIndex;\n\n const hasNextBasicIndex = PageOperator.hasNextBasicIndex(pageTurningOperation, pageInfo);\n\n const pageChangedInfo = {\n fileIndex: nextFileIndex,\n basicIndex: nextBasicIndex,\n fileIndexChanged,\n basicIndexChanged: hasNextBasicIndex,\n };\n\n if (hasNextBasicIndex) {\n pageChangedInfo.fileIndexChanged = false;\n pageChangedInfo.fileIndex = currentFileIndex;\n return pageChangedInfo;\n }\n\n pageChangedInfo.basicIndex =\n pageTurningOperation === EPageTurningOperation.Backward\n ? PageOperator.getBasicResultIndexForNextFile(pageInfo, pageChangedInfo.fileIndex)\n : 0;\n\n return pageChangedInfo;\n }\n\n /**\n * 获取下一个依赖索引\n * @param pageTurningOperation\n */\n public static getNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n basicIndex: number,\n ) => {\n return basicIndex + (pageTurningOperation === EPageTurningOperation.Forward ? 1 : -1);\n };\n\n /**\n * 存在下一个依赖数据\n * @param pageTurningOperation\n */\n public static hasNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n ) => {\n const { basicList } = pageInfo;\n if (basicList?.length > 0) {\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n\n return nextBasicIndex >= 0 && basicList.length > nextBasicIndex;\n }\n\n return false;\n };\n\n public static getBasicResultIndexForNextFile = (pageInfo: IPageInfo, fileIndex: number) => {\n const { stepList, step, fileList } = pageInfo;\n const stepConfig = stepList.find((i) => i.step === step);\n const dataSourceStep = stepConfig?.dataSourceStep;\n\n if (dataSourceStep) {\n const fileResult = jsonParser(fileList[fileIndex].result);\n const stepResult = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (!stepResult || !stepResult?.length) {\n return 0;\n }\n\n return stepResult?.length - 1;\n }\n\n return 0;\n };\n\n /**\n * 计算下一个文件的索引\n * @param pageTurningOperation\n * @param fileIndex\n */\n public static getNextFileIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n fileIndex?: number,\n ) => {\n const { fileIndex: currentFileIndex, fileList } = pageInfo;\n\n let newIndex = fileIndex !== undefined ? fileIndex : currentFileIndex;\n switch (pageTurningOperation) {\n case EPageTurningOperation.Forward:\n newIndex += 1;\n break;\n case EPageTurningOperation.Backward:\n newIndex -= 1;\n break;\n case EPageTurningOperation.Jump:\n break;\n }\n\n if (_.inRange(newIndex, 0, fileList.length)) {\n return newIndex;\n }\n\n return currentFileIndex;\n };\n}\n\nexport default PageOperator;\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StepUtils.js","sources":["../../src/utils/StepUtils.ts"],"sourcesContent":["import { EStepType } from '@/constant';\nimport { IStepInfo } from '@/types/step';\n\nexport default class StepUtils {\n /**\n * 获取当前步骤的步骤配置信息,用于当前标注配置的获取\n * @export\n * @param {number} currentStep\n * @param {IStepInfo[]} stepList\n * @returns {*}\n */\n public static getCurrentStepInfo(currentStep: number, stepList: IStepInfo[]) {\n const currentStepInfo = this.getStepInfo(currentStep, stepList);\n\n const useDataSourceStep = [EStepType.QUALITY_INSPECTION, EStepType.MANUAL_CORRECTION].includes(\n currentStepInfo?.type,\n );\n\n /** 人工修正、质检获取 dataSourceStep 作为步骤配置 */\n if (useDataSourceStep) {\n return this.getStepInfo(currentStepInfo.dataSourceStep, stepList);\n }\n\n return currentStepInfo;\n }\n\n /**\n * 找到指定步骤的数据\n * @param step 获取的步骤\n * @param stepList 步骤列表\n * @returns 步骤配置\n */\n public static getStepInfo(step: number, stepList: IStepInfo[]) {\n return stepList?.filter((info) => info.step === step)[0];\n }\n}\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"StepUtils.js","sources":["../../src/utils/StepUtils.ts"],"sourcesContent":["import { EStepType } from '@/constant';\nimport { IStepInfo } from '@/types/step';\n\nexport default class StepUtils {\n /**\n * 获取当前步骤的步骤配置信息,用于当前标注配置的获取\n * @export\n * @param {number} currentStep\n * @param {IStepInfo[]} stepList\n * @returns {*}\n */\n public static getCurrentStepInfo(currentStep: number, stepList: IStepInfo[]) {\n const currentStepInfo = this.getStepInfo(currentStep, stepList);\n\n const useDataSourceStep = [EStepType.QUALITY_INSPECTION, EStepType.MANUAL_CORRECTION].includes(\n currentStepInfo?.type,\n );\n\n /** 人工修正、质检获取 dataSourceStep 作为步骤配置 */\n if (useDataSourceStep) {\n return this.getStepInfo(currentStepInfo.dataSourceStep, stepList);\n }\n\n return currentStepInfo;\n }\n\n /**\n * 找到指定步骤的数据\n * @param step 获取的步骤\n * @param stepList 步骤列表\n * @returns 步骤配置\n */\n public static getStepInfo(step: number, stepList: IStepInfo[]) {\n return stepList?.filter((info) => info.step === step)[0];\n }\n}\n"],"names":[],"mappings":";;AAG+B,MAAA,SAAA,CAAA;AAAA,EAQd,OAAA,kBAAA,CAAmB,aAAqB,QAAuB,EAAA;AAC5E,IAAM,MAAA,eAAA,GAAkB,IAAK,CAAA,WAAA,CAAY,WAAa,EAAA,QAAA,CAAA,CAAA;AAEtD,IAAA,MAAM,oBAAoB,CAAC,SAAA,CAAU,oBAAoB,SAAU,CAAA,iBAAA,CAAA,CAAmB,SACpF,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,IAAA,CAAA,CAAA;AAInB,IAAA,IAAI,iBAAmB,EAAA;AACrB,MAAO,OAAA,IAAA,CAAK,WAAY,CAAA,eAAA,CAAgB,cAAgB,EAAA,QAAA,CAAA,CAAA;AAAA,KAAA;AAG1D,IAAO,OAAA,eAAA,CAAA;AAAA,GAAA;AAAA,EASM,OAAA,WAAA,CAAY,MAAc,QAAuB,EAAA;AAC9D,IAAA,OAAO,qCAAU,MAAO,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,SAAS,IAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextUtils.js","sources":["../../src/utils/TextUtils.ts"],"sourcesContent":["import { ETextType } from '@/data/enums/ToolType';\n\nexport const REGEXP_NUMBER = '^[0-9]+$';\nexport const REGEXP_ENGLISH = '^[A-Za-z]+$';\n\nexport class TextUtils {\n public static checkString(textCheckType: ETextType, customFormat: string) {\n let regExpString = '';\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n regExpString = REGEXP_NUMBER;\n break;\n case ETextType.EnglishOnly:\n regExpString = REGEXP_ENGLISH;\n break;\n case ETextType.CustomFormat:\n regExpString = customFormat;\n break;\n }\n return regExpString;\n }\n\n public static getErrorNotice(textCheckType: ETextType) {\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n return '请按仅数字的格式输入';\n case ETextType.EnglishOnly:\n return '请按仅英文的格式输入';\n case ETextType.CustomFormat:\n return '请按要求的格式输入';\n default:\n return '';\n }\n }\n}\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"TextUtils.js","sources":["../../src/utils/TextUtils.ts"],"sourcesContent":["import { ETextType } from '@/data/enums/ToolType';\n\nexport const REGEXP_NUMBER = '^[0-9]+$';\nexport const REGEXP_ENGLISH = '^[A-Za-z]+$';\n\nexport class TextUtils {\n public static checkString(textCheckType: ETextType, customFormat: string) {\n let regExpString = '';\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n regExpString = REGEXP_NUMBER;\n break;\n case ETextType.EnglishOnly:\n regExpString = REGEXP_ENGLISH;\n break;\n case ETextType.CustomFormat:\n regExpString = customFormat;\n break;\n }\n return regExpString;\n }\n\n public static getErrorNotice(textCheckType: ETextType) {\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n return '请按仅数字的格式输入';\n case ETextType.EnglishOnly:\n return '请按仅英文的格式输入';\n case ETextType.CustomFormat:\n return '请按要求的格式输入';\n default:\n return '';\n }\n }\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAgB,GAAA,WAAA;AACtB,MAAM,cAAiB,GAAA,cAAA;AAEP,MAAA,SAAA,CAAA;AAAA,EACP,OAAA,WAAA,CAAY,eAA0B,YAAsB,EAAA;AACxE,IAAA,IAAI,YAAe,GAAA,EAAA,CAAA;AACnB,IAAQ,QAAA,aAAA;AAAA,MAAA,KACD,SAAU,CAAA,KAAA,CAAA;AAAA,MAAA,KACV,SAAU,CAAA,UAAA;AACb,QAAe,YAAA,GAAA,aAAA,CAAA;AACf,QAAA,MAAA;AAAA,MAAA,KACG,SAAU,CAAA,WAAA;AACb,QAAe,YAAA,GAAA,cAAA,CAAA;AACf,QAAA,MAAA;AAAA,MAAA,KACG,SAAU,CAAA,YAAA;AACb,QAAe,YAAA,GAAA,YAAA,CAAA;AACf,QAAA,MAAA;AAAA,KAAA;AAEJ,IAAO,OAAA,YAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAGK,eAAe,aAA0B,EAAA;AACrD,IAAQ,QAAA,aAAA;AAAA,MAAA,KACD,SAAU,CAAA,KAAA,CAAA;AAAA,MAAA,KACV,SAAU,CAAA,UAAA;AACb,QAAO,OAAA,8DAAA,CAAA;AAAA,MAAA,KACJ,SAAU,CAAA,WAAA;AACb,QAAO,OAAA,8DAAA,CAAA;AAAA,MAAA,KACJ,SAAU,CAAA,YAAA;AACb,QAAO,OAAA,wDAAA,CAAA;AAAA,MAAA;AAEP,QAAO,OAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolStyleUtils.js","sources":["../../src/utils/ToolStyleUtils.ts"],"sourcesContent":["import {\n CHANGE_COLOR,\n DEFAULT_COLOR,\n COLORS_ARRAY,\n NULL_COLOR,\n BORDER_OPACITY_LEVEL,\n FILL_OPACITY_LEVEL,\n} from '@/data/Style';\nimport _ from 'lodash';\n\nconst FILL_OPACITY = 0.8;\n\nexport class ToolStyleUtils {\n public static changeOpacity: { [a: number]: number } = {\n 1: 0.2,\n 3: 0.4,\n 5: 0.6,\n 7: 0.8,\n 9: 1.0,\n };\n\n public static colorSplit(color: string, opacity: number) {\n return color\n .split(' ')\n .join('')\n .replace(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/, `,${opacity.toFixed(2)})`);\n }\n\n public static computeOpacity(opacity: number, color: string) {\n const s = color\n .split(' ')\n .join('')\n .match(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/)?.[0] || '';\n let firstOpacity = s.match(/[0-9]+([.]{1}[0-9]+){0,1}/)?.[0]\n return opacity * Number(firstOpacity);\n }\n\n public static getToolColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n\n const toolColor = _.cloneDeep(CHANGE_COLOR);\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n const showColor = _.cloneDeep(DEFAULT_COLOR);\n showColor.valid.stroke = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].valid),\n );\n showColor.valid.fill = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].valid) * FILL_OPACITY,\n );\n showColor.validSelected.stroke = colorSplit(\n CHANGE_COLOR[color].select.stroke,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].select.stroke),\n );\n showColor.validSelected.fill = colorSplit(\n CHANGE_COLOR[color].select.fill,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].select.fill) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].hover),\n );\n showColor.validHover.fill = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].hover) * FILL_OPACITY,\n );\n\n // 无效的比例是一样的\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, showColor.invalid.stroke),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(fillOpacity, showColor.invalid.stroke) * FILL_OPACITY,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, showColor.invalidSelected.stroke),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, showColor.invalidSelected.fill) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, showColor.invalidHover.fill),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, showColor.invalidHover.fill) * FILL_OPACITY,\n );\n toolColor[color] = showColor;\n });\n return toolColor;\n }\n\n public static getAttributeColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n let AttributeColorList: string[] = _.cloneDeep(COLORS_ARRAY);\n AttributeColorList.unshift(NULL_COLOR);\n AttributeColorList = AttributeColorList.map((item) => {\n const showColor = JSON.parse(JSON.stringify(DEFAULT_COLOR));\n showColor.valid.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.valid.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.validSelected.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validSelected.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validHover.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n return showColor;\n });\n return AttributeColorList;\n }\n\n public static getDefaultToolLineColors() {\n const toolColor: any = {};\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n toolColor[color] = CHANGE_COLOR[color].line;\n });\n return toolColor;\n }\n\n public static initByOpacity(borderOpacity: number, fillOpacity: number) {\n return {\n toolColor: this.getToolColors(borderOpacity, fillOpacity),\n attributeColor: this.getAttributeColors(borderOpacity, fillOpacity),\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ToolStyleUtils.js","sources":["../../src/utils/ToolStyleUtils.ts"],"sourcesContent":["import {\n CHANGE_COLOR,\n DEFAULT_COLOR,\n COLORS_ARRAY,\n NULL_COLOR,\n BORDER_OPACITY_LEVEL,\n FILL_OPACITY_LEVEL,\n} from '@/data/Style';\nimport _ from 'lodash';\n\nconst FILL_OPACITY = 0.8;\n\nexport class ToolStyleUtils {\n public static changeOpacity: { [a: number]: number } = {\n 1: 0.2,\n 3: 0.4,\n 5: 0.6,\n 7: 0.8,\n 9: 1.0,\n };\n\n public static colorSplit(color: string, opacity: number) {\n return color\n .split(' ')\n .join('')\n .replace(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/, `,${opacity.toFixed(2)})`);\n }\n\n public static computeOpacity(opacity: number, color: string) {\n const s =\n color\n .split(' ')\n .join('')\n .match(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/)?.[0] || '';\n let firstOpacity = s.match(/[0-9]+([.]{1}[0-9]+){0,1}/)?.[0];\n return opacity * Number(firstOpacity);\n }\n\n public static getToolColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n\n const toolColor = _.cloneDeep(CHANGE_COLOR);\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n const showColor = _.cloneDeep(DEFAULT_COLOR);\n showColor.valid.stroke = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].valid),\n );\n showColor.valid.fill = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].valid) * FILL_OPACITY,\n );\n showColor.validSelected.stroke = colorSplit(\n CHANGE_COLOR[color].select.stroke,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].select.stroke),\n );\n showColor.validSelected.fill = colorSplit(\n CHANGE_COLOR[color].select.fill,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].select.fill) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].hover),\n );\n showColor.validHover.fill = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].hover) * FILL_OPACITY,\n );\n\n // 无效的比例是一样的\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, showColor.invalid.stroke),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(fillOpacity, showColor.invalid.stroke) * FILL_OPACITY,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, showColor.invalidSelected.stroke),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, showColor.invalidSelected.fill) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, showColor.invalidHover.fill),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, showColor.invalidHover.fill) * FILL_OPACITY,\n );\n toolColor[color] = showColor;\n });\n return toolColor;\n }\n\n public static getAttributeColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n let AttributeColorList: string[] = _.cloneDeep(COLORS_ARRAY);\n AttributeColorList.unshift(NULL_COLOR);\n AttributeColorList = AttributeColorList.map((item) => {\n const showColor = JSON.parse(JSON.stringify(DEFAULT_COLOR));\n showColor.valid.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.valid.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.validSelected.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validSelected.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validHover.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n return showColor;\n });\n return AttributeColorList;\n }\n\n public static getDefaultToolLineColors() {\n const toolColor: any = {};\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n toolColor[color] = CHANGE_COLOR[color].line;\n });\n return toolColor;\n }\n\n public static initByOpacity(borderOpacity: number, fillOpacity: number) {\n return {\n toolColor: this.getToolColors(borderOpacity, fillOpacity),\n attributeColor: this.getAttributeColors(borderOpacity, fillOpacity),\n };\n }\n}\n"],"names":[],"mappings":"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"}
|
package/es/utils/data.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sources":["../../src/utils/data.ts"],"sourcesContent":["import { jsonParser } from '.';\nimport StepUtils from './StepUtils';\n\n/**\n * 解析结果,将图片信息注入到结果\n * @param result\n * @param basicImgInfo\n */\nexport const composeResultWithBasicImgInfo = (\n result: string,\n basicImgInfo: { [a: string]: any },\n) => {\n const newResult = JSON.stringify({ ...jsonParser(result), ...basicImgInfo });\n return newResult;\n};\n\n// 处理result\nexport const composeResult = (\n result: string,\n pos: {\n step: number;\n stepList: any[];\n },\n newData: {\n rect: any[];\n basicRectID?: string;\n },\n) => {\n const { step, stepList } = pos;\n const { rect, basicRectID } = newData;\n\n try {\n const data = jsonParser(result);\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n const { dataSourceStep } = currentStepInfo;\n\n const stepName = `step_${currentStepInfo.step}`;\n\n if (data[stepName]) {\n const info = data[stepName];\n if (info.result) {\n if (JSON.stringify(info.result) === JSON.stringify(rect)) {\n return JSON.stringify(data);\n }\n if (basicRectID) {\n info.result = [\n ...info.result.filter((v: { sourceID: string; }) => !(v.sourceID && v.sourceID === basicRectID)),\n ...rect.filter((v) => v.sourceID && v.sourceID === basicRectID),\n ];\n } else {\n info.result = rect;\n }\n return JSON.stringify(data);\n }\n return JSON.stringify({\n ...data,\n [stepName]: {\n ...data[stepName],\n result: rect,\n },\n });\n }\n // 初始化结果\n return JSON.stringify({\n ...data,\n [stepName]: {\n dataSourceStep,\n toolName: stepList[step - 1].tool,\n result: rect,\n },\n });\n } catch (e) {\n return result;\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"data.js","sources":["../../src/utils/data.ts"],"sourcesContent":["import { jsonParser } from '.';\nimport StepUtils from './StepUtils';\n\n/**\n * 解析结果,将图片信息注入到结果\n * @param result\n * @param basicImgInfo\n */\nexport const composeResultWithBasicImgInfo = (\n result: string,\n basicImgInfo: { [a: string]: any },\n) => {\n const newResult = JSON.stringify({ ...jsonParser(result), ...basicImgInfo });\n return newResult;\n};\n\n// 处理result\nexport const composeResult = (\n result: string,\n pos: {\n step: number;\n stepList: any[];\n },\n newData: {\n rect: any[];\n basicRectID?: string;\n },\n) => {\n const { step, stepList } = pos;\n const { rect, basicRectID } = newData;\n\n try {\n const data = jsonParser(result);\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n const { dataSourceStep } = currentStepInfo;\n\n const stepName = `step_${currentStepInfo.step}`;\n\n if (data[stepName]) {\n const info = data[stepName];\n if (info.result) {\n if (JSON.stringify(info.result) === JSON.stringify(rect)) {\n return JSON.stringify(data);\n }\n if (basicRectID) {\n info.result = [\n ...info.result.filter((v: { sourceID: string; }) => !(v.sourceID && v.sourceID === basicRectID)),\n ...rect.filter((v) => v.sourceID && v.sourceID === basicRectID),\n ];\n } else {\n info.result = rect;\n }\n return JSON.stringify(data);\n }\n return JSON.stringify({\n ...data,\n [stepName]: {\n ...data[stepName],\n result: rect,\n },\n });\n }\n // 初始化结果\n return JSON.stringify({\n ...data,\n [stepName]: {\n dataSourceStep,\n toolName: stepList[step - 1].tool,\n result: rect,\n },\n });\n } catch (e) {\n return result;\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,6BAAA,GAAgC,CAC3C,MAAA,EACA,YACG,KAAA;AACH,EAAA,MAAM,SAAY,GAAA,IAAA,CAAK,SAAU,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAAK,WAAW,MAAY,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AAC7D,EAAO,OAAA,SAAA,CAAA;AAAA,EAAA;AAIF,MAAM,aAAgB,GAAA,CAC3B,MACA,EAAA,GAAA,EAIA,OAIG,KAAA;AACH,EAAM,MAAA,CAAE,MAAM,QAAa,CAAA,GAAA,GAAA,CAAA;AAC3B,EAAM,MAAA,CAAE,MAAM,WAAgB,CAAA,GAAA,OAAA,CAAA;AAE9B,EAAI,IAAA;AACF,IAAA,MAAM,OAAO,UAAW,CAAA,MAAA,CAAA,CAAA;AACxB,IAAM,MAAA,eAAA,GAAkB,SAAU,CAAA,kBAAA,CAAmB,IAAM,EAAA,QAAA,CAAA,CAAA;AAC3D,IAAA,MAAM,CAAE,cAAmB,CAAA,GAAA,eAAA,CAAA;AAE3B,IAAM,MAAA,QAAA,GAAW,QAAQ,eAAgB,CAAA,IAAA,CAAA,CAAA,CAAA;AAEzC,IAAA,IAAI,KAAK,QAAW,CAAA,EAAA;AAClB,MAAA,MAAM,OAAO,IAAK,CAAA,QAAA,CAAA,CAAA;AAClB,MAAA,IAAI,KAAK,MAAQ,EAAA;AACf,QAAA,IAAI,KAAK,SAAU,CAAA,IAAA,CAAK,MAAY,CAAA,KAAA,IAAA,CAAK,UAAU,IAAO,CAAA,EAAA;AACxD,UAAA,OAAO,KAAK,SAAU,CAAA,IAAA,CAAA,CAAA;AAAA,SAAA;AAExB,QAAA,IAAI,WAAa,EAAA;AACf,UAAA,IAAA,CAAK,MAAS,GAAA;AAAA,YACZ,GAAG,IAAK,CAAA,MAAA,CAAO,MAAO,CAAA,CAAC,MAA6B,EAAE,CAAA,CAAE,QAAY,IAAA,CAAA,CAAE,QAAa,KAAA,WAAA,CAAA,CAAA;AAAA,YACnF,GAAG,KAAK,MAAO,CAAA,CAAC,MAAM,CAAE,CAAA,QAAA,IAAY,EAAE,QAAa,KAAA,WAAA,CAAA;AAAA,WAAA,CAAA;AAAA,SAEhD,MAAA;AACL,UAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AAAA,SAAA;AAEhB,QAAA,OAAO,KAAK,SAAU,CAAA,IAAA,CAAA,CAAA;AAAA,OAAA;AAExB,MAAO,OAAA,IAAA,CAAK,SAAU,CAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACjB,IADiB,CAAA,EAAA;AAAA,QAEnB,CAAA,QAAA,GAAW,aACP,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAK,QADE,CAAA,CAAA,EAAA;AAAA,UAEV,MAAQ,EAAA,IAAA;AAAA,SAAA,CAAA;AAAA,OAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAKd,IAAO,OAAA,IAAA,CAAK,SAAU,CAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACjB,IADiB,CAAA,EAAA;AAAA,MAAA,CAEnB,QAAW,GAAA;AAAA,QACV,cAAA;AAAA,QACA,QAAA,EAAU,QAAS,CAAA,IAAA,GAAO,CAAG,CAAA,CAAA,IAAA;AAAA,QAC7B,MAAQ,EAAA,IAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA,OAGL,CAAP,EAAA;AACA,IAAO,OAAA,MAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
|
package/es/utils/dom.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sources":["../../src/utils/dom.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nexport type BasicTarget<T = HTMLElement> =\n | (() => T | null)\n | T\n | null\n | MutableRefObject<T | null | undefined>;\n\ntype TargetElement = HTMLElement | Element | Document | Window;\n\nexport function getTargetElement(\n target?: BasicTarget<TargetElement>,\n defaultElement?: TargetElement,\n): TargetElement | undefined | null {\n if (!target) {\n return defaultElement;\n }\n\n let targetElement: TargetElement | undefined | null;\n\n if (typeof target === 'function') {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n\n return targetElement;\n}"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"dom.js","sources":["../../src/utils/dom.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nexport type BasicTarget<T = HTMLElement> =\n | (() => T | null)\n | T\n | null\n | MutableRefObject<T | null | undefined>;\n\ntype TargetElement = HTMLElement | Element | Document | Window;\n\nexport function getTargetElement(\n target?: BasicTarget<TargetElement>,\n defaultElement?: TargetElement,\n): TargetElement | undefined | null {\n if (!target) {\n return defaultElement;\n }\n\n let targetElement: TargetElement | undefined | null;\n\n if (typeof target === 'function') {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n\n return targetElement;\n}"],"names":[],"mappings":"AAUO,SAAA,gBAAA,CACL,QACA,cACkC,EAAA;AAClC,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,cAAA,CAAA;AAAA,GAAA;AAGT,EAAI,IAAA,aAAA,CAAA;AAEJ,EAAI,IAAA,OAAO,WAAW,UAAY,EAAA;AAChC,IAAgB,aAAA,GAAA,MAAA,EAAA,CAAA;AAAA,GAAA,MAAA,IACP,aAAa,MAAQ,EAAA;AAC9B,IAAA,aAAA,GAAgB,MAAO,CAAA,OAAA,CAAA;AAAA,GAClB,MAAA;AACL,IAAgB,aAAA,GAAA,MAAA,CAAA;AAAA,GAAA;AAGlB,EAAO,OAAA,aAAA,CAAA;AAAA;;;;"}
|
package/es/utils/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import s from"lodash";const o=(r,
|
|
1
|
+
import s from"lodash";const o=(r,i={})=>{try{return typeof r=="string"?JSON.parse(r):s.isObject(r)?r:i}catch(t){return i}},n=r=>{if(Array.isArray(r))return r.join(" ");if(s.isObject(r)){const i=[];return Object.keys(r).forEach(t=>{r[t]&&i.push(t)}),i.join(" ")}return""};export{n as classnames,o as jsonParser};
|
package/es/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport const jsonParser = (content: any, defaultValue: any = {}) => {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return _.isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n};\n\nexport const getNewNode = <T>(newNode: T, oldNode: T): T => {\n return newNode || _.isNull(newNode) ? newNode : oldNode;\n};\n\nexport const classnames = (className: { [key: string]: boolean } | string[]) => {\n if (Array.isArray(className)) {\n return className.join(' ');\n }\n\n if (_.isObject(className)) {\n const classArray: string[] = [];\n Object.keys(className).forEach((key) => {\n if (className[key]) {\n classArray.push(key);\n }\n });\n\n return classArray.join(' ');\n }\n\n return '';\n};\n"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport const jsonParser = (content: any, defaultValue: any = {}) => {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return _.isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n};\n\nexport const getNewNode = <T>(newNode: T, oldNode: T): T => {\n return newNode || _.isNull(newNode) ? newNode : oldNode;\n};\n\nexport const classnames = (className: { [key: string]: boolean } | string[]) => {\n if (Array.isArray(className)) {\n return className.join(' ');\n }\n\n if (_.isObject(className)) {\n const classArray: string[] = [];\n Object.keys(className).forEach((key) => {\n if (className[key]) {\n classArray.push(key);\n }\n });\n\n return classArray.join(' ');\n }\n\n return '';\n};\n"],"names":[],"mappings":";;AAEO,MAAM,UAAa,GAAA,CAAC,OAAc,EAAA,YAAA,GAAoB,EAAO,KAAA;AAClE,EAAI,IAAA;AACF,IAAI,IAAA,OAAO,YAAY,QAAU,EAAA;AAC/B,MAAA,OAAO,KAAK,KAAM,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAEpB,IAAO,OAAA,CAAA,CAAE,QAAS,CAAA,OAAA,CAAA,GAAW,OAAU,GAAA,YAAA,CAAA;AAAA,GAAA,CAAA,OAChC,CAAP,EAAA;AACA,IAAO,OAAA,YAAA,CAAA;AAAA,GAAA;AAAA,EAAA;AAQE,MAAA,UAAA,GAAa,CAAC,SAAqD,KAAA;AAC9E,EAAI,IAAA,KAAA,CAAM,QAAQ,SAAY,CAAA,EAAA;AAC5B,IAAA,OAAO,UAAU,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA;AAGxB,EAAI,IAAA,CAAA,CAAE,SAAS,SAAY,CAAA,EAAA;AACzB,IAAA,MAAM,UAAuB,GAAA,EAAA,CAAA;AAC7B,IAAA,MAAA,CAAO,IAAK,CAAA,SAAA,CAAA,CAAW,OAAQ,CAAA,CAAC,GAAQ,KAAA;AACtC,MAAA,IAAI,UAAU,GAAM,CAAA,EAAA;AAClB,QAAA,UAAA,CAAW,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAIpB,IAAA,OAAO,WAAW,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA;AAGzB,EAAO,OAAA,EAAA,CAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import c,{useState as h,useRef as g,useEffect as a}from"react";import{message as u,Spin as j}from"antd/es";import{connect as w}from"react-redux";import A from"lodash";import{store as x}from"../../../index.js";import z from"../../../hooks/useSize.js";import{InitToolStyleConfig as C}from"../../../store/toolStyle/actionCreators.js";import{ImgUtils as R}from"@labelbee/lb-annotation";import L from"../../../components/ImageError/index.js";import{i18n as d}from"@labelbee/lb-utils";var N=Object.defineProperty,D=Object.defineProperties,k=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,I=(t,e,n)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,O=(t,e)=>{for(var n in e||(e={}))T.call(e,n)&&I(t,n,e[n]);if(v)for(var n of v(e))B.call(e,n)&&I(t,n,e[n]);return t},U=(t,e)=>D(t,k(e));const V=t=>{const[,e]=h(0),{imgAttribute:n,toolStyle:s,toolInstance:o,annotationEngine:r,loading:S,imgList:_,imgIndex:y,dataInjectionAtCreation:m,renderEnhance:f}=t,p=g(null),b=g(null),l=z(p);a(()=>{x.dispatch(C())},[]),a(()=>{if(!!r){switch(d.language){case"cn":case"en":r.setLang(d.language);break}r==null||r.setDataInjectionAtCreation(m),r==null||r.setRenderEnhance(f)}},[r,m,f]),a(()=>{o&&(o.singleOn("messageError",i=>{u.error(i)}),o.singleOn("messageInfo",i=>{u.info(i)}),o.singleOn("changeAnnotationShow",()=>{e(i=>i+1)}))},[o]),a(()=>{o&&o.setImgAttribute(n)},[n]),a(()=>{o&&o.setStyle(s),r&&r.setStyle(s)},[s]),a(()=>{(o==null?void 0:o.setSize)&&o.setSize(l),r&&r.setSize(l)},[l]);const E=()=>{const i=_[y];!i.url||R.load(i.url).then(P=>{r.setImgNode(P)})};return c.createElement("div",{ref:p,className:"annotationOperation"},c.createElement(j,{spinning:S,delay:500},c.createElement("div",{className:"canvas",ref:b,style:l,id:"toolContainer"})),(o==null?void 0:o.isImgError)===!0&&c.createElement(L,U(O({},l),{reloadImage:E,backgroundColor:"#e2e2e2",ignoreOffsetY:!0})))},Y=t=>{const e=A.pickBy(t.annotation,(n,s)=>["imgList","imgIndex","stepList","step","toolInstance","annotationEngine","loading"].includes(s));return O({imgAttribute:t.imgAttribute,toolStyle:t.toolStyle},e)};var $=w(Y)(V);export{$ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/views/MainView/annotationOperation/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Spin, message } from 'antd/es';\nimport { AppState } from 'src/store';\nimport { connect } from 'react-redux';\nimport { ImgAttributeState } from 'src/store/imgAttribute/types';\nimport _ from 'lodash';\nimport { store } from '@/index';\n\nimport useSize from '@/hooks/useSize';\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/views/MainView/annotationOperation/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Spin, message } from 'antd/es';\nimport { AppState } from 'src/store';\nimport { connect } from 'react-redux';\nimport { ImgAttributeState } from 'src/store/imgAttribute/types';\nimport _ from 'lodash';\nimport { store } from '@/index';\n\nimport useSize from '@/hooks/useSize';\nimport { InitToolStyleConfig } from '@/store/toolStyle/actionCreators';\nimport { AnnotationEngine, ImgUtils } from '@labelbee/lb-annotation';\nimport ImageError from '@/components/ImageError';\nimport { i18n } from '@labelbee/lb-utils';\nimport { AppProps } from '@/App';\n\ninterface IProps extends AppState, AppProps {\n imgAttribute: ImgAttributeState;\n imgIndex: number;\n annotationEngine: AnnotationEngine;\n loading: boolean;\n}\n\nconst AnnotationOperation: React.FC<IProps> = (props: IProps) => {\n const [, forceRender] = useState<number>(0);\n\n const {\n imgAttribute,\n toolStyle,\n toolInstance,\n annotationEngine,\n loading,\n imgList,\n imgIndex,\n dataInjectionAtCreation,\n renderEnhance,\n } = props;\n const annotationRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n // const windowSize = useContext(viewportContext);\n // const canvasSize = getFormatSize(windowSize);\n const size = useSize(annotationRef);\n\n useEffect(() => {\n store.dispatch(InitToolStyleConfig());\n }, []);\n\n useEffect(() => {\n if (!annotationEngine) {\n return;\n }\n\n // 更改 toolInstance 内部国际化语言\n switch (i18n.language) {\n case 'cn':\n case 'en':\n annotationEngine.setLang(i18n.language);\n break;\n default: {\n //\n break;\n }\n }\n annotationEngine?.setDataInjectionAtCreation(dataInjectionAtCreation);\n annotationEngine?.setRenderEnhance(renderEnhance);\n }, [annotationEngine, dataInjectionAtCreation, renderEnhance]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('messageError', (error: string) => {\n message.error(error);\n });\n\n toolInstance.singleOn('messageInfo', (info: string) => {\n message.info(info);\n });\n\n toolInstance.singleOn('changeAnnotationShow', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setImgAttribute(imgAttribute);\n }\n }, [imgAttribute]);\n\n /** 样式同步 */\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setStyle(toolStyle);\n }\n if (annotationEngine) {\n annotationEngine.setStyle(toolStyle);\n }\n }, [toolStyle]);\n\n /** 窗口大小监听 */\n useEffect(() => {\n if (toolInstance?.setSize) {\n toolInstance.setSize(size);\n }\n\n if (annotationEngine) {\n annotationEngine.setSize(size);\n }\n }, [size]);\n\n /**\n * 重新加载图片,避免网络问题导致的图片无法加载\n * @returns\n */\n const reloadImg = () => {\n const imgInfo = imgList[imgIndex];\n if (!imgInfo.url) {\n return;\n }\n\n ImgUtils.load(imgInfo.url).then((imgNode) => {\n annotationEngine.setImgNode(imgNode as HTMLImageElement);\n });\n };\n\n return (\n <div ref={annotationRef} className='annotationOperation'>\n <Spin spinning={loading} delay={500}>\n <div className='canvas' ref={containerRef} style={size} id='toolContainer' />\n </Spin>\n {toolInstance?.isImgError === true && (\n <ImageError\n {...size}\n reloadImage={reloadImg}\n backgroundColor='#e2e2e2'\n ignoreOffsetY={true}\n />\n )}\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n const annotationState = _.pickBy(state.annotation, (v, k) =>\n [\n 'imgList',\n 'imgIndex',\n 'stepList',\n 'step',\n 'toolInstance',\n 'annotationEngine',\n 'loading',\n ].includes(k),\n );\n return {\n imgAttribute: state.imgAttribute,\n toolStyle: state.toolStyle,\n ...annotationState,\n };\n};\n\nexport default connect(mapStateToProps)(AnnotationOperation);\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import{ViewportProvider as c}from"../../components/customResizeHook/index.js";import{prefix as s}from"../../constant/index.js";import{Layout as l}from"antd/es";import a from"react";import u from"./annotationOperation/index.js";import f from"./sidebar/index.js";import _ from"./toolFooter/index.js";import y from"./toolHeader/index.js";var v=Object.defineProperty,m=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,d=(e,t,r)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,x=(e,t)=>{for(var r in t||(t={}))E.call(t,r)&&d(e,r,t[r]);if(m)for(var r of m(t))h.call(t,r)&&d(e,r,t[r]);return e};const{Sider:O,Content:j}=l,o=`${s}-layout`,w=e=>{var t,r,n,i;return a.createElement(c,null,a.createElement(l,{className:`${o} ${e.className}`,style:(t=e.style)==null?void 0:t.layout},a.createElement("header",{className:`${o}__header`,style:(r=e.style)==null?void 0:r.header},a.createElement(y,{header:e==null?void 0:e.header,headerName:e.headerName,goBack:e.goBack,exportData:e.exportData}),","),a.createElement(l,null,e==null?void 0:e.leftSider,a.createElement(j,{className:`${o}__content`},a.createElement(u,x({},e)),a.createElement(_,{style:(n=e.style)==null?void 0:n.footer,mode:e.mode,footer:e==null?void 0:e.footer})),a.createElement(O,{className:`${o}__side`,width:"auto",style:(i=e.style)==null?void 0:i.sider},a.createElement(f,{sider:e==null?void 0:e.sider})))))};export{w as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/views/MainView/index.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/views/MainView/index.tsx"],"sourcesContent":["import { AppProps } from '@/App';\nimport { ViewportProvider } from '@/components/customResizeHook';\nimport { prefix } from '@/constant';\nimport { Layout } from 'antd/es';\nimport React from 'react';\nimport AnnotationOperation from './annotationOperation';\nimport Sidebar from './sidebar';\nimport ToolFooter from './toolFooter';\nimport ToolHeader from './toolHeader';\n\nconst { Sider, Content } = Layout;\n\nconst layoutCls = `${prefix}-layout`;\nconst MainView: React.FC<AppProps> = (props) => {\n return (\n <ViewportProvider>\n <Layout className={`${layoutCls} ${props.className}`} style={props.style?.layout}>\n <header className={`${layoutCls}__header`} style={props.style?.header}>\n <ToolHeader\n header={props?.header}\n headerName={props.headerName}\n goBack={props.goBack}\n exportData={props.exportData}\n />\n ,\n </header>\n <Layout>\n {props?.leftSider}\n <Content className={`${layoutCls}__content`}>\n <AnnotationOperation {...props} />\n <ToolFooter style={props.style?.footer} mode={props.mode} footer={props?.footer} />\n </Content>\n <Sider className={`${layoutCls}__side`} width='auto' style={props.style?.sider}>\n <Sidebar sider={props?.sider} />\n </Sider>\n </Layout>\n </Layout>\n </ViewportProvider>\n );\n};\n\nexport default MainView;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,CAAE,OAAO,OAAY,CAAA,GAAA,MAAA,CAAA;AAE3B,MAAM,YAAY,CAAG,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AACf,MAAA,QAAA,GAA+B,CAAC,KAAU,KAAA;AAbhD,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAcE,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,gBAAA,EAAD,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,MAAD,EAAA;AAAA,IAAQ,SAAA,EAAW,CAAG,EAAA,SAAA,CAAA,CAAA,EAAa,KAAM,CAAA,SAAA,CAAA,CAAA;AAAA,IAAa,KAAA,EAAO,CAAM,EAAA,GAAA,KAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA;AAAA,GAAA,sCACvE,QAAD,EAAA;AAAA,IAAQ,WAAW,CAAG,EAAA,SAAA,CAAA,QAAA,CAAA;AAAA,IAAqB,KAAA,EAAO,CAAM,EAAA,GAAA,KAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA;AAAA,GAAA,sCAC5D,UAAD,EAAA;AAAA,IACE,QAAQ,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,MAAA;AAAA,IACf,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,QAAQ,KAAM,CAAA,MAAA;AAAA,IACd,YAAY,KAAM,CAAA,UAAA;AAAA,GAAA,CAAA,EAClB,sBAGH,KAAA,CAAA,aAAA,CAAA,MAAA,EAAD,MACG,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,SAAA,sCACP,OAAD,EAAA;AAAA,IAAS,WAAW,CAAG,EAAA,SAAA,CAAA,SAAA,CAAA;AAAA,GAAA,kBACpB,KAAA,CAAA,aAAA,CAAA,mBAAA,EAAD,cAAyB,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA,sCACxB,UAAD,EAAA;AAAA,IAAY,KAAA,EAAO,CAAM,EAAA,GAAA,KAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA;AAAA,IAAQ,MAAM,KAAM,CAAA,IAAA;AAAA,IAAM,QAAQ,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,MAAA;AAAA,GAAA,CAAA,CAAA,sCAE1E,KAAD,EAAA;AAAA,IAAO,WAAW,CAAG,EAAA,SAAA,CAAA,MAAA,CAAA;AAAA,IAAmB,KAAM,EAAA,MAAA;AAAA,IAAO,KAAA,EAAO,CAAM,EAAA,GAAA,KAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA;AAAA,GAAA,sCACtE,OAAD,EAAA;AAAA,IAAS,OAAO,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/AnnotationText/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { message } from 'antd/es';\nimport TextAreaFormat from '@/views/MainView/sidebar/TextAreaFormat';\nimport { TextUtils } from '@/utils/TextUtils';\nimport { AppState } from '@/store';\nimport { GraphToolInstance } from '@/store/annotation/types';\nimport { connect } from 'react-redux';\n\ninterface IProps {\n toolInstance: GraphToolInstance;\n}\n\nconst AnnotationText: React.FC<IProps> = ({ toolInstance }) => {\n const [, forceRender] = useState<number>(0);\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('selectedChange', () => {\n forceRender((s) => s + 1);\n });\n toolInstance.singleOn('updateTextAttribute', () => {\n // 文本属性的更新\n\n forceRender((s) => s + 1);\n });\n\n toolInstance.singleOn('messageError', (error: string) => {\n message.error(error);\n });\n }\n }, [toolInstance]);\n\n if (!toolInstance) {\n return null;\n }\n\n const { config } = toolInstance;\n\n return (\n <div>\n {toolInstance?.config?.textConfigurable && toolInstance.selectedID && (\n <TextAreaFormat\n onChange={toolInstance.textChange}\n textValue={toolInstance.selectedText}\n checkString={TextUtils.checkString(config?.textCheckType, config?.customFormat)}\n textCheckType={config.textCheckType}\n />\n )}\n </div>\n );\n};\n\nfunction mapStateToProps(state: AppState) {\n return { toolInstance: state.annotation.toolInstance };\n}\n\nexport default connect(mapStateToProps)(AnnotationText);\n"],"names":[],"mappings":";;;;;;AAYA,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/AnnotationText/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { message } from 'antd/es';\nimport TextAreaFormat from '@/views/MainView/sidebar/TextAreaFormat';\nimport { TextUtils } from '@/utils/TextUtils';\nimport { AppState } from '@/store';\nimport { GraphToolInstance } from '@/store/annotation/types';\nimport { connect } from 'react-redux';\n\ninterface IProps {\n toolInstance: GraphToolInstance;\n}\n\nconst AnnotationText: React.FC<IProps> = ({ toolInstance }) => {\n const [, forceRender] = useState<number>(0);\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('selectedChange', () => {\n forceRender((s) => s + 1);\n });\n toolInstance.singleOn('updateTextAttribute', () => {\n // 文本属性的更新\n\n forceRender((s) => s + 1);\n });\n\n toolInstance.singleOn('messageError', (error: string) => {\n message.error(error);\n });\n }\n }, [toolInstance]);\n\n if (!toolInstance) {\n return null;\n }\n\n const { config } = toolInstance;\n\n return (\n <div>\n {toolInstance?.config?.textConfigurable && toolInstance.selectedID && (\n <TextAreaFormat\n onChange={toolInstance.textChange}\n textValue={toolInstance.selectedText}\n checkString={TextUtils.checkString(config?.textCheckType, config?.customFormat)}\n textCheckType={config.textCheckType}\n />\n )}\n </div>\n );\n};\n\nfunction mapStateToProps(state: AppState) {\n return { toolInstance: state.annotation.toolInstance };\n}\n\nexport default connect(mapStateToProps)(AnnotationText);\n"],"names":[],"mappings":";;;;;;AAYA,MAAM,cAAA,GAAmC,CAAC,CAAE,YAAmB,CAAA,KAAA;AAZ/D,EAAA,IAAA,EAAA,CAAA;AAaE,EAAM,MAAA,GAAG,WAAA,CAAA,GAAe,QAAiB,CAAA,CAAA,CAAA,CAAA;AACzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAc,EAAA;AAChB,MAAa,YAAA,CAAA,QAAA,CAAS,kBAAkB,MAAM;AAC5C,QAAY,WAAA,CAAA,CAAC,MAAM,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAEzB,MAAa,YAAA,CAAA,QAAA,CAAS,uBAAuB,MAAM;AAGjD,QAAY,WAAA,CAAA,CAAC,MAAM,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGzB,MAAa,YAAA,CAAA,QAAA,CAAS,cAAgB,EAAA,CAAC,KAAkB,KAAA;AACvD,QAAA,OAAA,CAAQ,KAAM,CAAA,KAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAGjB,CAAC,YAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,IAAI,CAAC,YAAc,EAAA;AACjB,IAAO,OAAA,IAAA,CAAA;AAAA,GAAA;AAGT,EAAA,MAAM,CAAE,MAAW,CAAA,GAAA,YAAA,CAAA;AAEnB,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,KAAD,EAAA,IAAA,EACG,CAAc,CAAA,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,MAAA,KAAd,mBAAsB,gBAAoB,KAAA,YAAA,CAAa,UACtD,oBAAA,KAAA,CAAA,aAAA,CAAC,cAAD,EAAA;AAAA,IACE,UAAU,YAAa,CAAA,UAAA;AAAA,IACvB,WAAW,YAAa,CAAA,YAAA;AAAA,IACxB,WAAa,EAAA,SAAA,CAAU,WAAY,CAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,eAAe,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,YAAA,CAAA;AAAA,IAClE,eAAe,MAAO,CAAA,aAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAOhC,SAAA,eAAA,CAAyB,KAAiB,EAAA;AACxC,EAAO,OAAA,CAAE,YAAc,EAAA,KAAA,CAAM,UAAW,CAAA,YAAA,CAAA,CAAA;AAAA,CAAA;AAG1C,uBAAe,QAAQ,eAAiB,CAAA,CAAA,cAAA,CAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/ClearIcon/index.tsx"],"sourcesContent":["import { Tooltip } from 'antd/es';\nimport React, { useState } from 'react';\n\n// 图片调整的刷子\nimport clearSmall from '@/assets/annotation/common/icon_clearSmall.svg';\n// import clearSmallA from '@//assets/annotation/common/icon_clearSmall_a.svg';\nimport { InitImgAttribute } from '@/store/imgAttribute/actionCreators';\nimport { store } from '@/index';\nimport clearSmallA from '@//assets/annotation/common/icon_clearSmall_a.svg';\nimport { useTranslation } from 'react-i18next';\n\nconst clearIcon = () => {\n const [hoverDelete, setHoverDelete] = useState(false);\n\n const clearAttribute = () => {\n store.dispatch(InitImgAttribute());\n };\n const { t } = useTranslation();\n\n return (\n <Tooltip placement='bottom' title={t('RestoreImageAttributes')}>\n <img\n onMouseEnter={() => setHoverDelete(true)}\n onMouseLeave={() => setHoverDelete(false)}\n style={{ marginLeft: 6 }}\n src={hoverDelete ? clearSmallA : clearSmall}\n onClick={(e) => {\n e.stopPropagation();\n clearAttribute();\n }}\n />\n </Tooltip>\n );\n};\n\nexport default clearIcon;\n"],"names":["clearSmallA","clearSmall"],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/ClearIcon/index.tsx"],"sourcesContent":["import { Tooltip } from 'antd/es';\nimport React, { useState } from 'react';\n\n// 图片调整的刷子\nimport clearSmall from '@/assets/annotation/common/icon_clearSmall.svg';\n// import clearSmallA from '@//assets/annotation/common/icon_clearSmall_a.svg';\nimport { InitImgAttribute } from '@/store/imgAttribute/actionCreators';\nimport { store } from '@/index';\nimport clearSmallA from '@//assets/annotation/common/icon_clearSmall_a.svg';\nimport { useTranslation } from 'react-i18next';\n\nconst clearIcon = () => {\n const [hoverDelete, setHoverDelete] = useState(false);\n\n const clearAttribute = () => {\n store.dispatch(InitImgAttribute());\n };\n const { t } = useTranslation();\n\n return (\n <Tooltip placement='bottom' title={t('RestoreImageAttributes')}>\n <img\n onMouseEnter={() => setHoverDelete(true)}\n onMouseLeave={() => setHoverDelete(false)}\n style={{ marginLeft: 6 }}\n src={hoverDelete ? clearSmallA : clearSmall}\n onClick={(e) => {\n e.stopPropagation();\n clearAttribute();\n }}\n />\n </Tooltip>\n );\n};\n\nexport default clearIcon;\n"],"names":["clearSmallA","clearSmall"],"mappings":";;;;;;;;AAWA,MAAM,YAAY,MAAM;AACtB,EAAM,MAAA,CAAC,WAAa,EAAA,cAAA,CAAA,GAAkB,QAAS,CAAA,KAAA,CAAA,CAAA;AAE/C,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,KAAA,CAAM,QAAS,CAAA,gBAAA,EAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAEjB,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AAEd,EAAA,2CACG,OAAD,EAAA;AAAA,IAAS,SAAU,EAAA,QAAA;AAAA,IAAS,OAAO,CAAE,CAAA,wBAAA,CAAA;AAAA,GAAA,sCAClC,KAAD,EAAA;AAAA,IACE,YAAA,EAAc,MAAM,cAAe,CAAA,IAAA,CAAA;AAAA,IACnC,YAAA,EAAc,MAAM,cAAe,CAAA,KAAA,CAAA;AAAA,IACnC,KAAA,EAAO,CAAE,UAAY,EAAA,CAAA,CAAA;AAAA,IACrB,GAAA,EAAK,cAAcA,GAAc,GAAAC,KAAA;AAAA,IACjC,OAAA,EAAS,CAAC,CAAM,KAAA;AACd,MAAE,CAAA,CAAA,eAAA,EAAA,CAAA;AACF,MAAA,cAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
|