@labelbee/lb-components 1.2.3-alpha.5 → 1.2.3-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),es=require("antd/es");function _interopDefaultLegacy(
|
|
1
|
+
"use strict";var React=require("react"),lbAnnotation=require("@labelbee/lb-annotation"),es=require("antd/es");function _interopDefaultLegacy(r){return r&&typeof r=="object"&&"default"in r?r:{default:r}}var React__default=_interopDefaultLegacy(React),__defProp=Object.defineProperty,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(r,o,e)=>o in r?__defProp(r,o,{enumerable:!0,configurable:!0,writable:!0,value:e}):r[o]=e,__spreadValues=(r,o)=>{for(var e in o||(o={}))__hasOwnProp.call(o,e)&&__defNormalProp(r,e,o[e]);if(__getOwnPropSymbols)for(var e of __getOwnPropSymbols(o))__propIsEnum.call(o,e)&&__defNormalProp(r,e,o[e]);return r};const DEFAULT_SIZE={width:1280,height:720},AnnotationView=(r,o)=>{const{size:e=DEFAULT_SIZE,src:v,annotations:i=[],style:g={stroke:"blue",thickness:3},zoomChange:s,backgroundStyle:p={},onChange:c,showLoading:_=!1}=r,[m,d]=React.useState(!1),f=React.useRef(null),n=React.useRef();React.useImperativeHandle(o,()=>{const t=n.current;return t?{zoomIn:()=>t.zoomChanged(!0),zoomOut:()=>t.zoomChanged(!1),initImgPos:()=>t.initImgPos(),toolInstance:t}:{}},[n.current]),React.useEffect(()=>(f.current&&(n.current=new lbAnnotation.ViewOperation({container:f.current,size:e,style:g,annotations:i,config:"{}"}),n.current.init()),()=>{var t;(t=n.current)==null||t.destroy()}),[]),React.useEffect(()=>{var t;n.current&&(d(!0),(t=n.current)==null||t.setLoading(!0),lbAnnotation.ImgUtils.load(v).then(u=>{var a,l;(a=n.current)==null||a.setLoading(!1),d(!1),(l=n.current)==null||l.setImgNode(u)}).catch(()=>{var u;(u=n.current)==null||u.setLoading(!1),d(!1)}))},[v]),React.useEffect(()=>{n.current&&n.current.updateData(i)},[i]),React.useEffect(()=>{const t=n.current;(t==null?void 0:t.setSize)&&t.setSize(e)},[e==null?void 0:e.width,e==null?void 0:e.height]),React.useEffect(()=>{var t,u;return n.current&&((t=n.current)==null||t.on("onChange",(...a)=>{c==null||c.apply(null,a)}),(u=n.current)==null||u.on("renderZoom",a=>{s&&s(a)})),()=>{var a,l;(a=n.current)==null||a.unbindAll("onChange"),(l=n.current)==null||l.unbindAll("renderZoom")}},[s,c]);const h=React__default.default.createElement("div",{ref:f,style:__spreadValues(__spreadValues({},e),p)});return React__default.default.createElement(es.Spin,{spinning:_||m,delay:300},h)};var index=React__default.default.forwardRef(AnnotationView);module.exports=index;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import m,{useState as z,useRef as g,useImperativeHandle as S,useEffect as u}from"react";import{ViewOperation as E,ImgUtils as C}from"@labelbee/lb-annotation";import{Spin as L}from"antd/es";var R=Object.defineProperty,_=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,h=(o,t,e)=>t in o?R(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,w=(o,t)=>{for(var e in t||(t={}))A.call(t,e)&&h(o,e,t[e]);if(_)for(var e of _(t))V.call(t,e)&&h(o,e,t[e]);return o};const Z={width:1280,height:720},j=(o,t)=>{const{size:e=Z,src:p,annotations:s=[],style:b={
|
|
1
|
+
import m,{useState as z,useRef as g,useImperativeHandle as S,useEffect as u}from"react";import{ViewOperation as E,ImgUtils as C}from"@labelbee/lb-annotation";import{Spin as L}from"antd/es";var R=Object.defineProperty,_=Object.getOwnPropertySymbols,A=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,h=(o,t,e)=>t in o?R(o,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):o[t]=e,w=(o,t)=>{for(var e in t||(t={}))A.call(t,e)&&h(o,e,t[e]);if(_)for(var e of _(t))V.call(t,e)&&h(o,e,t[e]);return o};const Z={width:1280,height:720},j=(o,t)=>{const{size:e=Z,src:p,annotations:s=[],style:b={stroke:"blue",thickness:3},zoomChange:c,backgroundStyle:y={},onChange:d,showLoading:I=!1}=o,[O,f]=z(!1),v=g(null),n=g();S(t,()=>{const r=n.current;return r?{zoomIn:()=>r.zoomChanged(!0),zoomOut:()=>r.zoomChanged(!1),initImgPos:()=>r.initImgPos(),toolInstance:r}:{}},[n.current]),u(()=>(v.current&&(n.current=new E({container:v.current,size:e,style:b,annotations:s,config:"{}"}),n.current.init()),()=>{var r;(r=n.current)==null||r.destroy()}),[]),u(()=>{var r;n.current&&(f(!0),(r=n.current)==null||r.setLoading(!0),C.load(p).then(i=>{var a,l;(a=n.current)==null||a.setLoading(!1),f(!1),(l=n.current)==null||l.setImgNode(i)}).catch(()=>{var i;(i=n.current)==null||i.setLoading(!1),f(!1)}))},[p]),u(()=>{n.current&&n.current.updateData(s)},[s]),u(()=>{const r=n.current;(r==null?void 0:r.setSize)&&r.setSize(e)},[e==null?void 0:e.width,e==null?void 0:e.height]),u(()=>{var r,i;return n.current&&((r=n.current)==null||r.on("onChange",(...a)=>{d==null||d.apply(null,a)}),(i=n.current)==null||i.on("renderZoom",a=>{c&&c(a)})),()=>{var a,l;(a=n.current)==null||a.unbindAll("onChange"),(l=n.current)==null||l.unbindAll("renderZoom")}},[c,d]);const P=m.createElement("div",{ref:v,style:w(w({},e),y)});return m.createElement(L,{spinning:I||O,delay:300},P)};var x=m.forwardRef(j);export{x as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/components/AnnotationView/index.tsx"],"sourcesContent":["/**\n * 用于标注查看模式\n * @author laoluo\n */\n\nimport React, { useEffect, useRef, useImperativeHandle, useState } from 'react';\nimport { ViewOperation, ImgUtils } from '@labelbee/lb-annotation';\nimport { Spin } from 'antd/es';\n\ninterface IProps {\n src: string; // 图片路径\n size: {\n width: number;\n height: number;\n };\n style: {\n color?: string;\n fill?: string;\n thickness?: number;\n };\n annotations: any[]; // TODO\n zoomChange?: (zoom: number) => void;\n backgroundStyle: React.CSSProperties;\n onChange?: (type: 'hover' | 'selected', ids: string[]) => void;\n\n showLoading?: boolean;\n}\n\nconst DEFAULT_SIZE = {\n width: 1280,\n height: 720,\n};\n\nconst AnnotationView = (props: IProps, ref: any) => {\n const {\n size = DEFAULT_SIZE,\n src,\n annotations = [],\n style = {\n
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/AnnotationView/index.tsx"],"sourcesContent":["/**\n * 用于标注查看模式\n * @author laoluo\n */\n\nimport React, { useEffect, useRef, useImperativeHandle, useState } from 'react';\nimport { ViewOperation, ImgUtils } from '@labelbee/lb-annotation';\nimport { Spin } from 'antd/es';\n\ninterface IProps {\n src: string; // 图片路径\n size: {\n width: number;\n height: number;\n };\n style: {\n color?: string;\n fill?: string;\n thickness?: number;\n };\n annotations: any[]; // TODO\n zoomChange?: (zoom: number) => void;\n backgroundStyle: React.CSSProperties;\n onChange?: (type: 'hover' | 'selected', ids: string[]) => void;\n\n showLoading?: boolean;\n}\n\nconst DEFAULT_SIZE = {\n width: 1280,\n height: 720,\n};\n\nconst AnnotationView = (props: IProps, ref: any) => {\n const {\n size = DEFAULT_SIZE,\n src,\n annotations = [],\n style = {\n stroke: 'blue',\n thickness: 3,\n },\n zoomChange,\n backgroundStyle = {},\n onChange,\n showLoading = false,\n } = props;\n const [loading, setLoading] = useState(false);\n const annotationRef = useRef<HTMLDivElement>(null);\n const viewOperation = useRef<ViewOperation>();\n\n useImperativeHandle(\n ref,\n () => {\n const toolInstance = viewOperation.current;\n if (!toolInstance) {\n return {};\n }\n\n return {\n zoomIn: () => toolInstance.zoomChanged(true), // 放大\n zoomOut: () => toolInstance.zoomChanged(false), // 缩小\n initImgPos: () => toolInstance.initImgPos(),\n toolInstance,\n };\n },\n [viewOperation.current],\n );\n\n useEffect(() => {\n if (annotationRef.current) {\n viewOperation.current = new ViewOperation({\n container: annotationRef.current,\n size,\n style,\n annotations,\n config: '{}', // TODO,暂时不需要\n });\n\n viewOperation.current.init();\n }\n\n return () => {\n viewOperation.current?.destroy();\n };\n }, []);\n\n useEffect(() => {\n if (viewOperation.current) {\n setLoading(true);\n viewOperation.current?.setLoading(true);\n ImgUtils.load(src)\n .then((imgNode: HTMLImageElement) => {\n viewOperation.current?.setLoading(false);\n setLoading(false);\n\n viewOperation.current?.setImgNode(imgNode);\n })\n .catch(() => {\n viewOperation.current?.setLoading(false);\n setLoading(false);\n });\n }\n }, [src]);\n\n /**\n * 基础数据绘制监听\n */\n useEffect(() => {\n if (viewOperation.current) {\n viewOperation.current.updateData(annotations);\n }\n }, [annotations]);\n\n /** 窗口大小监听 */\n useEffect(() => {\n const toolInstance = viewOperation.current;\n\n if (toolInstance?.setSize) {\n toolInstance.setSize(size);\n }\n }, [size?.width, size?.height]);\n\n useEffect(() => {\n if (viewOperation.current) {\n viewOperation.current?.on('onChange', (...args: any) => {\n onChange?.apply(null, args);\n });\n\n viewOperation.current?.on('renderZoom', (zoom: number) => {\n if (zoomChange) {\n zoomChange(zoom);\n }\n });\n }\n return () => {\n viewOperation.current?.unbindAll('onChange');\n viewOperation.current?.unbindAll('renderZoom');\n };\n }, [zoomChange, onChange]);\n\n const mainRender = <div ref={annotationRef} style={{ ...size, ...backgroundStyle }} />;\n\n return (\n <Spin spinning={showLoading || loading} delay={300}>\n {mainRender}\n </Spin>\n );\n\n // return mainRender;\n};\n\nexport default React.forwardRef(AnnotationView);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,eAAe;AAAA,EACnB,OAAO;AAAA,EACP,QAAQ;AAAA;AAGV,MAAM,iBAAiB,CAAC,OAAe,QAAa;AAClD,QAAM;AAAA,IACJ,OAAO;AAAA,IACP;AAAA,IACA,cAAc;AAAA,IACd,QAAQ;AAAA,MACN,QAAQ;AAAA,MACR,WAAW;AAAA;AAAA,IAEb;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,IACA,cAAc;AAAA,MACZ;AACJ,QAAM,CAAC,SAAS,cAAc,SAAS;AACvC,QAAM,gBAAgB,OAAuB;AAC7C,QAAM,gBAAgB;AAEtB,sBACE,KACA,MAAM;AACJ,UAAM,eAAe,cAAc;AACnC,QAAI,CAAC,cAAc;AACjB,aAAO;AAAA;AAGT,WAAO;AAAA,MACL,QAAQ,MAAM,aAAa,YAAY;AAAA,MACvC,SAAS,MAAM,aAAa,YAAY;AAAA,MACxC,YAAY,MAAM,aAAa;AAAA,MAC/B;AAAA;AAAA,KAGJ,CAAC,cAAc;AAGjB,YAAU,MAAM;AACd,QAAI,cAAc,SAAS;AACzB,oBAAc,UAAU,IAAI,cAAc;AAAA,QACxC,WAAW,cAAc;AAAA,QACzB;AAAA,QACA;AAAA,QACA;AAAA,QACA,QAAQ;AAAA;AAGV,oBAAc,QAAQ;AAAA;AAGxB,WAAO,MAAM;AAlFjB;AAmFM,0BAAc,YAAd,mBAAuB;AAAA;AAAA,KAExB;AAEH,YAAU,MAAM;AAvFlB;AAwFI,QAAI,cAAc,SAAS;AACzB,iBAAW;AACX,0BAAc,YAAd,mBAAuB,WAAW;AAClC,eAAS,KAAK,KACX,KAAK,CAAC,YAA8B;AA5F7C;AA6FU,6BAAc,YAAd,oBAAuB,WAAW;AAClC,mBAAW;AAEX,4BAAc,YAAd,mBAAuB,WAAW;AAAA,SAEnC,MAAM,MAAM;AAlGrB;AAmGU,6BAAc,YAAd,oBAAuB,WAAW;AAClC,mBAAW;AAAA;AAAA;AAAA,KAGhB,CAAC;AAKJ,YAAU,MAAM;AACd,QAAI,cAAc,SAAS;AACzB,oBAAc,QAAQ,WAAW;AAAA;AAAA,KAElC,CAAC;AAGJ,YAAU,MAAM;AACd,UAAM,eAAe,cAAc;AAEnC,QAAI,6CAAc,SAAS;AACzB,mBAAa,QAAQ;AAAA;AAAA,KAEtB,CAAC,6BAAM,OAAO,6BAAM;AAEvB,YAAU,MAAM;AA3HlB;AA4HI,QAAI,cAAc,SAAS;AACzB,0BAAc,YAAd,mBAAuB,GAAG,YAAY,IAAI,SAAc;AACtD,6CAAU,MAAM,MAAM;AAAA;AAGxB,0BAAc,YAAd,mBAAuB,GAAG,cAAc,CAAC,SAAiB;AACxD,YAAI,YAAY;AACd,qBAAW;AAAA;AAAA;AAAA;AAIjB,WAAO,MAAM;AAvIjB;AAwIM,2BAAc,YAAd,oBAAuB,UAAU;AACjC,2BAAc,YAAd,oBAAuB,UAAU;AAAA;AAAA,KAElC,CAAC,YAAY;AAEhB,QAAM,iDAAc,OAAD;AAAA,IAAK,KAAK;AAAA,IAAe,OAAO,kCAAK,OAAS;AAAA;AAEjE,6CACG,MAAD;AAAA,IAAM,UAAU,eAAe;AAAA,IAAS,OAAO;AAAA,KAC5C;AAAA;AAOP,YAAe,MAAM,WAAW;;;;"}
|
|
@@ -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 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 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":"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"}
|
|
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 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":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@labelbee/lb-components",
|
|
3
|
-
"version": "1.2.3-alpha.
|
|
3
|
+
"version": "1.2.3-alpha.6",
|
|
4
4
|
"description": "Provide a complete library of annotation components",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"es": "./es/index.js",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"email": "brady_luo.sz@foxmail.com"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@labelbee/lb-annotation": "1.5.4-alpha.
|
|
45
|
+
"@labelbee/lb-annotation": "1.5.4-alpha.5",
|
|
46
46
|
"@ant-design/icons": "^4.6.2",
|
|
47
47
|
"classnames": "^2.3.0",
|
|
48
48
|
"@labelbee/lb-utils": "^1.0.4-alpha.0",
|