@labelbee/lb-components 1.3.0 → 1.5.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/LICENSE +203 -0
- package/dist/App.js +1 -1
- package/dist/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -0
- package/dist/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -0
- package/dist/assets/annotation/video/icon_keyboard_h.svg.js +1 -0
- package/dist/components/fileException/FileError.js +1 -0
- package/dist/components/fileException/FileInvalid.js +1 -0
- package/dist/components/fileException/index.js +1 -0
- package/dist/components/videoAnnotate/index.js +1 -0
- package/dist/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
- package/dist/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +1 -0
- package/dist/components/videoPlayer/VideoTagLayer.js +1 -0
- package/dist/components/videoPlayer/components/controller/index.js +1 -0
- package/dist/components/videoPlayer/index.js +1 -0
- package/dist/components/videoPlayer/utils.js +1 -0
- package/dist/index.css +138 -0
- package/dist/index.css.map +1 -1
- package/dist/index.js +1 -1
- package/dist/store/Actions.js +1 -1
- package/dist/store/annotation/actionCreators.js +1 -1
- package/dist/store/annotation/reducer.js +1 -1
- package/dist/types/App.d.ts +7 -2
- package/dist/types/components/{ImageError/index.d.ts → fileException/FileError.d.ts} +5 -4
- package/dist/types/components/fileException/FileInvalid.d.ts +12 -0
- package/dist/types/components/fileException/index.d.ts +17 -0
- package/dist/types/components/videoAnnotate/index.d.ts +15 -0
- package/dist/types/components/videoPlayer/TagToolInstanceAdaptor.d.ts +90 -0
- package/dist/types/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.d.ts +8 -0
- package/dist/types/components/videoPlayer/VideoTagLayer.d.ts +12 -0
- package/dist/types/components/videoPlayer/components/controller/index.d.ts +2 -0
- package/dist/types/components/videoPlayer/index.d.ts +73 -0
- package/dist/types/components/videoPlayer/types.d.ts +8 -0
- package/dist/types/components/videoPlayer/utils.d.ts +36 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/store/Actions.d.ts +5 -0
- package/dist/types/store/annotation/actionCreators.d.ts +20 -8
- package/dist/types/store/annotation/reducer.d.ts +1 -1
- package/dist/types/store/annotation/types.d.ts +30 -2
- package/dist/types/utils/PageOperator.d.ts +1 -1
- package/dist/types/utils/StepUtils.d.ts +7 -0
- package/dist/types/utils/TextUtils.d.ts +1 -1
- package/dist/types/utils/dom.d.ts +6 -0
- package/dist/types/views/MainView/annotationTips/index.d.ts +5 -0
- package/dist/types/views/MainView/index.d.ts +8 -2
- package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.d.ts +23 -0
- package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/index.d.ts +2 -7
- package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.d.ts +7 -1
- package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.d.ts +3 -0
- package/dist/types/views/MainView/toolFooter/Pagination.d.ts +12 -0
- package/dist/utils/StepUtils.js +1 -1
- package/dist/utils/TextUtils.js +1 -1
- package/dist/utils/dom.js +1 -1
- package/dist/views/MainView/annotationOperation/index.js +1 -1
- package/dist/views/MainView/annotationTips/index.js +1 -0
- package/dist/views/MainView/index.js +1 -1
- package/dist/views/MainView/sidebar/GeneralOperation/index.js +1 -1
- package/dist/views/MainView/sidebar/TagSidebar/index.js +1 -1
- package/dist/views/MainView/sidebar/index.js +1 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +1 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
- package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +1 -0
- package/dist/views/MainView/toolFooter/FooterTips/index.js +1 -1
- package/dist/views/MainView/toolFooter/Pagination.js +1 -0
- package/dist/views/MainView/toolFooter/index.js +1 -1
- package/dist/views/MainView/toolHeader/headerOption/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/toolHotKeyIcon/icon_back_kj.svg.js +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -0
- package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +1 -0
- package/es/assets/annotation/video/icon_keyboard_h.svg.js +1 -0
- package/es/assets/annotation/video/icon_keyboard_h.svg.js.map +1 -0
- package/es/components/ImageError/index.js +53 -1
- package/es/components/fileException/FileError.js +1 -0
- package/es/components/fileException/FileError.js.map +1 -0
- package/es/components/fileException/FileInvalid.js +1 -0
- package/es/components/fileException/FileInvalid.js.map +1 -0
- package/es/components/fileException/index.js +1 -0
- package/es/components/fileException/index.js.map +1 -0
- package/es/components/videoAnnotate/index.js +1 -0
- package/es/components/videoAnnotate/index.js.map +1 -0
- package/es/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
- package/es/components/videoPlayer/TagToolInstanceAdaptor.js.map +1 -0
- package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +1 -0
- package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +1 -0
- package/es/components/videoPlayer/VideoTagLayer.js +1 -0
- package/es/components/videoPlayer/VideoTagLayer.js.map +1 -0
- package/es/components/videoPlayer/components/controller/index.js +1 -0
- package/es/components/videoPlayer/components/controller/index.js.map +1 -0
- package/es/components/videoPlayer/index.js +1 -0
- package/es/components/videoPlayer/index.js.map +1 -0
- package/es/components/videoPlayer/utils.js +1 -0
- package/es/components/videoPlayer/utils.js.map +1 -0
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/store/Actions.js +1 -1
- package/es/store/Actions.js.map +1 -1
- package/es/store/annotation/actionCreators.js +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/utils/StepUtils.js +1 -1
- package/es/utils/StepUtils.js.map +1 -1
- package/es/utils/TextUtils.js +1 -1
- package/es/utils/TextUtils.js.map +1 -1
- package/es/utils/dom.js +1 -1
- package/es/utils/dom.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/annotationTips/index.js +1 -0
- package/es/views/MainView/annotationTips/index.js.map +1 -0
- package/es/views/MainView/index.js +1 -1
- package/es/views/MainView/index.js.map +1 -1
- package/es/views/MainView/sidebar/GeneralOperation/index.js +1 -1
- package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -1
- package/es/views/MainView/sidebar/TagSidebar/index.js +1 -1
- package/es/views/MainView/sidebar/TagSidebar/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 +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -1
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +1 -0
- package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +1 -0
- package/es/views/MainView/toolFooter/FooterTips/index.js +1 -1
- package/es/views/MainView/toolFooter/FooterTips/index.js.map +1 -1
- package/es/views/MainView/toolFooter/Pagination.js +1 -0
- package/es/views/MainView/toolFooter/Pagination.js.map +1 -0
- package/es/views/MainView/toolFooter/index.js +1 -1
- package/es/views/MainView/toolFooter/index.js.map +1 -1
- package/es/views/MainView/toolHeader/headerOption/index.js +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 +7 -5
- package/dist/components/ImageError/index.js +0 -1
- package/es/assets/annotation/polygonTool/icon_rectangle_a.svg.js +0 -1
- package/es/assets/annotation/polygonTool/icon_rectangle_a.svg.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagToolInstanceAdaptor.js","sources":["../../../src/components/videoPlayer/TagToolInstanceAdaptor.tsx"],"sourcesContent":["/**\n * @file Implement TagTool interaction through class components.\n * Refer to: packages/lb-annotation/src/core/toolOperation/tagOperation.ts\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @date 2022-05-31\n */\n\nimport React from 'react';\nimport { CommonToolUtils, uuid } from '@labelbee/lb-annotation';\nimport StepUtils from '@/utils/StepUtils';\nimport { jsonParser } from '@/utils';\nimport { VideoPlayer } from './index';\nimport { VideoTagLayer } from './VideoTagLayer';\nimport { IStepInfo } from '@/types/step';\nimport _ from 'lodash';\nimport type { ObjectString } from './types';\nimport { getKeyCodeNumber } from './utils';\nimport { IFileItem } from '@/types/data';\n\nexport interface IVideoTagInstanceAdaptorProps {\n imgIndex: number;\n imgList: IFileItem[];\n pageForward: () => void;\n pageJump: (page: string) => void;\n pageBackward: () => void;\n onMounted: (instance: TagToolInstanceAdaptor) => void;\n onUnmounted: () => void;\n step: number;\n stepList: IStepInfo[];\n}\n\ninterface IVideoTagInstanceAdaptorState {\n // TODO: Use ITagResult from 'lb-annotation'\n tagResult: any[];\n labelSelectedList: number[];\n valid: boolean;\n}\n\nexport class TagToolInstanceAdaptor extends React.Component<\n IVideoTagInstanceAdaptorProps,\n IVideoTagInstanceAdaptorState\n> {\n public fns: { [key: string]: () => void } = {};\n public videoRef?: HTMLVideoElement;\n public labelSelectedList: number[] = [];\n\n public constructor(props: IVideoTagInstanceAdaptorProps) {\n super(props);\n this.state = {\n tagResult: [],\n labelSelectedList: [],\n valid: true,\n };\n }\n\n public get config() {\n const stepInfo = StepUtils.getCurrentStepInfo(this.props.step, this.props.stepList);\n return jsonParser(stepInfo?.config);\n }\n\n /** Just implementation, no actual logic */\n public get history() {\n return { initRecord: () => {}, pushHistory: () => {} };\n }\n\n public get currentTagResult() {\n return this.state.tagResult[0] ?? {};\n }\n\n public get valid() {\n return this.state.valid;\n }\n\n public clearResult = (sendMsg = true, value?: string) => {\n const newTag = value\n ? this.state.tagResult.map((v) => {\n if (v?.result[value]) {\n delete v.result[value];\n }\n return v;\n })\n : [];\n\n this.setState(\n {\n tagResult: newTag,\n },\n () => this.emitEvent('render'),\n );\n };\n\n public exportData = () => {\n const duration = this.videoRef?.duration ?? 0;\n const videoQulity = this.videoRef?.getVideoPlaybackQuality();\n const frames = videoQulity?.totalVideoFrames;\n const videoWidth = this.videoRef?.videoWidth ?? 0;\n const videoHeight = this.videoRef?.videoHeight ?? 0;\n\n return [\n this.state.tagResult,\n { valid: this.state.valid, duration, frames, videoWidth, videoHeight },\n ];\n };\n\n public singleOn(event: string, func: () => void) {\n this.fns[event] = func;\n }\n\n public on(event: string, func: () => void) {\n this.singleOn(event, func);\n }\n\n public getTagResultByCode(num1: number, num2?: number) {\n try {\n const inputList = this.config?.inputList ?? [];\n const mulitTags = inputList.length > 1;\n const keycode1 = num2 !== undefined ? num1 : 0;\n const keycode2 = num2 !== undefined ? num2 : num1;\n const primaryTagConfig = mulitTags ? inputList[keycode1] : inputList[0];\n const secondaryTagConfig = (primaryTagConfig.subSelected ?? [])[keycode2];\n\n if (primaryTagConfig && secondaryTagConfig) {\n return {\n value: {\n key: primaryTagConfig.value,\n value: secondaryTagConfig.value,\n },\n isMulti: primaryTagConfig.isMulti,\n };\n }\n } catch {\n return;\n }\n }\n\n public setLabelBySelectedList(num1: number, num2?: number) {\n const newTagConfig = this.getTagResultByCode(num1, num2);\n\n if (newTagConfig) {\n const tagRes = this.combineResult(newTagConfig, this.state.tagResult[0]?.result ?? {});\n\n const tagResult = [\n {\n sourceID: CommonToolUtils.getSourceID(),\n id: this.currentTagResult?.id ?? uuid(8, 62),\n result: tagRes,\n },\n ];\n\n this.setState(\n {\n tagResult,\n },\n () => this.emitEvent('render'),\n );\n }\n }\n\n public emitEvent = (event: string) => {\n if (this.fns[event]) {\n this.fns[event]();\n }\n };\n\n /**\n * Combine result with inputValue and existValue\n * @param inputValue\n * @param existValue\n * @returns newValue\n */\n public combineResult = (\n inputValue: { value: { key: string; value: string }; isMulti: boolean },\n existValue: ObjectString = {},\n ) => {\n const { isMulti } = inputValue;\n const { key, value } = inputValue.value;\n\n if (isMulti) {\n let valuesArray = existValue[key]?.split(';') ?? [];\n if (valuesArray.includes(value)) {\n valuesArray = valuesArray.filter((i) => i !== value);\n } else {\n valuesArray.push(value);\n }\n\n const valuesSet = new Set(valuesArray);\n existValue[key] = Array.from(valuesSet).join(';');\n return _.pickBy(existValue, (v) => v);\n }\n\n existValue[key] = existValue[key] === value ? undefined : value;\n\n return _.pickBy(existValue, (v) => v);\n };\n\n public setResult = (tagResult: any[]) => {\n this.setState({\n tagResult,\n });\n\n if (this.fns['render']) {\n this.fns['render']();\n }\n };\n\n public setLabel = (num1: number, num2: number) => {\n this.setLabelBySelectedList(num1, num2);\n };\n\n /**\n * Keydown event for recording keycode input(numeric only)\n * @param event\n */\n public keydown = (event: KeyboardEvent) => {\n const keyCode = getKeyCodeNumber(event.keyCode);\n\n if (keyCode) {\n const keyIndex = keyCode - 1;\n\n if (this.config.inputList.length === 1) {\n // 说明标签只有一层\n this.labelSelectedList = [0, keyIndex];\n this.setLabel(0, keyIndex);\n setTimeout(() => {\n this.labelSelectedList = [];\n this.emitEvent('render');\n }, 500);\n\n return;\n }\n\n if (this.labelSelectedList.length === 1) {\n this.labelSelectedList = [this.labelSelectedList[0], keyIndex];\n this.setLabel(this.labelSelectedList[0], keyIndex);\n setTimeout(() => {\n this.labelSelectedList = [];\n this.emitEvent('render');\n }, 500);\n } else {\n this.labelSelectedList = [keyIndex];\n this.emitEvent('expend');\n }\n }\n };\n\n public setValid = (valid: boolean) => {\n this.setState({ valid });\n if (valid === false) {\n this.setState({ tagResult: [] });\n }\n\n this.emitEvent('render');\n };\n\n public componentDidMount() {\n document.addEventListener('keydown', this.keydown);\n this.props.onMounted(this);\n this.setResultFromImgList(this.props);\n }\n\n public componentWillUnmount() {\n document.addEventListener('keydown', this.keydown);\n this.props.onUnmounted();\n }\n\n public setResultFromImgList = (props: IVideoTagInstanceAdaptorProps) => {\n const { imgList, imgIndex, step } = props;\n\n if (!imgList[imgIndex]) {\n return;\n }\n const res = jsonParser(imgList[imgIndex].result);\n const stepRes = res[`step_${step}`];\n\n this.setState({\n tagResult: stepRes?.result ?? [],\n valid: res?.valid === undefined ? true : res.valid,\n });\n };\n\n /** Observer imgIndex and set tagResult */\n public shouldComponentUpdate(props: IVideoTagInstanceAdaptorProps) {\n if (props.imgIndex !== this.props.imgIndex) {\n this.setResultFromImgList(props);\n }\n return true;\n }\n\n public render() {\n const { imgIndex, imgList, pageForward, pageJump, pageBackward } = this.props;\n const { tagResult, valid } = this.state;\n\n return (\n <div style={{ height: '100%', width: '100%', position: 'relative' }}>\n <VideoPlayer\n imgIndex={imgIndex}\n imgList={imgList}\n pageBackward={pageBackward}\n pageForward={pageForward}\n pageJump={pageJump}\n valid={valid}\n setVideoRef={(video) => {\n this.videoRef = video;\n }}\n />\n <VideoTagLayer result={tagResult} inputList={this.config?.inputList} />\n </div>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;AAsCO,MAAA,sBAAA,SAAqC,MAAM,SAGhD,CAAA;AAAA,EAKO,YAAY,KAAsC,EAAA;AACvD,IAAM,KAAA,CAAA,KAAA,CAAA,CAAA;AALD,IAAqC,IAAA,CAAA,GAAA,GAAA,EAAA,CAAA;AAErC,IAA8B,IAAA,CAAA,iBAAA,GAAA,EAAA,CAAA;AA6B9B,IAAc,IAAA,CAAA,WAAA,GAAA,CAAC,OAAU,GAAA,IAAA,EAAM,KAAmB,KAAA;AACvD,MAAA,MAAM,SAAS,KACX,GAAA,IAAA,CAAK,MAAM,SAAU,CAAA,GAAA,CAAI,CAAC,CAAM,KAAA;AAC9B,QAAI,IAAA,CAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,CAAA,CAAG,OAAO,KAAQ,CAAA,EAAA;AACpB,UAAA,OAAO,EAAE,MAAO,CAAA,KAAA,CAAA,CAAA;AAAA,SAAA;AAElB,QAAO,OAAA,CAAA,CAAA;AAAA,OAET,CAAA,GAAA,EAAA,CAAA;AAEJ,MAAA,IAAA,CAAK,QACH,CAAA;AAAA,QACE,SAAW,EAAA,MAAA;AAAA,OAEb,EAAA,MAAM,KAAK,SAAU,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAIlB,IAAA,IAAA,CAAA,UAAA,GAAa,MAAM;AA3F5B,MAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AA4FI,MAAA,MAAM,QAAW,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,QAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,aAAf,IAA2B,GAAA,EAAA,GAAA,CAAA,CAAA;AAC5C,MAAM,MAAA,WAAA,GAAc,CAAK,EAAA,GAAA,IAAA,CAAA,QAAA,KAAL,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,uBAAA,EAAA,CAAA;AACnC,MAAA,MAAM,SAAS,WAAa,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAA,gBAAA,CAAA;AAC5B,MAAA,MAAM,UAAa,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,QAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,eAAf,IAA6B,GAAA,EAAA,GAAA,CAAA,CAAA;AAChD,MAAA,MAAM,WAAc,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,QAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAe,gBAAf,IAA8B,GAAA,EAAA,GAAA,CAAA,CAAA;AAElD,MAAO,OAAA;AAAA,QACL,KAAK,KAAM,CAAA,SAAA;AAAA,QACX,CAAE,KAAO,EAAA,IAAA,CAAK,MAAM,KAAO,EAAA,QAAA,EAAU,QAAQ,UAAY,EAAA,WAAA,CAAA;AAAA,OAAA,CAAA;AAAA,KAAA,CAAA;AA0DtD,IAAA,IAAA,CAAA,SAAA,GAAY,CAAC,KAAkB,KAAA;AACpC,MAAI,IAAA,IAAA,CAAK,IAAI,KAAQ,CAAA,EAAA;AACnB,QAAA,IAAA,CAAK,GAAI,CAAA,KAAA,CAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA;AAUN,IAAgB,IAAA,CAAA,aAAA,GAAA,CACrB,UACA,EAAA,UAAA,GAA2B,EACxB,KAAA;AA7KP,MAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AA8KI,MAAA,MAAM,CAAE,OAAY,CAAA,GAAA,UAAA,CAAA;AACpB,MAAM,MAAA,CAAE,GAAK,EAAA,KAAA,CAAA,GAAU,UAAW,CAAA,KAAA,CAAA;AAElC,MAAA,IAAI,OAAS,EAAA;AACX,QAAA,IAAI,cAAc,CAAW,EAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAA,GAAA,CAAA,KAAX,IAAiB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,CAAM,SAAvB,IAA+B,GAAA,EAAA,GAAA,EAAA,CAAA;AACjD,QAAI,IAAA,WAAA,CAAY,SAAS,KAAQ,CAAA,EAAA;AAC/B,UAAA,WAAA,GAAc,WAAY,CAAA,MAAA,CAAO,CAAC,CAAA,KAAM,CAAM,KAAA,KAAA,CAAA,CAAA;AAAA,SACzC,MAAA;AACL,UAAA,WAAA,CAAY,IAAK,CAAA,KAAA,CAAA,CAAA;AAAA,SAAA;AAGnB,QAAM,MAAA,SAAA,GAAY,IAAI,GAAI,CAAA,WAAA,CAAA,CAAA;AAC1B,QAAA,UAAA,CAAW,GAAO,CAAA,GAAA,KAAA,CAAM,IAAK,CAAA,SAAA,CAAA,CAAW,IAAK,CAAA,GAAA,CAAA,CAAA;AAC7C,QAAA,OAAO,CAAE,CAAA,MAAA,CAAO,UAAY,EAAA,CAAC,CAAM,KAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAGrC,MAAA,UAAA,CAAW,GAAO,CAAA,GAAA,UAAA,CAAW,GAAS,CAAA,KAAA,KAAA,GAAQ,KAAY,CAAA,GAAA,KAAA,CAAA;AAE1D,MAAA,OAAO,CAAE,CAAA,MAAA,CAAO,UAAY,EAAA,CAAC,CAAM,KAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAG9B,IAAA,IAAA,CAAA,SAAA,GAAY,CAAC,SAAqB,KAAA;AACvC,MAAA,IAAA,CAAK,QAAS,CAAA;AAAA,QACZ,SAAA;AAAA,OAAA,CAAA,CAAA;AAGF,MAAI,IAAA,IAAA,CAAK,IAAI,QAAW,CAAA,EAAA;AACtB,QAAA,IAAA,CAAK,GAAI,CAAA,QAAA,CAAA,EAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA;AAIN,IAAW,IAAA,CAAA,QAAA,GAAA,CAAC,MAAc,IAAiB,KAAA;AAChD,MAAA,IAAA,CAAK,uBAAuB,IAAM,EAAA,IAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAO7B,IAAA,IAAA,CAAA,OAAA,GAAU,CAAC,KAAyB,KAAA;AACzC,MAAM,MAAA,OAAA,GAAU,iBAAiB,KAAM,CAAA,OAAA,CAAA,CAAA;AAEvC,MAAA,IAAI,OAAS,EAAA;AACX,QAAA,MAAM,WAAW,OAAU,GAAA,CAAA,CAAA;AAE3B,QAAA,IAAI,IAAK,CAAA,MAAA,CAAO,SAAU,CAAA,MAAA,KAAW,CAAG,EAAA;AAEtC,UAAK,IAAA,CAAA,iBAAA,GAAoB,CAAC,CAAG,EAAA,QAAA,CAAA,CAAA;AAC7B,UAAA,IAAA,CAAK,SAAS,CAAG,EAAA,QAAA,CAAA,CAAA;AACjB,UAAA,UAAA,CAAW,MAAM;AACf,YAAA,IAAA,CAAK,iBAAoB,GAAA,EAAA,CAAA;AACzB,YAAA,IAAA,CAAK,SAAU,CAAA,QAAA,CAAA,CAAA;AAAA,WACd,EAAA,GAAA,CAAA,CAAA;AAEH,UAAA,OAAA;AAAA,SAAA;AAGF,QAAI,IAAA,IAAA,CAAK,iBAAkB,CAAA,MAAA,KAAW,CAAG,EAAA;AACvC,UAAA,IAAA,CAAK,iBAAoB,GAAA,CAAC,IAAK,CAAA,iBAAA,CAAkB,CAAI,CAAA,EAAA,QAAA,CAAA,CAAA;AACrD,UAAK,IAAA,CAAA,QAAA,CAAS,IAAK,CAAA,iBAAA,CAAkB,CAAI,CAAA,EAAA,QAAA,CAAA,CAAA;AACzC,UAAA,UAAA,CAAW,MAAM;AACf,YAAA,IAAA,CAAK,iBAAoB,GAAA,EAAA,CAAA;AACzB,YAAA,IAAA,CAAK,SAAU,CAAA,QAAA,CAAA,CAAA;AAAA,WACd,EAAA,GAAA,CAAA,CAAA;AAAA,SACE,MAAA;AACL,UAAA,IAAA,CAAK,oBAAoB,CAAC,QAAA,CAAA,CAAA;AAC1B,UAAA,IAAA,CAAK,SAAU,CAAA,QAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAAA,KAAA,CAAA;AAKd,IAAA,IAAA,CAAA,QAAA,GAAW,CAAC,KAAmB,KAAA;AACpC,MAAA,IAAA,CAAK,SAAS,CAAE,KAAA,CAAA,CAAA,CAAA;AAChB,MAAA,IAAI,UAAU,KAAO,EAAA;AACnB,QAAK,IAAA,CAAA,QAAA,CAAS,CAAE,SAAW,EAAA,EAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAG7B,MAAA,IAAA,CAAK,SAAU,CAAA,QAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAcV,IAAA,IAAA,CAAA,oBAAA,GAAuB,CAAC,KAAyC,KAAA;AAzQ1E,MAAA,IAAA,EAAA,CAAA;AA0QI,MAAM,MAAA,CAAE,OAAS,EAAA,QAAA,EAAU,IAAS,CAAA,GAAA,KAAA,CAAA;AAEpC,MAAI,IAAA,CAAC,QAAQ,QAAW,CAAA,EAAA;AACtB,QAAA,OAAA;AAAA,OAAA;AAEF,MAAM,MAAA,GAAA,GAAM,UAAW,CAAA,OAAA,CAAQ,QAAU,CAAA,CAAA,MAAA,CAAA,CAAA;AACzC,MAAM,MAAA,OAAA,GAAU,IAAI,CAAQ,KAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAE5B,MAAA,IAAA,CAAK,QAAS,CAAA;AAAA,QACZ,SAAA,EAAW,CAAS,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAA,MAAA,KAAT,IAAmB,GAAA,EAAA,GAAA,EAAA;AAAA,QAC9B,KAAO,EAAA,CAAA,GAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,GAAA,CAAK,KAAU,MAAA,KAAA,CAAA,GAAY,OAAO,GAAI,CAAA,KAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AApO/C,IAAA,IAAA,CAAK,KAAQ,GAAA;AAAA,MACX,SAAW,EAAA,EAAA;AAAA,MACX,iBAAmB,EAAA,EAAA;AAAA,MACnB,KAAO,EAAA,IAAA;AAAA,KAAA,CAAA;AAAA,GAAA;AAAA,EAAA,IAIA,MAAS,GAAA;AAClB,IAAA,MAAM,WAAW,SAAU,CAAA,kBAAA,CAAmB,KAAK,KAAM,CAAA,IAAA,EAAM,KAAK,KAAM,CAAA,QAAA,CAAA,CAAA;AAC1E,IAAA,OAAO,WAAW,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,MAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,IAInB,OAAU,GAAA;AACnB,IAAO,OAAA,CAAE,YAAY,MAAM;AAAA,KAAA,EAAI,aAAa,MAAM;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,IAGzC,gBAAmB,GAAA;AAjEhC,IAAA,IAAA,EAAA,CAAA;AAkEI,IAAA,OAAO,CAAK,EAAA,GAAA,IAAA,CAAA,KAAA,CAAM,SAAU,CAAA,CAAA,CAAA,KAArB,IAA2B,GAAA,EAAA,GAAA,EAAA,CAAA;AAAA,GAAA;AAAA,EAAA,IAGzB,KAAQ,GAAA;AACjB,IAAA,OAAO,KAAK,KAAM,CAAA,KAAA,CAAA;AAAA,GAAA;AAAA,EAkCb,QAAA,CAAS,OAAe,IAAkB,EAAA;AAC/C,IAAA,IAAA,CAAK,IAAI,KAAS,CAAA,GAAA,IAAA,CAAA;AAAA,GAAA;AAAA,EAGb,EAAA,CAAG,OAAe,IAAkB,EAAA;AACzC,IAAA,IAAA,CAAK,SAAS,KAAO,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAGhB,kBAAA,CAAmB,MAAc,IAAe,EAAA;AAhHzD,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAiHI,IAAI,IAAA;AACF,MAAA,MAAM,SAAY,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,MAAL,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAa,cAAb,IAA0B,GAAA,EAAA,GAAA,EAAA,CAAA;AAC5C,MAAM,MAAA,SAAA,GAAY,UAAU,MAAS,GAAA,CAAA,CAAA;AACrC,MAAM,MAAA,QAAA,GAAW,IAAS,KAAA,KAAA,CAAA,GAAY,IAAO,GAAA,CAAA,CAAA;AAC7C,MAAM,MAAA,QAAA,GAAW,IAAS,KAAA,KAAA,CAAA,GAAY,IAAO,GAAA,IAAA,CAAA;AAC7C,MAAA,MAAM,gBAAmB,GAAA,SAAA,GAAY,SAAU,CAAA,QAAA,CAAA,GAAY,SAAU,CAAA,CAAA,CAAA,CAAA;AACrE,MAAA,MAAM,kBAAsB,GAAA,CAAA,CAAA,EAAA,GAAA,gBAAA,CAAiB,WAAjB,KAAA,IAAA,GAAA,EAAA,GAAgC,EAAI,EAAA,QAAA,CAAA,CAAA;AAEhE,MAAA,IAAI,oBAAoB,kBAAoB,EAAA;AAC1C,QAAO,OAAA;AAAA,UACL,KAAO,EAAA;AAAA,YACL,KAAK,gBAAiB,CAAA,KAAA;AAAA,YACtB,OAAO,kBAAmB,CAAA,KAAA;AAAA,WAAA;AAAA,UAE5B,SAAS,gBAAiB,CAAA,OAAA;AAAA,SAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,OAGxB,CAAN,EAAA;AACA,MAAA,OAAA;AAAA,KAAA;AAAA,GAAA;AAAA,EAIG,sBAAA,CAAuB,MAAc,IAAe,EAAA;AAvI7D,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAwII,IAAM,MAAA,YAAA,GAAe,IAAK,CAAA,kBAAA,CAAmB,IAAM,EAAA,IAAA,CAAA,CAAA;AAEnD,IAAA,IAAI,YAAc,EAAA;AAChB,MAAM,MAAA,MAAA,GAAS,IAAK,CAAA,aAAA,CAAc,YAAc,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAK,MAAM,SAAU,CAAA,CAAA,CAAA,KAArB,IAAyB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,KAAzB,IAAmC,GAAA,EAAA,GAAA,EAAA,CAAA,CAAA;AAEnF,MAAA,MAAM,SAAY,GAAA;AAAA,QAChB;AAAA,UACE,UAAU,eAAgB,CAAA,WAAA,EAAA;AAAA,UAC1B,IAAI,CAAK,EAAA,GAAA,CAAA,EAAA,GAAA,IAAA,CAAA,gBAAA,KAAL,mBAAuB,EAAvB,KAAA,IAAA,GAAA,EAAA,GAA6B,KAAK,CAAG,EAAA,EAAA,CAAA;AAAA,UACzC,MAAQ,EAAA,MAAA;AAAA,SAAA;AAAA,OAAA,CAAA;AAIZ,MAAA,IAAA,CAAK,QACH,CAAA;AAAA,QACE,SAAA;AAAA,OAEF,EAAA,MAAM,KAAK,SAAU,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AAAA,EAqGpB,iBAAoB,GAAA;AACzB,IAAS,QAAA,CAAA,gBAAA,CAAiB,WAAW,IAAK,CAAA,OAAA,CAAA,CAAA;AAC1C,IAAA,IAAA,CAAK,MAAM,SAAU,CAAA,IAAA,CAAA,CAAA;AACrB,IAAA,IAAA,CAAK,qBAAqB,IAAK,CAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAG1B,oBAAuB,GAAA;AAC5B,IAAS,QAAA,CAAA,gBAAA,CAAiB,WAAW,IAAK,CAAA,OAAA,CAAA,CAAA;AAC1C,IAAA,IAAA,CAAK,KAAM,CAAA,WAAA,EAAA,CAAA;AAAA,GAAA;AAAA,EAmBN,sBAAsB,KAAsC,EAAA;AACjE,IAAA,IAAI,KAAM,CAAA,QAAA,KAAa,IAAK,CAAA,KAAA,CAAM,QAAU,EAAA;AAC1C,MAAA,IAAA,CAAK,oBAAqB,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA;AAE5B,IAAO,OAAA,IAAA,CAAA;AAAA,GAAA;AAAA,EAGF,MAAS,GAAA;AAhSlB,IAAA,IAAA,EAAA,CAAA;AAiSI,IAAA,MAAM,CAAE,QAAU,EAAA,OAAA,EAAS,WAAa,EAAA,QAAA,EAAU,gBAAiB,IAAK,CAAA,KAAA,CAAA;AACxE,IAAM,MAAA,CAAE,SAAW,EAAA,KAAA,CAAA,GAAU,IAAK,CAAA,KAAA,CAAA;AAElC,IAAA,2CACG,KAAD,EAAA;AAAA,MAAK,OAAO,CAAE,MAAA,EAAQ,MAAQ,EAAA,KAAA,EAAO,QAAQ,QAAU,EAAA,UAAA,CAAA;AAAA,KAAA,sCACpD,WAAD,EAAA;AAAA,MACE,QAAA;AAAA,MACA,OAAA;AAAA,MACA,YAAA;AAAA,MACA,WAAA;AAAA,MACA,QAAA;AAAA,MACA,KAAA;AAAA,MACA,WAAA,EAAa,CAAC,KAAU,KAAA;AACtB,QAAA,IAAA,CAAK,QAAW,GAAA,KAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,sCAGnB,aAAD,EAAA;AAAA,MAAe,MAAQ,EAAA,SAAA;AAAA,MAAW,SAAA,EAAW,CAAK,EAAA,GAAA,IAAA,CAAA,MAAA,KAAL,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,SAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import o,{useEffect as c}from"react";import{i18n as a}from"@labelbee/lb-utils";import{I18nextProvider as i}from"react-i18next";import{TagToolInstanceAdaptor as p}from"./TagToolInstanceAdaptor.js";var f=Object.defineProperty,n=Object.getOwnPropertySymbols,m=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable,l=(e,r,t)=>r in e?f(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,u=(e,r)=>{for(var t in r||(r={}))m.call(r,t)&&l(e,t,r[t]);if(n)for(var t of n(r))s.call(r,t)&&l(e,t,r[t]);return e};const _=e=>(c(()=>{a.changeLanguage(e.lang)},[e.lang]),o.createElement(i,{i18n:a},o.createElement(p,u({},e))));export{_ as VideoTagTool};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagToolInstanceAdaptorI18nProvider.js","sources":["../../../src/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { i18n } from '@labelbee/lb-utils';\nimport { I18nextProvider } from 'react-i18next';\nimport { IVideoTagInstanceAdaptorProps, TagToolInstanceAdaptor } from './TagToolInstanceAdaptor';\n\n/**\n * I18n provider for InstanceAdaptorI18nProvider\n * @param props\n */\nexport const VideoTagTool = (props: IVideoTagInstanceAdaptorProps & { lang?: string }) => {\n useEffect(() => {\n i18n.changeLanguage(props.lang);\n }, [props.lang]);\n\n return (\n <I18nextProvider i18n={i18n}>\n <TagToolInstanceAdaptor {...props} />\n </I18nextProvider>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AASa,MAAA,YAAA,GAAe,CAAC,KAA6D,KAAA;AACxF,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAA,CAAK,eAAe,KAAM,CAAA,IAAA,CAAA,CAAA;AAAA,GAAA,EACzB,CAAC,KAAM,CAAA,IAAA,CAAA,CAAA,CAAA;AAEV,EAAA,2CACG,eAAD,EAAA;AAAA,IAAiB,IAAA;AAAA,GACf,kBAAA,KAAA,CAAA,aAAA,CAAC,wBAAD,cAA4B,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"react";import{result2LabelKey as n}from"./utils.js";const i={position:"absolute",zIndex:20,padding:"0 20px",color:"white",fontSize:15,lineHeight:"32px",background:"rgba(0, 255, 255, 0.32)",top:0,right:0,maxHeight:"calc(100% - 80px)",overflowY:"scroll"},c=({result:r,inputList:l})=>{const a=n(r,l);return e.createElement("div",{style:i},e.createElement("table",null,e.createElement("tbody",null,a.map(({keyLabel:t,valuesLabelArray:o})=>e.createElement("tr",{key:t},e.createElement("td",{style:{paddingRight:8}},`${t}:`),e.createElement("td",null,`${o.join("\u3001")}`))))))};export{c as VideoTagLayer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"VideoTagLayer.js","sources":["../../../src/components/videoPlayer/VideoTagLayer.tsx"],"sourcesContent":["import React from 'react';\nimport { result2LabelKey } from './utils';\nimport type { ITagLabelsArray } from './types';\nimport { IInputList } from '@/types/main';\n\ninterface IVideoTagLayerProps {\n result: Array<{ result: { [key: string]: string } }>;\n inputList: IInputList[];\n}\n\nconst tagLayerCSSProperty: React.CSSProperties = {\n position: 'absolute',\n zIndex: 20,\n padding: '0 20px',\n color: 'white',\n fontSize: 15,\n lineHeight: '32px',\n background: 'rgba(0, 255, 255, 0.32)',\n top: 0,\n right: 0,\n maxHeight: 'calc(100% - 80px)',\n overflowY: 'scroll',\n};\n\nexport const VideoTagLayer: React.FC<IVideoTagLayerProps> = ({ result, inputList }) => {\n const tagsLabel: ITagLabelsArray = result2LabelKey(result, inputList);\n return (\n <div style={tagLayerCSSProperty}>\n <table>\n <tbody>\n {tagsLabel.map(({ keyLabel, valuesLabelArray }) => (\n <tr key={keyLabel}>\n <td style={{ paddingRight: 8 }}>{`${keyLabel}:`}</td>\n <td>{`${valuesLabelArray.join('、')}`}</td>\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n );\n};\n"],"names":[],"mappings":";;;AAUA,MAAM,mBAA2C,GAAA;AAAA,EAC/C,QAAU,EAAA,UAAA;AAAA,EACV,MAAQ,EAAA,EAAA;AAAA,EACR,OAAS,EAAA,QAAA;AAAA,EACT,KAAO,EAAA,OAAA;AAAA,EACP,QAAU,EAAA,EAAA;AAAA,EACV,UAAY,EAAA,MAAA;AAAA,EACZ,UAAY,EAAA,yBAAA;AAAA,EACZ,GAAK,EAAA,CAAA;AAAA,EACL,KAAO,EAAA,CAAA;AAAA,EACP,SAAW,EAAA,mBAAA;AAAA,EACX,SAAW,EAAA,QAAA;AAAA,CAAA,CAAA;AAGN,MAAM,aAA+C,GAAA,CAAC,CAAE,MAAA,EAAQ,SAAgB,CAAA,KAAA;AACrF,EAAM,MAAA,SAAA,GAA6B,gBAAgB,MAAQ,EAAA,SAAA,CAAA,CAAA;AAC3D,EAAA,2CACG,KAAD,EAAA;AAAA,IAAK,KAAO,EAAA,mBAAA;AAAA,GAAA,kBACT,KAAA,CAAA,aAAA,CAAA,OAAA,EAAD,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,OAAD,EAAA,IAAA,EACG,SAAU,CAAA,GAAA,CAAI,CAAC,CAAE,QAAU,EAAA,gBAAA,CAAA,yCACzB,IAAD,EAAA;AAAA,IAAI,GAAK,EAAA,QAAA;AAAA,GAAA,sCACN,IAAD,EAAA;AAAA,IAAI,KAAA,EAAO,CAAE,YAAc,EAAA,CAAA,CAAA;AAAA,GAAA,EAAM,GAAG,QACpC,CAAA,CAAA,CAAA,CAAA,kBAAA,KAAA,CAAA,aAAA,CAAC,MAAD,IAAK,EAAA,CAAA,EAAG,iBAAiB,IAAK,CAAA,QAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"react";import{getClassName as o}from"../../../../utils/dom.js";import{PauseOutlined as y,CaretRightOutlined as N,CaretUpOutlined as C,CaretDownOutlined as T}from"@ant-design/icons";import{VideoPlayerCtx as c}from"../../index.js";import{Pagination as x}from"../../../../views/MainView/toolFooter/Pagination.js";import P from"../../../../assets/annotation/video/icon_keyboard_h.svg.js";import h from"../../../../views/MainView/toolFooter/FooterTips/ToolHotKey/index.js";import{useTranslation as u}from"react-i18next";import{decimalReserved as d}from"../../utils.js";import{cTool as w}from"@labelbee/lb-annotation";const{EVideoToolName:V}=w,p=t=>{const n=Math.floor(t/60),r=~~(t%60).toFixed(),a=(t*10).toString().split("").pop(),l=s=>s<10?`0${s}`:s;return`${l(n)}:${l(r)}:${a}`},k=()=>{const{currentTime:t,duration:n,buffered:r,setCurrentTime:a}=e.useContext(c),l=e.useRef(null),s=`${d(r/n*100,1)}%`,m=`${d(t/n*100,1)}%`,v=i=>{if(l.current){const E=i.clientX,f=l.current.clientWidth,g=d(E/f*n,1);a(g)}};return e.createElement("div",{className:o("video-progress"),ref:l,onClick:i=>{i.stopPropagation(),i.nativeEvent.stopImmediatePropagation(),v(i)}},e.createElement("div",{className:o("video-slider")},e.createElement("div",{className:o("video-slider","played"),style:{width:m}}),e.createElement("div",{className:o("video-slider","loaded"),style:{width:s}}),e.createElement("div",{className:o("video-slider","played"),style:{width:m}})),e.createElement("div",{className:o("video-slider-bar"),style:{left:m}}))},b=()=>{const{updateNextPlaybackRate:t,playbackRate:n}=e.useContext(c),{t:r}=u();return e.createElement("span",{className:o("video-controller","speed")},e.createElement("span",null,r("Speed")),e.createElement("span",{className:o("video-controller","speedNum")},`${n}x`),e.createElement("span",{className:o("video-controller","speedButton")},e.createElement(C,{onClick:()=>{t()}}),e.createElement(T,{onClick:()=>{t(!1)}})))},$=()=>{const{t}=u();return e.createElement(h,{title:e.createElement("span",{className:o("video-controller","hotkey")},e.createElement("img",{src:P}),t("Hotkeys")),style:{},toolName:V.VideoTagTool})},R=()=>{const{imgIndex:t,imgList:n,pageBackward:r,pageJump:a,pageForward:l}=e.useContext(c);return e.createElement(x,{isVideo:!0,pageBackward:r,imgIndex:t,pageJump:a,totalPage:n.length,pageForward:l,footerCls:o("video-controller")})},j=()=>{const{currentTime:t,duration:n}=e.useContext(c),r=(n*10-t*10)/10;return e.createElement("div",{className:o("video-controller","time")},`${p(t)} / -${p(r)}`)},F=()=>{const{playPause:t,isPlay:n}=e.useContext(c);return e.createElement("div",{className:o("video-controller","wrapper")},e.createElement(k,null),e.createElement("div",{className:o("video-controller")},e.createElement("span",{onClick:()=>{t()},className:o("video-controller","playButton")},n?e.createElement(y,null):e.createElement(N,null)),e.createElement(j,null),e.createElement(b,null),e.createElement("div",{className:o("video-controller","holder")}),e.createElement(R,null),e.createElement($,null)))};export{F as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/components/videoPlayer/components/controller/index.tsx"],"sourcesContent":["import React from 'react';\nimport { getClassName } from '@/utils/dom';\nimport {\n CaretRightOutlined,\n CaretUpOutlined,\n CaretDownOutlined,\n PauseOutlined,\n} from '@ant-design/icons';\nimport { VideoPlayerCtx } from '../..';\nimport { Pagination } from '@/views/MainView/toolFooter/Pagination';\nimport hotkey from '@/assets/annotation/video/icon_keyboard_h.svg';\nimport ToolHotKey from '@/views/MainView/toolFooter/FooterTips/ToolHotKey';\nimport { useTranslation } from 'react-i18next';\nimport { decimalReserved } from '../../utils';\nimport { cTool } from '@labelbee/lb-annotation';\nconst { EVideoToolName } = cTool;\n\n/**\n * Format video time to display\n * Such as 61.9 => 01:01:9\n * @param {Number} time\n * @returns {String} displayTime (min:sec:mircoSec)\n */\nconst videoTimeFormat = (time: number) => {\n const min = Math.floor(time / 60);\n const sec = ~~(time % 60).toFixed();\n const minSec = (time * 10).toString().split('').pop();\n const fillZero = (num: number) => (num < 10 ? `0${num}` : num);\n return `${fillZero(min)}:${fillZero(sec)}:${minSec}`;\n};\n\nconst VideoProgress = () => {\n const { currentTime, duration, buffered, setCurrentTime } = React.useContext(VideoPlayerCtx);\n const progressRef = React.useRef<HTMLDivElement>(null);\n const bufferLoadedPercent = `${decimalReserved((buffered / duration) * 100, 1)}%`;\n const playedPercent = `${decimalReserved((currentTime / duration) * 100, 1)}%`;\n const toCurrentTime = (event: React.MouseEvent<HTMLDivElement>) => {\n if (progressRef.current) {\n const offsetX = event.clientX;\n const width = progressRef.current.clientWidth;\n const toTime = decimalReserved((offsetX / width) * duration, 1);\n setCurrentTime(toTime);\n }\n };\n\n return (\n <div\n className={getClassName('video-progress')}\n ref={progressRef}\n onClick={(event: React.MouseEvent<HTMLDivElement>) => {\n event.stopPropagation();\n event.nativeEvent.stopImmediatePropagation();\n toCurrentTime(event);\n }}\n >\n <div className={getClassName('video-slider')}>\n <div className={getClassName('video-slider', 'played')} style={{ width: playedPercent }} />\n <div\n className={getClassName('video-slider', 'loaded')}\n style={{ width: bufferLoadedPercent }}\n />\n <div className={getClassName('video-slider', 'played')} style={{ width: playedPercent }} />\n </div>\n\n <div className={getClassName('video-slider-bar')} style={{ left: playedPercent }} />\n </div>\n );\n};\n\nconst VideoSpeedButton = () => {\n const { updateNextPlaybackRate, playbackRate } = React.useContext(VideoPlayerCtx);\n const { t } = useTranslation();\n\n return (\n <span className={getClassName('video-controller', 'speed')}>\n <span>{t('Speed')}</span>\n <span className={getClassName('video-controller', 'speedNum')}>{`${playbackRate}x`}</span>\n <span className={getClassName('video-controller', 'speedButton')}>\n <CaretUpOutlined\n onClick={() => {\n updateNextPlaybackRate();\n }}\n />\n <CaretDownOutlined\n onClick={() => {\n updateNextPlaybackRate(false);\n }}\n />\n </span>\n </span>\n );\n};\n\nconst VideoHotKeys = () => {\n const { t } = useTranslation();\n return (\n <ToolHotKey\n title={\n <span className={getClassName('video-controller', 'hotkey')}>\n <img src={hotkey} />\n {t('Hotkeys')}\n </span>\n }\n style={{}}\n toolName={EVideoToolName.VideoTagTool}\n />\n );\n};\n\nconst VideoPageChange = () => {\n const { imgIndex, imgList, pageBackward, pageJump, pageForward } =\n React.useContext(VideoPlayerCtx);\n\n return (\n <Pagination\n isVideo={true}\n pageBackward={pageBackward}\n imgIndex={imgIndex}\n pageJump={pageJump}\n totalPage={imgList.length}\n pageForward={pageForward}\n footerCls={getClassName('video-controller')}\n />\n );\n};\n\nconst VideoTime = () => {\n const { currentTime, duration } = React.useContext(VideoPlayerCtx);\n const remaingTime = (duration * 10 - currentTime * 10) / 10;\n\n return (\n <div className={getClassName('video-controller', 'time')}>\n {`${videoTimeFormat(currentTime)} / -${videoTimeFormat(remaingTime)}`}\n </div>\n );\n};\n\nconst VideoController = () => {\n const { playPause, isPlay } = React.useContext(VideoPlayerCtx);\n\n return (\n <div className={getClassName('video-controller', 'wrapper')}>\n <VideoProgress />\n <div className={getClassName('video-controller')}>\n <span\n onClick={() => {\n playPause();\n }}\n className={getClassName('video-controller', 'playButton')}\n >\n {isPlay ? <PauseOutlined /> : <CaretRightOutlined />}\n </span>\n <VideoTime />\n <VideoSpeedButton />\n <div className={getClassName('video-controller', 'holder')} />\n <VideoPageChange />\n <VideoHotKeys />\n </div>\n </div>\n );\n};\n\nexport default VideoController;\n"],"names":["hotkey"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import r from"react";import D from"./components/controller/index.js";import{getClassName as d}from"../../utils/dom.js";import{cKeyCode as I}from"@labelbee/lb-annotation";import{decimalReserved as h}from"./utils.js";import N from"../fileException/index.js";const s=I.default,u=r.createContext({isPlay:!1,playPause:()=>{},updateNextPlaybackRate:()=>{},playbackRate:1,currentTime:0,duration:0,buffered:0,setCurrentTime:()=>{},imgList:[],imgIndex:-1,pageBackward:()=>{},pageJump:f=>{},pageForward:()=>{}}),L=50,m=.1,l=[.5,1,1.5,2,4,6,8,16];class c extends r.Component{constructor(i){super(i);this.changePlaybackPate=e=>{this.videoElm&&(this.videoElm.playbackRate=e,this.setState({playbackRate:e}))},this.playPause=()=>{var e,t,a;((e=this.videoElm)==null?void 0:e.paused)?(t=this.videoElm)==null||t.play():(a=this.videoElm)==null||a.pause()},this.updateNextPlaybackRate=(e=!0)=>{const t=l.findIndex(o=>o===this.state.playbackRate);let a=e?Math.min(t+1,l.length-1):Math.max(t-1,0);this.changePlaybackPate(l[a])},this.fastForward=()=>{this.videoElm&&this.setCurrentTime(this.videoElm.currentTime+m)},this.rewind=()=>{this.videoElm&&this.setCurrentTime(this.videoElm.currentTime-m)},this.keydown=e=>{e.keyCode===s.Space&&(e.preventDefault(),this.playPause()),e.keyCode===s.Up&&(e.preventDefault(),this.updateNextPlaybackRate()),e.keyCode===s.Down&&(e.preventDefault(),this.updateNextPlaybackRate(!1)),e.keyCode===s.Left&&(e.preventDefault(),this.rewind()),e.keyCode===s.Right&&(e.preventDefault(),this.fastForward())},this.onPlay=()=>{this.setState({isPlay:!0},this.onVideoStart)},this.onPause=()=>{this.onVideoStopped()},this.onVideoStopped=()=>{this.setState({isPlay:!1}),this.timeInterval&&(clearInterval(this.timeInterval),this.timeInterval=void 0)},this.onVideoStart=()=>{this.timeInterval=window.setInterval(()=>{var e,t,a;if(this.videoElm)try{if(((e=this.videoElm)==null?void 0:e.buffered.length)>0){const o=(t=this.videoElm)==null?void 0:t.buffered.end(0);this.setState({currentTime:h((a=this.videoElm)==null?void 0:a.currentTime,1),buffered:o})}}catch(o){console.error(o)}},L)},this.resetVideoData=()=>{this.setState({currentTime:0,buffered:0,error:!1,isPlay:!1}),this.onVideoStopped()},this.setDuration=()=>{var e;if(this.videoElm){const t=h((e=this.videoElm)==null?void 0:e.duration,1);this.setState({duration:t})}},this.setCurrentTime=e=>{this.videoElm&&(this.videoElm.currentTime=e,this.setState({currentTime:e}))},this.reload=()=>{var e;(e=this.videoElm)==null||e.load()},this.onError=()=>{this.resetVideoData(),this.setState({error:!0})},this.state={playbackRate:1,currentTime:0,isPlay:!1,duration:0,buffered:0,error:!1},this.videoRef=r.createRef()}get videoElm(){var i;return(i=this.videoRef)==null?void 0:i.current}get videoSrc(){var i,e;const{imgIndex:t,imgList:a}=this.props;return t>-1&&(e=(i=a[t])==null?void 0:i.url)!=null?e:""}componentDidMount(){var i,e;window.addEventListener("keydown",this.keydown),((i=this.videoRef)==null?void 0:i.current)&&this.props.setVideoRef&&this.props.setVideoRef((e=this.videoRef)==null?void 0:e.current)}componentWillUnmount(){window.removeEventListener("keydown",this.keydown)}render(){const{isPlay:i,playbackRate:e,currentTime:t,duration:a,buffered:o,error:p}=this.state,{imgList:v,imgIndex:y,pageBackward:E,pageJump:P,pageForward:R,valid:b}=this.props,{playPause:n,updateNextPlaybackRate:g,onPause:k,onPlay:w,resetVideoData:x,setDuration:C,setCurrentTime:S,onError:T,videoRef:_,videoSrc:V}=this;return r.createElement(u.Provider,{value:{videoRef:this.videoRef,isPlay:i,playPause:n,updateNextPlaybackRate:g,playbackRate:e,currentTime:t,duration:a,buffered:o,setCurrentTime:S,imgIndex:y,imgList:v,pageBackward:E,pageJump:P,pageForward:R}},r.createElement("div",{className:d("video-wrapper")},r.createElement("div",{className:d("video-container")},r.createElement("video",{ref:_,className:d("video"),src:V,onPause:k,onPlay:w,onLoadedMetadata:x,onError:T,onDurationChange:C,width:"100%",height:"100%",onClick:n}),r.createElement(N,{fileType:"video",errorProps:{reloadImage:this.reload,backgroundColor:"#e2e2e2",ignoreOffsetY:!0,isError:p},invalidProps:{isValid:b}})),r.createElement(D,null)))}}export{c as VideoPlayer,u as VideoPlayerCtx,c as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/videoPlayer/index.tsx"],"sourcesContent":["/**\n * @author Glenfiddish <edwinlee0927@hotmail.com>\n * @file Implement video player, including mouse and keyboard event\n * @date 2022-06-02\n */\n\nimport React from 'react';\nimport VideoController from './components/controller';\nimport { getClassName } from '@/utils/dom';\nimport { cKeyCode } from '@labelbee/lb-annotation';\nimport { IFileItem } from '@/types/data';\nimport { decimalReserved } from './utils';\nimport FileException from '../fileException';\n\nconst EKeyCode = cKeyCode.default;\n\nexport const VideoPlayerCtx = React.createContext<{\n videoRef?: React.RefObject<HTMLVideoElement> | null;\n isPlay: boolean;\n playPause: () => void;\n updateNextPlaybackRate: (isForward?: boolean) => void;\n setCurrentTime: (time: number) => void;\n playbackRate: number;\n currentTime: number;\n duration: number;\n buffered: number;\n imgList: IFileItem[];\n imgIndex: number;\n pageBackward: () => void;\n pageJump: (page: string) => void;\n pageForward: () => void;\n}>({\n isPlay: false,\n playPause: () => {},\n updateNextPlaybackRate: () => {},\n playbackRate: 1,\n currentTime: 0,\n duration: 0,\n buffered: 0,\n setCurrentTime: () => {},\n imgList: [],\n imgIndex: -1,\n pageBackward: () => {},\n pageJump: (page: string) => {},\n pageForward: () => {},\n});\n\nconst PER_INTERVAL = 50;\nconst PER_FORWARD = 0.1;\nconst PLAYBACK_RATES = [0.5, 1, 1.5, 2, 4, 6, 8, 16];\n\ninterface IVideoPlayerProps {\n imgList: IFileItem[];\n imgIndex: number;\n pageBackward: () => void;\n pageJump: (page: string) => void;\n pageForward: () => void;\n valid: boolean;\n setVideoRef?: (video: HTMLVideoElement) => void;\n}\n\ninterface IVideoPlayerState {\n playbackRate: number;\n currentTime: number;\n isPlay: boolean;\n duration: number;\n buffered: number;\n error: boolean;\n}\n\nexport class VideoPlayer extends React.Component<IVideoPlayerProps, IVideoPlayerState> {\n public videoRef?: React.RefObject<HTMLVideoElement>;\n public timeInterval?: number;\n\n public constructor(props: IVideoPlayerProps) {\n super(props);\n this.state = {\n playbackRate: 1,\n currentTime: 0,\n isPlay: false,\n duration: 0,\n buffered: 0,\n error: false,\n };\n this.videoRef = React.createRef();\n }\n\n public get videoElm() {\n return this.videoRef?.current;\n }\n\n public get videoSrc() {\n const { imgIndex, imgList } = this.props;\n return imgIndex > -1 ? imgList[imgIndex]?.url ?? '' : '';\n }\n\n public changePlaybackPate = (playbackRate: number) => {\n if (this.videoElm) {\n this.videoElm.playbackRate = playbackRate;\n this.setState({\n playbackRate,\n });\n }\n };\n\n public playPause = () => {\n if (this.videoElm?.paused) {\n this.videoElm?.play();\n } else {\n this.videoElm?.pause();\n }\n };\n\n public updateNextPlaybackRate = (isForward = true) => {\n const idx = PLAYBACK_RATES.findIndex((r) => r === this.state.playbackRate);\n let nextIdx = isForward ? Math.min(idx + 1, PLAYBACK_RATES.length - 1) : Math.max(idx - 1, 0);\n this.changePlaybackPate(PLAYBACK_RATES[nextIdx]);\n };\n\n public fastForward = () => {\n if (this.videoElm) {\n this.setCurrentTime(this.videoElm.currentTime + PER_FORWARD);\n }\n };\n\n public rewind = () => {\n if (this.videoElm) {\n this.setCurrentTime(this.videoElm.currentTime - PER_FORWARD);\n }\n };\n\n /**\n * Implement Video's keydown\n * Play / Pause - Space\n * Rewind / FastForward - ⬅️ / ➡️\n * Speed - ⬆️ / ⬇\n * @param event\n */\n public keydown = (event: KeyboardEvent) => {\n if (event.keyCode === EKeyCode.Space) {\n event.preventDefault();\n this.playPause();\n }\n\n if (event.keyCode === EKeyCode.Up) {\n event.preventDefault();\n this.updateNextPlaybackRate();\n }\n\n if (event.keyCode === EKeyCode.Down) {\n event.preventDefault();\n this.updateNextPlaybackRate(false);\n }\n\n if (event.keyCode === EKeyCode.Left) {\n event.preventDefault();\n this.rewind();\n }\n\n if (event.keyCode === EKeyCode.Right) {\n event.preventDefault();\n this.fastForward();\n }\n };\n\n public onPlay = () => {\n this.setState(\n {\n isPlay: true,\n },\n this.onVideoStart,\n );\n };\n\n public onPause = () => {\n this.onVideoStopped();\n };\n\n public onVideoStopped = () => {\n this.setState({\n isPlay: false,\n });\n\n if (this.timeInterval) {\n clearInterval(this.timeInterval);\n this.timeInterval = undefined;\n }\n };\n\n public onVideoStart = () => {\n this.timeInterval = window.setInterval(() => {\n if (this.videoElm) {\n try {\n if (this.videoElm?.buffered.length > 0) {\n const buffered = this.videoElm?.buffered.end(0);\n\n this.setState({\n currentTime: decimalReserved(this.videoElm?.currentTime, 1),\n buffered,\n });\n }\n } catch (error) {\n console.error(error);\n }\n }\n }, PER_INTERVAL);\n };\n\n public resetVideoData = () => {\n this.setState({\n currentTime: 0,\n buffered: 0,\n error: false,\n isPlay: false,\n });\n this.onVideoStopped();\n };\n\n public setDuration = () => {\n if (this.videoElm) {\n const duration = decimalReserved(this.videoElm?.duration, 1);\n\n this.setState({\n duration,\n });\n }\n };\n\n public setCurrentTime = (currentTime: number) => {\n if (this.videoElm) {\n this.videoElm.currentTime = currentTime;\n this.setState({\n currentTime,\n });\n }\n };\n\n public reload = () => {\n this.videoElm?.load();\n };\n\n public onError = () => {\n this.resetVideoData();\n this.setState({ error: true });\n };\n\n public componentDidMount() {\n window.addEventListener('keydown', this.keydown);\n if (this.videoRef?.current && this.props.setVideoRef) {\n this.props.setVideoRef(this.videoRef?.current as HTMLVideoElement);\n }\n }\n\n public componentWillUnmount() {\n window.removeEventListener('keydown', this.keydown);\n }\n\n public render() {\n const { isPlay, playbackRate, currentTime, duration, buffered, error } = this.state;\n const { imgList, imgIndex, pageBackward, pageJump, pageForward, valid } = this.props;\n\n const {\n playPause,\n updateNextPlaybackRate,\n onPause,\n onPlay,\n resetVideoData,\n setDuration,\n setCurrentTime,\n onError,\n videoRef,\n videoSrc,\n } = this;\n\n return (\n <VideoPlayerCtx.Provider\n // eslint-disable-next-line react/jsx-no-constructed-context-values\n value={{\n videoRef: this.videoRef,\n isPlay,\n playPause,\n updateNextPlaybackRate,\n playbackRate,\n currentTime,\n duration,\n buffered,\n setCurrentTime,\n imgIndex,\n imgList,\n pageBackward,\n pageJump,\n pageForward,\n }}\n >\n <div className={getClassName('video-wrapper')}>\n <div className={getClassName('video-container')}>\n <video\n ref={videoRef}\n className={getClassName('video')}\n src={videoSrc}\n onPause={onPause}\n onPlay={onPlay}\n onLoadedMetadata={resetVideoData}\n onError={onError}\n onDurationChange={setDuration}\n width='100%'\n height='100%'\n onClick={playPause}\n />\n\n <FileException\n fileType='video'\n errorProps={{\n reloadImage: this.reload,\n backgroundColor: '#e2e2e2',\n ignoreOffsetY: true,\n isError: error,\n }}\n invalidProps={{\n isValid: valid,\n }}\n />\n </div>\n <VideoController />\n </div>\n </VideoPlayerCtx.Provider>\n );\n }\n}\n\nexport default VideoPlayer;\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const o=(e,r,l)=>{const a=l.find(n=>n.value===e),u=a.subSelected.find(n=>n.value===r);return{keyLabel:a.key,valueLabel:u.key}},c=(e,r)=>e.sort((l,a)=>{const u=r.findIndex(t=>l===t.value),n=r.findIndex(t=>a===t.value);return u-n}),f=(e,r)=>{var l;try{return(l=e==null?void 0:e.reduce((a,u)=>(c(Object.keys(u.result),r).forEach(n=>{var t;const s=(t=u.result[n])==null?void 0:t.split(";");b(s,n,r,a)}),a),[]))!=null?l:[]}catch(a){return[]}},b=(e,r,l,a)=>{e.forEach(u=>{const{keyLabel:n,valueLabel:t}=o(r,u,l),s=a.find(d=>d.keyLabel===n);s?s.valuesLabelArray.push(t):a.push({keyLabel:n,valuesLabelArray:[t]})})},i=e=>e<=57&&e>=49?e-48:e<=105&&e>=97?e-96:0,v=(e,r)=>typeof e=="number"?parseFloat(e.toFixed(r)):e;export{v as decimalReserved,o as findTagLabel,i as getKeyCodeNumber,f as result2LabelKey,c as tagsSortThruInputList};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../../../src/components/videoPlayer/utils.ts"],"sourcesContent":["import type { ITagLabelsArray } from './types';\n\n/**\n * Find key and value to display label through inputList\n * @param key\n * @param value\n * @param inputList\n */\nexport const findTagLabel = (key: string, value: string, inputList: any[]) => {\n const primaryTagConfig = inputList.find((i) => i.value === key);\n const secondaryTagConfig = primaryTagConfig.subSelected.find(\n (i: { value: string }) => i.value === value,\n );\n return { keyLabel: primaryTagConfig.key, valueLabel: secondaryTagConfig.key };\n};\n\n/**\n * Sort tags through inputList\n * @param tagsKeys\n * @param inputList\n */\nexport const tagsSortThruInputList = (tagsKeys: string[], inputList: any[]) => {\n return tagsKeys.sort((key1, key2) => {\n const key1Idx = inputList.findIndex((input) => key1 === input.value);\n const key2Idx = inputList.findIndex((input) => key2 === input.value);\n return key1Idx - key2Idx;\n });\n};\n\n/**\n * Convent result's array to array of showing the labels\n * @param result\n * @param inputList\n * @returns {ITagLabelsArray}\n */\nexport const result2LabelKey = (result: any[], inputList: any[]) => {\n try {\n return (\n result?.reduce((exitsTags: ITagLabelsArray, res: { result: { [key: string]: string } }) => {\n tagsSortThruInputList(Object.keys(res.result), inputList).forEach((key) => {\n const valuesArray = res.result[key]?.split(';');\n findLabelFromValuesArray(valuesArray, key, inputList, exitsTags);\n });\n return exitsTags;\n }, []) ?? []\n );\n } catch (error) {\n return [];\n }\n};\n\n/**\n * find label from valuesArray and push to exitsTags\n * @param valuesArray\n * @param key\n * @param inputList\n * @param exitsTags\n */\nconst findLabelFromValuesArray = (\n valuesArray: string[],\n key: string,\n inputList: any[],\n exitsTags: ITagLabelsArray,\n) => {\n valuesArray.forEach((value) => {\n const { keyLabel, valueLabel } = findTagLabel(key, value, inputList);\n const tagHasAssign = exitsTags.find((i) => i.keyLabel === keyLabel);\n if (tagHasAssign) {\n tagHasAssign.valuesLabelArray.push(valueLabel);\n } else {\n exitsTags.push({ keyLabel, valuesLabelArray: [valueLabel] });\n }\n });\n};\n\n/**\n * Get key number through keyCode, Such as 49(keycode) => 1(number)\n * @param {Number} keyCode\n * @returns {Number} keyCode in scope if it greater than 0\n */\nexport const getKeyCodeNumber = (keyCode: number) => {\n if (keyCode <= 57 && keyCode >= 49) {\n return keyCode - 48;\n }\n\n if (keyCode <= 105 && keyCode >= 97) {\n return keyCode - 96;\n }\n\n return 0;\n};\n\n/**\n * Preserve decimals for number\n * @param num\n * @param places\n * @returns {Number}\n */\nexport const decimalReserved = (num: number, places = 2) =>\n typeof num === 'number' ? parseFloat(num.toFixed(places)) : num;\n"],"names":[],"mappings":"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"}
|
package/es/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{default as AnnotationView}from"./components/AnnotationView/index.js";import{i18n as l}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import a,{useState as m,useImperativeHandle as
|
|
1
|
+
export{default as AnnotationView}from"./components/AnnotationView/index.js";import{i18n as l}from"@labelbee/lb-utils";export{i18n}from"@labelbee/lb-utils";import a,{useState as m,useImperativeHandle as d}from"react";import{I18nextProvider as f}from"react-i18next";import{Provider as u}from"react-redux";import P from"./App.js";import _ from"./configureStore.js";import{PageBackward as g,PageForward as v,PageJump as w}from"./store/annotation/actionCreators.js";export{VideoTagTool}from"./components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js";var O=Object.defineProperty,b=Object.defineProperties,x=Object.getOwnPropertyDescriptors,n=Object.getOwnPropertySymbols,j=Object.prototype.hasOwnProperty,I=Object.prototype.propertyIsEnumerable,p=(t,e,r)=>e in t?O(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,y=(t,e)=>{for(var r in e||(e={}))j.call(e,r)&&p(t,r,e[r]);if(n)for(var r of n(e))I.call(e,r)&&p(t,r,e[r]);return t},A=(t,e)=>b(t,x(e));const o=_(),h=(t,e)=>{const[r,i]=m();return d(e,()=>({toolInstance:r,pageBackwardActions:()=>o.dispatch(g()),pageForwardActions:()=>o.dispatch(v()),pageJump:s=>{const c=~~s-1;o.dispatch(w(c))},hello:()=>alert("hello labelBee!!!")}),[r]),a.createElement(u,{store:o},a.createElement(f,{i18n:l},a.createElement(P,A(y({},t),{setToolInstance:i}))))};var E=a.forwardRef(h);export{E as default,o as store};
|
package/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":["import { AppProps } from '@/App';\nimport AnnotationView from '@/components/AnnotationView';\nimport { i18n } from '@labelbee/lb-utils';\nimport React, { useImperativeHandle, useState } from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { Provider } from 'react-redux';\nimport { AnyAction } from 'redux';\nimport App from './App';\nimport configureStore from './configureStore';\nimport { PageBackward, PageForward, PageJump } from './store/annotation/actionCreators';\nimport { ToolInstance } from './store/annotation/types';\n\nexport const store = configureStore();\n\nconst OutputApp = (props: AppProps, ref: any) => {\n const [toolInstance, setToolInstance] = useState<ToolInstance>();\n // 暴露给 ref 的一些方法\n useImperativeHandle(\n ref,\n () => {\n return {\n toolInstance,\n pageBackwardActions: () => store.dispatch(PageBackward() as unknown as AnyAction),\n pageForwardActions: () => store.dispatch(PageForward() as unknown as AnyAction),\n pageJump: (page: string) => {\n const imgIndex = ~~page - 1;\n store.dispatch(PageJump(imgIndex) as unknown as AnyAction);\n },\n hello: () => alert(`hello labelBee!!!`),\n };\n },\n [toolInstance],\n );\n\n return (\n <Provider store={store}>\n <I18nextProvider i18n={i18n}>\n <App {...props} setToolInstance={setToolInstance} />\n </I18nextProvider>\n </Provider>\n );\n};\n\nexport default React.forwardRef(OutputApp);\n\nexport { AnnotationView, i18n };\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/index.tsx"],"sourcesContent":["import { AppProps } from '@/App';\nimport AnnotationView from '@/components/AnnotationView';\nimport { i18n } from '@labelbee/lb-utils';\nimport React, { useImperativeHandle, useState } from 'react';\nimport { I18nextProvider } from 'react-i18next';\nimport { Provider } from 'react-redux';\nimport { AnyAction } from 'redux';\nimport App from './App';\nimport configureStore from './configureStore';\nimport { PageBackward, PageForward, PageJump } from './store/annotation/actionCreators';\nimport { ToolInstance } from './store/annotation/types';\nimport { VideoTagTool } from '@/components/videoPlayer/TagToolInstanceAdaptorI18nProvider';\n\nexport const store = configureStore();\n\nconst OutputApp = (props: AppProps, ref: any) => {\n const [toolInstance, setToolInstance] = useState<ToolInstance>();\n // 暴露给 ref 的一些方法\n useImperativeHandle(\n ref,\n () => {\n return {\n toolInstance,\n pageBackwardActions: () => store.dispatch(PageBackward() as unknown as AnyAction),\n pageForwardActions: () => store.dispatch(PageForward() as unknown as AnyAction),\n pageJump: (page: string) => {\n const imgIndex = ~~page - 1;\n store.dispatch(PageJump(imgIndex) as unknown as AnyAction);\n },\n hello: () => alert(`hello labelBee!!!`),\n };\n },\n [toolInstance],\n );\n\n return (\n <Provider store={store}>\n <I18nextProvider i18n={i18n}>\n <App {...props} setToolInstance={setToolInstance} />\n </I18nextProvider>\n </Provider>\n );\n};\n\nexport default React.forwardRef(OutputApp);\n\nexport { AnnotationView, i18n, VideoTagTool };\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaO,MAAM,KAAQ,GAAA,cAAA,GAAA;AAErB,MAAM,SAAA,GAAY,CAAC,KAAA,EAAiB,GAAa,KAAA;AAC/C,EAAM,MAAA,CAAC,cAAc,eAAmB,CAAA,GAAA,QAAA,EAAA,CAAA;AAExC,EAAA,mBAAA,CACE,KACA,MAAM;AACJ,IAAO,OAAA;AAAA,MACL,YAAA;AAAA,MACA,mBAAA,EAAqB,MAAM,KAAA,CAAM,QAAS,CAAA,YAAA,EAAA,CAAA;AAAA,MAC1C,kBAAA,EAAoB,MAAM,KAAA,CAAM,QAAS,CAAA,WAAA,EAAA,CAAA;AAAA,MACzC,QAAA,EAAU,CAAC,IAAiB,KAAA;AAC1B,QAAM,MAAA,QAAA,GAAW,CAAC,CAAC,IAAO,GAAA,CAAA,CAAA;AAC1B,QAAA,KAAA,CAAM,SAAS,QAAS,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAAA,MAE1B,KAAA,EAAO,MAAM,KAAM,CAAA,CAAA,iBAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAAA,EAGvB,CAAC,YAAA,CAAA,CAAA,CAAA;AAGH,EAAA,2CACG,QAAD,EAAA;AAAA,IAAU,KAAA;AAAA,GAAA,sCACP,eAAD,EAAA;AAAA,IAAiB,IAAA;AAAA,GACf,kBAAA,KAAA,CAAA,aAAA,CAAC,GAAD,EAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAS,KAAT,CAAA,EAAA;AAAA,IAAgB,eAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAMxB,YAAe,MAAM,UAAW,CAAA,SAAA,CAAA;;;;"}
|
package/es/store/Actions.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const T={UPDATE_TOOL_INSTANCE:"@@UPDATE_TOOL_INSTANCE",UPDATE_IMG_LIST:"@@UPDATE_IMG_LIST",UPDATE_ANNOTATION_CONFIG:"@@UPDATE_ANNOTATION_CONFIG",LOAD_FILE_DATA:"@@LOAD_FILE_DATA",SUBMIT_FILE_DATA:"@@SUBMIT_FILE_DATA",SET_TASK_CONFIG:"@@SET_TASK_CONFIG",INIT_TOOL:"@@INIT_TOOL",UPDATE_ON_SUBMIT:"@@UPDATE_ON_SUBMIT",UPDATE_ON_SAVE:"@@UPDATE_ON_SAVE",UPDATE_ROTATE:"@@UPDATE_ROTATE",UPDATE_GET_FILE_DATA:"@@UPDATE_GET_FILE_DATA",GET_FILE_DATA:"@@GET_FILE_DATA",SET_FILE_DATA:"@@SET_FILE_DATA",COPY_BACKWARD_RESULT:"@@COPY_BACKWARD_RESULT",SET_STEP:"@@SET_STEP",SUBMIT_RESULT:"@@SUBMIT_RESULT",SAVE_RESULT:"@@SAVE_RESULT",SET_BASIC_INDEX:"@@SET_BASIC_INDEX",CALC_STEP_PROGRESS:"@@CALC_STEP_PROGRESS",SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:"@@SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED",SET_LOADING:"@@SET_LOADING"},_={UPDATE_IMG_ATTRIBUTE:"@@UPDATE_IMG_ATTRIBUTE",INIT_IMG_ATTRIBUTE:"@@INIT_IMG_ATTRIBUTE"},E={INIT_TOOL_STYLE_CONFIG:"@@INIT_TOOL_STYLE_CONFIG",UPDATE_TOOL_STYLE_CONFIG:"@@UPDATE_TOOL_STYLE_CONFIG"};export{T as ANNOTATION_ACTIONS,_ as IMAGE_ATTRIBUTE_ACTIONS,E as TOOL_STYLE_ACTIONS};
|
|
1
|
+
const T={UPDATE_TOOL_INSTANCE:"@@UPDATE_TOOL_INSTANCE",UPDATE_IMG_LIST:"@@UPDATE_IMG_LIST",UPDATE_ANNOTATION_CONFIG:"@@UPDATE_ANNOTATION_CONFIG",LOAD_FILE_DATA:"@@LOAD_FILE_DATA",SUBMIT_FILE_DATA:"@@SUBMIT_FILE_DATA",SET_TASK_CONFIG:"@@SET_TASK_CONFIG",INIT_TOOL:"@@INIT_TOOL",SET_TOOL:"@@SET_TOOL",UPDATE_ON_SUBMIT:"@@UPDATE_ON_SUBMIT",UPDATE_ON_SAVE:"@@UPDATE_ON_SAVE",UPDATE_ON_PAGE_CHANGE:"@@UPDATE_ON_PAGE_CHANGE",UPDATE_ON_STEP_CHANGE:"@@UPDATE_ON_STEP_CHANGE",UPDATE_ROTATE:"@@UPDATE_ROTATE",UPDATE_GET_FILE_DATA:"@@UPDATE_GET_FILE_DATA",UPDATE_PAGE_SIZE:"@@UPDATE_PAGE_SIZE",UPDATE_LOAD_FILE_LIST:"@@UPDATE_LOAD_FILE_LIST",GET_FILE_DATA:"@@GET_FILE_DATA",SET_FILE_DATA:"@@SET_FILE_DATA",COPY_BACKWARD_RESULT:"@@COPY_BACKWARD_RESULT",SET_STEP:"@@SET_STEP",SUBMIT_RESULT:"@@SUBMIT_RESULT",SAVE_RESULT:"@@SAVE_RESULT",SET_BASIC_INDEX:"@@SET_BASIC_INDEX",CALC_STEP_PROGRESS:"@@CALC_STEP_PROGRESS",SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:"@@SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED",SET_LOADING:"@@SET_LOADING"},_={UPDATE_IMG_ATTRIBUTE:"@@UPDATE_IMG_ATTRIBUTE",INIT_IMG_ATTRIBUTE:"@@INIT_IMG_ATTRIBUTE"},E={INIT_TOOL_STYLE_CONFIG:"@@INIT_TOOL_STYLE_CONFIG",UPDATE_TOOL_STYLE_CONFIG:"@@UPDATE_TOOL_STYLE_CONFIG"};export{T as ANNOTATION_ACTIONS,_ as IMAGE_ATTRIBUTE_ACTIONS,E as TOOL_STYLE_ACTIONS};
|
package/es/store/Actions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Actions.js","sources":["../../src/store/Actions.ts"],"sourcesContent":["export const ANNOTATION_ACTIONS = {\n UPDATE_TOOL_INSTANCE: '@@UPDATE_TOOL_INSTANCE',\n UPDATE_IMG_LIST: '@@UPDATE_IMG_LIST',\n UPDATE_ANNOTATION_CONFIG: '@@UPDATE_ANNOTATION_CONFIG',\n LOAD_FILE_DATA: '@@LOAD_FILE_DATA',\n SUBMIT_FILE_DATA: '@@SUBMIT_FILE_DATA',\n SET_TASK_CONFIG: '@@SET_TASK_CONFIG',\n INIT_TOOL: '@@INIT_TOOL',\n UPDATE_ON_SUBMIT: '@@UPDATE_ON_SUBMIT',\n UPDATE_ON_SAVE: '@@UPDATE_ON_SAVE',\n UPDATE_ROTATE: '@@UPDATE_ROTATE',\n UPDATE_GET_FILE_DATA: '@@UPDATE_GET_FILE_DATA',\n GET_FILE_DATA: '@@GET_FILE_DATA',\n SET_FILE_DATA: '@@SET_FILE_DATA',\n COPY_BACKWARD_RESULT: '@@COPY_BACKWARD_RESULT',\n SET_STEP: '@@SET_STEP',\n SUBMIT_RESULT: '@@SUBMIT_RESULT',\n SAVE_RESULT: '@@SAVE_RESULT',\n SET_BASIC_INDEX: '@@SET_BASIC_INDEX',\n CALC_STEP_PROGRESS: '@@CALC_STEP_PROGRESS',\n SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED: '@@SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED',\n\n SET_LOADING: '@@SET_LOADING',\n};\n\nexport const IMAGE_ATTRIBUTE_ACTIONS = {\n UPDATE_IMG_ATTRIBUTE: '@@UPDATE_IMG_ATTRIBUTE',\n INIT_IMG_ATTRIBUTE: '@@INIT_IMG_ATTRIBUTE',\n};\n\nexport const TOOL_STYLE_ACTIONS = {\n INIT_TOOL_STYLE_CONFIG: '@@INIT_TOOL_STYLE_CONFIG',\n UPDATE_TOOL_STYLE_CONFIG: '@@UPDATE_TOOL_STYLE_CONFIG',\n};\n"],"names":[],"mappings":"AAAO,MAAM,kBAAqB,GAAA;AAAA,EAChC,oBAAsB,EAAA,wBAAA;AAAA,EACtB,eAAiB,EAAA,mBAAA;AAAA,EACjB,wBAA0B,EAAA,4BAAA;AAAA,EAC1B,cAAgB,EAAA,kBAAA;AAAA,EAChB,gBAAkB,EAAA,oBAAA;AAAA,EAClB,eAAiB,EAAA,mBAAA;AAAA,EACjB,SAAW,EAAA,aAAA;AAAA,EACX,gBAAkB,EAAA,oBAAA;AAAA,EAClB,cAAgB,EAAA,kBAAA;AAAA,EAChB,aAAe,EAAA,iBAAA;AAAA,EACf,oBAAsB,EAAA,wBAAA;AAAA,EACtB,aAAe,EAAA,iBAAA;AAAA,EACf,aAAe,EAAA,iBAAA;AAAA,EACf,oBAAsB,EAAA,wBAAA;AAAA,EACtB,QAAU,EAAA,YAAA;AAAA,EACV,aAAe,EAAA,iBAAA;AAAA,EACf,WAAa,EAAA,eAAA;AAAA,EACb,eAAiB,EAAA,mBAAA;AAAA,EACjB,kBAAoB,EAAA,sBAAA;AAAA,EACpB,qCAAuC,EAAA,yCAAA;AAAA,EAEvC,WAAa,EAAA,eAAA;AAAA,EAAA;AAGR,MAAM,uBAA0B,GAAA;AAAA,EACrC,oBAAsB,EAAA,wBAAA;AAAA,EACtB,kBAAoB,EAAA,sBAAA;AAAA,EAAA;AAGf,MAAM,kBAAqB,GAAA;AAAA,EAChC,sBAAwB,EAAA,0BAAA;AAAA,EACxB,wBAA0B,EAAA,4BAAA;AAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"Actions.js","sources":["../../src/store/Actions.ts"],"sourcesContent":["export const ANNOTATION_ACTIONS = {\n UPDATE_TOOL_INSTANCE: '@@UPDATE_TOOL_INSTANCE',\n UPDATE_IMG_LIST: '@@UPDATE_IMG_LIST',\n UPDATE_ANNOTATION_CONFIG: '@@UPDATE_ANNOTATION_CONFIG',\n LOAD_FILE_DATA: '@@LOAD_FILE_DATA',\n SUBMIT_FILE_DATA: '@@SUBMIT_FILE_DATA',\n SET_TASK_CONFIG: '@@SET_TASK_CONFIG',\n INIT_TOOL: '@@INIT_TOOL',\n SET_TOOL: '@@SET_TOOL',\n UPDATE_ON_SUBMIT: '@@UPDATE_ON_SUBMIT',\n UPDATE_ON_SAVE: '@@UPDATE_ON_SAVE',\n UPDATE_ON_PAGE_CHANGE: '@@UPDATE_ON_PAGE_CHANGE',\n UPDATE_ON_STEP_CHANGE: '@@UPDATE_ON_STEP_CHANGE',\n UPDATE_ROTATE: '@@UPDATE_ROTATE',\n UPDATE_GET_FILE_DATA: '@@UPDATE_GET_FILE_DATA',\n UPDATE_PAGE_SIZE: '@@UPDATE_PAGE_SIZE',\n UPDATE_LOAD_FILE_LIST: '@@UPDATE_LOAD_FILE_LIST',\n GET_FILE_DATA: '@@GET_FILE_DATA',\n SET_FILE_DATA: '@@SET_FILE_DATA',\n COPY_BACKWARD_RESULT: '@@COPY_BACKWARD_RESULT',\n SET_STEP: '@@SET_STEP',\n SUBMIT_RESULT: '@@SUBMIT_RESULT',\n SAVE_RESULT: '@@SAVE_RESULT',\n SET_BASIC_INDEX: '@@SET_BASIC_INDEX',\n CALC_STEP_PROGRESS: '@@CALC_STEP_PROGRESS',\n SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED: '@@SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED',\n\n SET_LOADING: '@@SET_LOADING',\n};\n\nexport const IMAGE_ATTRIBUTE_ACTIONS = {\n UPDATE_IMG_ATTRIBUTE: '@@UPDATE_IMG_ATTRIBUTE',\n INIT_IMG_ATTRIBUTE: '@@INIT_IMG_ATTRIBUTE',\n};\n\nexport const TOOL_STYLE_ACTIONS = {\n INIT_TOOL_STYLE_CONFIG: '@@INIT_TOOL_STYLE_CONFIG',\n UPDATE_TOOL_STYLE_CONFIG: '@@UPDATE_TOOL_STYLE_CONFIG',\n};\n"],"names":[],"mappings":"AAAO,MAAM,kBAAqB,GAAA;AAAA,EAChC,oBAAsB,EAAA,wBAAA;AAAA,EACtB,eAAiB,EAAA,mBAAA;AAAA,EACjB,wBAA0B,EAAA,4BAAA;AAAA,EAC1B,cAAgB,EAAA,kBAAA;AAAA,EAChB,gBAAkB,EAAA,oBAAA;AAAA,EAClB,eAAiB,EAAA,mBAAA;AAAA,EACjB,SAAW,EAAA,aAAA;AAAA,EACX,QAAU,EAAA,YAAA;AAAA,EACV,gBAAkB,EAAA,oBAAA;AAAA,EAClB,cAAgB,EAAA,kBAAA;AAAA,EAChB,qBAAuB,EAAA,yBAAA;AAAA,EACvB,qBAAuB,EAAA,yBAAA;AAAA,EACvB,aAAe,EAAA,iBAAA;AAAA,EACf,oBAAsB,EAAA,wBAAA;AAAA,EACtB,gBAAkB,EAAA,oBAAA;AAAA,EAClB,qBAAuB,EAAA,yBAAA;AAAA,EACvB,aAAe,EAAA,iBAAA;AAAA,EACf,aAAe,EAAA,iBAAA;AAAA,EACf,oBAAsB,EAAA,wBAAA;AAAA,EACtB,QAAU,EAAA,YAAA;AAAA,EACV,aAAe,EAAA,iBAAA;AAAA,EACf,WAAa,EAAA,eAAA;AAAA,EACb,eAAiB,EAAA,mBAAA;AAAA,EACjB,kBAAoB,EAAA,sBAAA;AAAA,EACpB,qCAAuC,EAAA,yCAAA;AAAA,EAEvC,WAAa,EAAA,eAAA;AAAA,EAAA;AAGR,MAAM,uBAA0B,GAAA;AAAA,EACrC,oBAAsB,EAAA,wBAAA;AAAA,EACtB,kBAAoB,EAAA,sBAAA;AAAA,EAAA;AAGf,MAAM,kBAAqB,GAAA;AAAA,EAChC,sBAAwB,EAAA,0BAAA;AAAA,EACxB,wBAA0B,EAAA,4BAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ANNOTATION_ACTIONS as
|
|
1
|
+
import{ANNOTATION_ACTIONS as r}from"../Actions.js";import{LoadFileAndFileData as S,getStepConfig as N}from"./reducer.js";import{ESubmitType as c}from"../../constant/index.js";import{EPageTurningOperation as _}from"../../data/enums/AnnotationSize.js";import w from"../../utils/PageOperator.js";import{jsonParser as R}from"../../utils/index.js";var A=(e,t,n)=>new Promise((o,s)=>{var l=u=>{try{d(n.next(u))}catch(a){s(a)}},i=u=>{try{d(n.throw(u))}catch(a){s(a)}},d=u=>u.done?o(u.value):Promise.resolve(u.value).then(l,i);d((n=n.apply(e,t)).next())});const B=(e,t)=>t.map(n=>e(n)),h=e=>e===_.Forward?c.Forward:e===_.Backward?c.Backward:e===_.Jump?c.Jump:c.Forward,F=(e,t)=>{var n,o;const{imgList:s,imgIndex:l}=e,{dataSourceStep:i}=N(e.stepList,e.step);return((o=(n=R(s[l-1].result)[`step_${i}`])==null?void 0:n.result)==null?void 0:o.length)-1||t};function I({stepList:e,step:t}){return{type:r.SET_TASK_CONFIG,payload:{stepList:e,step:t}}}function m(e){return{type:r.UPDATE_ON_SUBMIT,payload:{onSubmit:e}}}function g(e){return{type:r.UPDATE_ON_SAVE,payload:{onSave:e}}}function P(e){return{type:r.UPDATE_ON_PAGE_CHANGE,payload:{onPageChange:e}}}function U(e){return{type:r.UPDATE_ON_STEP_CHANGE,payload:{onStepChange:e}}}function L(e){return{type:r.UPDATE_GET_FILE_DATA,payload:{getFileData:e}}}function v(e){return{type:r.UPDATE_PAGE_SIZE,payload:{pageSize:e}}}function C(e){return{type:r.UPDATE_LOAD_FILE_LIST,payload:{loadFileList:e}}}function G(){return{type:r.UPDATE_ROTATE}}function b(){return{type:r.COPY_BACKWARD_RESULT}}function k({onSubmit:e,onSave:t,onPageChange:n,onStepChange:o,getFileData:s,pageSize:l,loadFileList:i,step:d,stepList:u}){const a=[];return e&&a.push(m(e)),t&&a.push(g(t)),n&&a.push(P(n)),o&&a.push(U(o)),s&&a.push(L(s)),i&&a.push(C(i)),l&&a.push(v(l)),a.push(I({stepList:u,step:d})),a.push({type:r.CALC_STEP_PROGRESS}),a.push({type:r.INIT_TOOL}),p=>B(p,a)}const M=(e,t)=>{var n;const o=t==null?void 0:t.findIndex(s=>(s==null?void 0:s.step)===e);return(n=t[o+1])==null?void 0:n.step},j=e=>(t,n)=>{const{annotation:o}=n(),{step:s,stepList:l}=o,i=M(s,l);return[t(x(i,e))]},x=(e,t)=>(n,o)=>{var s,l;const{annotation:i}=o();(s=i==null?void 0:i.onStepChange)==null||s.call(i,e);const d=(l=i==null?void 0:i.imgIndex)!=null?l:0;return[n({type:r.SUBMIT_RESULT}),n({type:r.SUBMIT_FILE_DATA,payload:{submitType:c.StepChanged}}),n({type:r.SET_STEP,payload:{toStep:e}}),n({type:r.CALC_STEP_PROGRESS}),n(S(t!=null?t:d,0))]},f=e=>t=>[t({type:r.SUBMIT_RESULT}),t({type:r.SUBMIT_FILE_DATA,payload:{submitType:e}})],J=(e,t,n,o)=>[e(f(n)),e(S(t,o))],H=(e,t)=>[e({type:r.SUBMIT_RESULT}),e({type:r.SET_BASIC_INDEX,payload:{basicIndex:t}})],V=(e,t)=>{e({type:r.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,payload:{triggerEventAfterIndexChanged:t}})},z=(e=!1)=>(t,n)=>T(t,n,_.Backward,e),K=(e=!1)=>(t,n)=>T(t,n,_.Forward,e),W=(e,t=!1)=>(n,o)=>{if(e!==o().imgIndex)return T(n,o,_.Jump,t,e)},D=(e,t,n,o)=>A(void 0,null,function*(){var s;const{loadFileList:l,imgList:i,pageSize:d}=t().annotation,u=Math.floor(n/d);y(e,!0);try{const a=yield l(u,d);if(y(e,!1),!((s=a==null?void 0:a.fileList)==null?void 0:s.length)||!(a==null?void 0:a.total))throw new Error("fileList and total are required");const p=o?new Array(a.total):[...i];return p.splice(u*d,d,...a.fileList),e({type:r.UPDATE_IMG_LIST,payload:{imgList:p}}),!0}catch(a){y(e,!1),console.error(a)}}),T=(e,t,n,o=!1,s)=>A(void 0,null,function*(){var l;const i=t().annotation,{fileIndexChanged:d,fileIndex:u,basicIndexChanged:a,basicIndex:p}=w.getNextPageInfo(n,i,s),E=h(n);if(V(e,o),d){if(i.loading||!i.imgList[u]&&!(yield D(e,t,u)))return;(l=i.onPageChange)==null||l.call(i,u);const O=E===c.Backward?F(t().annotation,p):p;return J(e,u,E,O)}return a?H(e,p):e(f(E))}),X=e=>{e(f(c.Save)),e({type:r.SAVE_RESULT})},y=(e,t)=>{e({type:r.SET_LOADING,payload:{loading:t}})};export{X as ChangeSave,b as CopyBackWordResult,T as DispatcherTurning,k as InitTaskData,z as PageBackward,K as PageForward,W as PageJump,y as SetAnnotationLoading,I as SetTaskConfig,j as ToNextStep,f as ToSubmitFileData,L as UpdateGetFileData,C as UpdateGetFileList,P as UpdateOnPageChange,g as UpdateOnSave,U as UpdateOnStepChange,m as UpdateOnSubmit,v as UpdatePageSize,x as UpdateProcessingStep,G as UpdateRotate,D as loadImgList};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actionCreators.js","sources":["../../../src/store/annotation/actionCreators.ts"],"sourcesContent":["import { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { IStepInfo } from '@/types/step';\nimport { GetFileData, IFileItem, OnSave, OnSubmit } from '@/types/data';\nimport { AnnotationActionTypes, ToolInstance } from './types';\nimport { LoadImageAndFileData, getStepConfig } from './reducer';\nimport { ESubmitType } from '@/constant';\nimport { EPageTurningOperation } from '@/data/enums/AnnotationSize';\nimport PageOperator from '@/utils/PageOperator';\nimport { jsonParser } from '@/utils';\n\nconst dispatchTasks = (dispatch: any, tasks: any[]) => tasks.map((task) => dispatch(task));\n\n/**\n * @param {pageTurningOperation} pageTurningOperation 翻页操作\n * @returns {ESubmitType} 提数据交类型\n */\nconst getSubmitByPageOperation = (pageTurningOperation: EPageTurningOperation) => {\n if (pageTurningOperation === EPageTurningOperation.Forward) {\n return ESubmitType.Forward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Backward) {\n return ESubmitType.Backward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Jump) {\n return ESubmitType.Jump;\n }\n\n return ESubmitType.Forward;\n};\n\nconst getBasicIndex = (annotationStore: any, basicIndex: number) => {\n const {imgList, imgIndex} = annotationStore;\n const { dataSourceStep } = getStepConfig(annotationStore.stepList, annotationStore.step);\n let backwardResult = jsonParser(imgList[imgIndex - 1].result)\n const index = backwardResult[`step_${dataSourceStep}`]?.result?.length - 1\n return index || basicIndex\n}\n\nexport function UpdateToolInstance(toolInstance: ToolInstance): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE,\n payload: {\n toolInstance,\n },\n };\n}\n\nexport function UpdateImgList(imgList: IFileItem[]): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList,\n },\n };\n}\n\nexport function UpdateAnnotationConfig(config: string): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG,\n payload: {\n config,\n },\n };\n}\n\nexport function SetTaskConfig({\n stepList,\n step,\n}: {\n stepList: IStepInfo[];\n step: number;\n}): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SET_TASK_CONFIG,\n payload: {\n stepList,\n step,\n },\n };\n}\n\nexport function UpdateOnSubmit(onSubmit: OnSubmit): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT,\n payload: {\n onSubmit,\n },\n };\n}\n\nexport function UpdateOnSave(onSave: OnSave): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SAVE,\n payload: {\n onSave,\n },\n };\n}\n\nexport function UpdateGetFileData(getFileData: GetFileData): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA,\n payload: {\n getFileData,\n },\n };\n}\n\nexport function UpdateRotate(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ROTATE,\n };\n}\n\nexport function CopyBackWordResult(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT,\n };\n}\n\n/**\n * 初始化任务数据\n * @param param0\n */\nexport function InitTaskData({\n onSubmit,\n onSave,\n getFileData,\n imgList,\n step,\n stepList,\n initialIndex,\n}: any): any {\n const tasks: any[] = [];\n\n if (onSubmit) {\n tasks.push(UpdateOnSubmit(onSubmit));\n }\n if (onSave) {\n tasks.push(UpdateOnSave(onSave));\n }\n\n if (getFileData) {\n tasks.push(UpdateGetFileData(getFileData));\n }\n\n tasks.push(UpdateImgList(imgList));\n tasks.push(SetTaskConfig({ stepList, step }));\n tasks.push({\n type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS,\n });\n tasks.push({\n type: ANNOTATION_ACTIONS.INIT_TOOL,\n });\n\n tasks.push(LoadImageAndFileData(initialIndex));\n\n return (dispatch: any) => dispatchTasks(dispatch, tasks);\n}\n\n/** 获取下一步的step */\nconst getNextStep = (step: number, stepList: any) => {\n const currentStepIndex = stepList?.findIndex((element: any) => element?.step === step);\n return stepList[currentStepIndex + 1]?.step;\n};\n\n/** 切换到下一步 */\nexport const ToNextStep = (pageNumber?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n const { step, stepList } = annotation;\n const nextStep = getNextStep(step, stepList);\n return [dispatch(UpdateProcessingStep(nextStep, pageNumber))];\n};\n\n/**\n * 更新当前操作的步骤\n * @param {number} toStep\n */\nexport const UpdateProcessingStep = (toStep: number, index?: number) => (dispatch: any, state: any) => {\n const imgIndex = state()?.annotation?.imgIndex ?? 0;\n return [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({\n type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA,\n payload: { submitType: ESubmitType.StepChanged },\n }),\n // ToSubmitFileData(ESubmitType.StepChanged),\n dispatch({ type: ANNOTATION_ACTIONS.SET_STEP, payload: { toStep } }),\n dispatch({ type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS }),\n // 切换步骤保持图片位置\n dispatch(LoadImageAndFileData(index ?? imgIndex, 0)),\n ];\n};\n\n/**\n * 提交当前的文件数据\n * @param submitType\n */\nexport const ToSubmitFileData = (submitType: ESubmitType) => (dispatch: any) =>\n [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA, payload: { submitType } }),\n ];\n\n/**\n * 提交数据并且切换标注文件\n * @param dispatch\n * @param nextIndex\n * @param submitType\n * @param nextBasicIndex\n */\nconst SubmitAndChangeFileIndex = (\n dispatch: any,\n nextIndex: number,\n submitType: ESubmitType,\n nextBasicIndex?: number,\n) => [\n dispatch(ToSubmitFileData(submitType)),\n dispatch(LoadImageAndFileData(nextIndex, nextBasicIndex)),\n];\n\nconst ChangeBasicIndex = (dispatch: any, nextBasicIndex: number) => [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SET_BASIC_INDEX, payload: { basicIndex: nextBasicIndex } }),\n];\n\nconst ChangeTriggerEventAfterIndexChanged = (\n dispatch: any,\n triggerEventAfterIndexChanged: boolean,\n) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,\n payload: {\n triggerEventAfterIndexChanged,\n },\n });\n};\n\n/** 向前翻页 */\nexport const PageBackward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Backward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/** 向后翻页 */\nexport const PageForward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Forward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/**\n * 跳到指定文件索引\n * @param toIndex\n */\nexport const PageJump =\n (toIndex: number, triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n if (toIndex === getState().imgIndex) {\n return;\n }\n\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Jump,\n triggerEventAfterIndexChanged,\n toIndex,\n );\n };\n\n/**\n * 判断翻页还是切换依赖数据\n * @param dispatch\n * @param getState\n * @param pageTurningOperation\n * @param toIndex\n */\nexport const DispatcherTurning = (\n dispatch: any,\n getState: any,\n pageTurningOperation: EPageTurningOperation,\n triggerEventAfterIndexChanged = false,\n toIndex?: number,\n) => {\n const annotationStore = getState().annotation;\n const { fileIndexChanged, fileIndex, basicIndexChanged, basicIndex } =\n PageOperator.getNextPageInfo(pageTurningOperation, annotationStore, toIndex);\n\n const submitType: ESubmitType = getSubmitByPageOperation(pageTurningOperation);\n\n ChangeTriggerEventAfterIndexChanged(dispatch, triggerEventAfterIndexChanged);\n\n if (fileIndexChanged) {\n const index = submitType === ESubmitType.Backward ? getBasicIndex(annotationStore, basicIndex) : basicIndex;\n return SubmitAndChangeFileIndex(dispatch, fileIndex, submitType, index);\n }\n\n if (basicIndexChanged) {\n return ChangeBasicIndex(dispatch, basicIndex);\n }\n\n return dispatch(ToSubmitFileData(submitType));\n};\n\n/**\n * 保存当前页数据\n * */\nexport const ChangeSave = (dispatch: Function) => {\n dispatch(ToSubmitFileData(ESubmitType.Save));\n dispatch({ type: ANNOTATION_ACTIONS.SAVE_RESULT });\n};\n\nexport const SetAnnotationLoading = (dispatch: Function, loading: boolean) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_LOADING,\n payload: {\n loading,\n },\n });\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"actionCreators.js","sources":["../../../src/store/annotation/actionCreators.ts"],"sourcesContent":["import { ANNOTATION_ACTIONS } from '@/store/Actions';\nimport { IStepInfo } from '@/types/step';\nimport {\n GetFileData,\n LoadFileList,\n IFileItem,\n OnPageChange,\n OnSave,\n OnStepChange,\n OnSubmit,\n} from '@/types/data';\nimport { AnnotationActionTypes, ToolInstance } from './types';\nimport { LoadFileAndFileData, getStepConfig } from './reducer';\nimport { ESubmitType } from '@/constant';\nimport { EPageTurningOperation } from '@/data/enums/AnnotationSize';\nimport PageOperator from '@/utils/PageOperator';\nimport { jsonParser } from '@/utils';\n\nconst dispatchTasks = (dispatch: any, tasks: any[]) => tasks.map((task) => dispatch(task));\n\n/**\n * @param {pageTurningOperation} pageTurningOperation 翻页操作\n * @returns {ESubmitType} 提数据交类型\n */\nconst getSubmitByPageOperation = (pageTurningOperation: EPageTurningOperation) => {\n if (pageTurningOperation === EPageTurningOperation.Forward) {\n return ESubmitType.Forward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Backward) {\n return ESubmitType.Backward;\n }\n\n if (pageTurningOperation === EPageTurningOperation.Jump) {\n return ESubmitType.Jump;\n }\n\n return ESubmitType.Forward;\n};\n\nconst getBasicIndex = (annotationStore: any, basicIndex: number) => {\n const { imgList, imgIndex } = annotationStore;\n const { dataSourceStep } = getStepConfig(annotationStore.stepList, annotationStore.step);\n let backwardResult = jsonParser(imgList[imgIndex - 1].result);\n const index = backwardResult[`step_${dataSourceStep}`]?.result?.length - 1;\n return index || basicIndex;\n};\n\nexport function UpdateToolInstance(toolInstance: ToolInstance): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_TOOL_INSTANCE,\n payload: {\n toolInstance,\n },\n };\n}\n\nexport function UpdateImgList(imgList: IFileItem[]): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList,\n },\n };\n}\n\nexport function UpdateAnnotationConfig(config: string): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ANNOTATION_CONFIG,\n payload: {\n config,\n },\n };\n}\n\nexport function SetTaskConfig({\n stepList,\n step,\n}: {\n stepList: IStepInfo[];\n step: number;\n}): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.SET_TASK_CONFIG,\n payload: {\n stepList,\n step,\n },\n };\n}\n\nexport function UpdateOnSubmit(onSubmit: OnSubmit): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SUBMIT,\n payload: {\n onSubmit,\n },\n };\n}\n\nexport function UpdateOnSave(onSave: OnSave): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_SAVE,\n payload: {\n onSave,\n },\n };\n}\n\nexport function UpdateOnPageChange(onPageChange: OnPageChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_PAGE_CHANGE,\n payload: {\n onPageChange,\n },\n };\n}\n\nexport function UpdateOnStepChange(onStepChange: OnStepChange): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE,\n payload: {\n onStepChange,\n },\n };\n}\n\nexport function UpdateGetFileData(getFileData: GetFileData): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_GET_FILE_DATA,\n payload: {\n getFileData,\n },\n };\n}\n\nexport function UpdatePageSize(pageSize: number): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_PAGE_SIZE,\n payload: {\n pageSize,\n },\n };\n}\n\nexport function UpdateGetFileList(loadFileList: LoadFileList): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST,\n payload: {\n loadFileList,\n },\n };\n}\n\nexport function UpdateRotate(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.UPDATE_ROTATE,\n };\n}\n\nexport function CopyBackWordResult(): AnnotationActionTypes {\n return {\n type: ANNOTATION_ACTIONS.COPY_BACKWARD_RESULT,\n };\n}\n\n/**\n * 初始化任务数据\n * @param param0\n */\nexport function InitTaskData({\n onSubmit,\n onSave,\n onPageChange,\n onStepChange,\n getFileData,\n pageSize,\n loadFileList,\n step,\n stepList,\n}: any): any {\n const tasks: any[] = [];\n\n if (onSubmit) {\n tasks.push(UpdateOnSubmit(onSubmit));\n }\n if (onSave) {\n tasks.push(UpdateOnSave(onSave));\n }\n if (onPageChange) {\n tasks.push(UpdateOnPageChange(onPageChange));\n }\n\n if (onStepChange) {\n tasks.push(UpdateOnStepChange(onStepChange));\n }\n\n if (getFileData) {\n tasks.push(UpdateGetFileData(getFileData));\n }\n\n if (loadFileList) {\n tasks.push(UpdateGetFileList(loadFileList));\n }\n \n if (pageSize) {\n tasks.push(UpdatePageSize(pageSize));\n }\n\n tasks.push(SetTaskConfig({ stepList, step }));\n\n tasks.push({\n type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS,\n });\n\n tasks.push({\n type: ANNOTATION_ACTIONS.INIT_TOOL,\n });\n\n return (dispatch: any) => dispatchTasks(dispatch, tasks);\n}\n\n/** 获取下一步的step */\nconst getNextStep = (step: number, stepList: any) => {\n const currentStepIndex = stepList?.findIndex((element: any) => element?.step === step);\n return stepList[currentStepIndex + 1]?.step;\n};\n\n/** 切换到下一步 */\nexport const ToNextStep = (pageNumber?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n const { step, stepList } = annotation;\n const nextStep = getNextStep(step, stepList);\n return [dispatch(UpdateProcessingStep(nextStep, pageNumber))];\n};\n\n/**\n * 更新当前操作的步骤\n * @param {number} toStep\n */\nexport const UpdateProcessingStep =\n (toStep: number, index?: number) => (dispatch: any, getState: any) => {\n const { annotation } = getState();\n annotation?.onStepChange?.(toStep);\n const imgIndex = annotation?.imgIndex ?? 0;\n return [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({\n type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA,\n payload: { submitType: ESubmitType.StepChanged },\n }),\n // ToSubmitFileData(ESubmitType.StepChanged),\n dispatch({ type: ANNOTATION_ACTIONS.SET_STEP, payload: { toStep } }),\n dispatch({ type: ANNOTATION_ACTIONS.CALC_STEP_PROGRESS }),\n // 切换步骤保持图片位置\n dispatch(LoadFileAndFileData(index ?? imgIndex, 0)),\n ];\n };\n\n/**\n * 提交当前的文件数据\n * @param submitType\n */\nexport const ToSubmitFileData = (submitType: ESubmitType) => (dispatch: any) =>\n [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_FILE_DATA, payload: { submitType } }),\n ];\n\n/**\n * 提交数据并且切换标注文件\n * @param dispatch\n * @param nextIndex\n * @param submitType\n * @param nextBasicIndex\n */\nconst SubmitAndChangeFileIndex = (\n dispatch: any,\n nextIndex: number,\n submitType: ESubmitType,\n nextBasicIndex?: number,\n) => [\n dispatch(ToSubmitFileData(submitType)),\n dispatch(LoadFileAndFileData(nextIndex, nextBasicIndex)),\n];\n\nconst ChangeBasicIndex = (dispatch: any, nextBasicIndex: number) => [\n dispatch({ type: ANNOTATION_ACTIONS.SUBMIT_RESULT }),\n dispatch({ type: ANNOTATION_ACTIONS.SET_BASIC_INDEX, payload: { basicIndex: nextBasicIndex } }),\n];\n\nconst ChangeTriggerEventAfterIndexChanged = (\n dispatch: any,\n triggerEventAfterIndexChanged: boolean,\n) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED,\n payload: {\n triggerEventAfterIndexChanged,\n },\n });\n};\n\n/** 向前翻页 */\nexport const PageBackward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Backward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/** 向后翻页 */\nexport const PageForward =\n (triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Forward,\n triggerEventAfterIndexChanged,\n );\n };\n\n/**\n * 跳到指定文件索引\n * @param toIndex\n */\nexport const PageJump =\n (toIndex: number, triggerEventAfterIndexChanged = false) =>\n (dispatch: any, getState: any) => {\n if (toIndex === getState().imgIndex) {\n return;\n }\n\n return DispatcherTurning(\n dispatch,\n getState,\n EPageTurningOperation.Jump,\n triggerEventAfterIndexChanged,\n toIndex,\n );\n };\n\n/**\n * 加载文件列表\n * @param dispatch\n * @param getState\n * @param nextIndex 需要加载的图片index\n * @param isInitial // 是否为初始化加载\n */\nexport const loadImgList = async (\n dispatch: any,\n getState: any,\n nextIndex: number,\n isInitial?: boolean,\n) => {\n const { loadFileList, imgList, pageSize } = getState().annotation;\n const page = Math.floor(nextIndex / pageSize);\n SetAnnotationLoading(dispatch, true);\n try {\n const res: any = await loadFileList(page, pageSize);\n SetAnnotationLoading(dispatch, false);\n if (!res?.fileList?.length || !res?.total) {\n throw new Error('fileList and total are required');\n }\n const newImgList = isInitial ? new Array(res.total) : [...imgList];\n newImgList.splice(page * pageSize, pageSize, ...res.fileList);\n dispatch({\n type: ANNOTATION_ACTIONS.UPDATE_IMG_LIST,\n payload: {\n imgList: newImgList,\n },\n });\n return true;\n } catch (err) {\n SetAnnotationLoading(dispatch, false);\n console.error(err);\n }\n};\n\n/**\n * 判断翻页还是切换依赖数据\n * @param dispatch\n * @param getState\n * @param pageTurningOperation\n * @param toIndex\n */\nexport const DispatcherTurning = async (\n dispatch: any,\n getState: any,\n pageTurningOperation: EPageTurningOperation,\n triggerEventAfterIndexChanged = false,\n toIndex?: number,\n) => {\n const annotationStore = getState().annotation;\n const { fileIndexChanged, fileIndex, basicIndexChanged, basicIndex } =\n PageOperator.getNextPageInfo(pageTurningOperation, annotationStore, toIndex);\n\n const submitType: ESubmitType = getSubmitByPageOperation(pageTurningOperation);\n\n ChangeTriggerEventAfterIndexChanged(dispatch, triggerEventAfterIndexChanged);\n\n // 翻页\n if (fileIndexChanged) {\n if (annotationStore.loading) {\n return;\n }\n // 加载图片列表\n if (!annotationStore.imgList[fileIndex]) {\n const isSuccess = await loadImgList(dispatch, getState, fileIndex);\n if (!isSuccess) {\n // 加载失败不往下执行\n return;\n }\n }\n annotationStore.onPageChange?.(fileIndex);\n const index =\n submitType === ESubmitType.Backward\n ? getBasicIndex(getState().annotation, basicIndex)\n : basicIndex;\n return SubmitAndChangeFileIndex(dispatch, fileIndex, submitType, index);\n }\n\n if (basicIndexChanged) {\n return ChangeBasicIndex(dispatch, basicIndex);\n }\n\n return dispatch(ToSubmitFileData(submitType));\n};\n\n/**\n * 保存当前页数据\n * */\nexport const ChangeSave = (dispatch: Function) => {\n dispatch(ToSubmitFileData(ESubmitType.Save));\n dispatch({ type: ANNOTATION_ACTIONS.SAVE_RESULT });\n};\n\nexport const SetAnnotationLoading = (dispatch: Function, loading: boolean) => {\n dispatch({\n type: ANNOTATION_ACTIONS.SET_LOADING,\n payload: {\n loading,\n },\n });\n};\n"],"names":["this"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getFormatSize as
|
|
1
|
+
import{getFormatSize as le}from"../../components/customResizeHook/index.js";import ie from"../../constant/styleString.js";import{ANNOTATION_ACTIONS as i}from"../Actions.js";import{jsonParser as b}from"../../utils/index.js";import B from"../../utils/AnnotationDataUtils.js";import{ConfigUtils as re}from"../../utils/ConfigUtils.js";import{composeResultWithBasicImgInfo as ue,composeResult as ae}from"../../utils/data.js";import j from"../../utils/StepUtils.js";import{CommonToolUtils as ce,AnnotationEngine as de,ImgUtils as pe,cTool as ge}from"@labelbee/lb-annotation";import{i18n as J}from"@labelbee/lb-utils";import{message as Y}from"antd/es";import fe from"lodash";import{SetAnnotationLoading as U}from"./actionCreators.js";var _e=Object.defineProperty,me=Object.defineProperties,Ie=Object.getOwnPropertyDescriptors,Z=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,Se=Object.prototype.propertyIsEnumerable,Q=(e,t,o)=>t in e?_e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o,r=(e,t)=>{for(var o in t||(t={}))ve.call(t,o)&&Q(e,o,t[o]);if(Z)for(var o of Z(t))Se.call(t,o)&&Q(e,o,t[o]);return e},a=(e,t)=>me(e,Ie(t)),ee=(e,t,o)=>new Promise((g,d)=>{var _=f=>{try{E(o.next(f))}catch(y){d(y)}},v=f=>{try{E(o.throw(f))}catch(y){d(y)}},E=f=>f.done?g(f.value):Promise.resolve(f.value).then(_,v);E((o=o.apply(e,t)).next())});const{EVideoToolName:Ee}=ge,P=(e,t)=>e.find(o=>o.step===t),Le={annotationEngine:null,toolInstance:null,imgList:[],config:"{}",imgIndex:-1,basicIndex:0,imgPageSize:1,step:1,stepList:[],imgNode:new Image,basicResultList:[],resultList:[],stepProgress:0,loading:!1,triggerEventAfterIndexChanged:!1},Ae=e=>{const{imgList:t,imgPageSize:o}=e;return Math.ceil(t.length/o)},te=(e,t)=>e.reduce((o,g)=>{if(g){const d=g.result;if(b(d)[`step_${t}`])return o+1}return o},0)/e.length,Te=(e,t)=>{const{step:o,stepList:g}=e,d=j.getCurrentStepInfo(o,g),_=re.jsonParser(d.config);if(Object.values(Ee).includes(d.tool))return;const v=document.getElementById("toolContainer");if(!v)throw"Not exist dom named id-toolContainer";const E=le({width:window.innerWidth,height:window.innerHeight}),f=new de({container:v,toolName:d.tool,size:E,imgNode:t,config:_,style:JSON.parse(ie)});return{toolInstance:f==null?void 0:f.toolInstance,annotationEngine:f}},De=(e,t)=>(o,g)=>ee(void 0,null,function*(){const{stepList:d,step:_}=g().annotation,v=j.currentToolIsVideo(_,d);if(U(o,!0),o(ye(e)),v){o(Oe(e));return}o(Pe(e,t))}),ye=e=>(t,o)=>ee(void 0,null,function*(){const{getFileData:g,imgList:d}=o().annotation;if(g){const _=yield g(d[e],e);t({type:i.SET_FILE_DATA,payload:{fileData:_,index:e}})}}),Oe=e=>t=>{U(t,!1),t({type:i.LOAD_FILE_DATA,payload:{nextIndex:e}})},Pe=(e,t)=>(o,g)=>{var d;const{toolInstance:_,imgList:v}=g().annotation,E=(d=v==null?void 0:v[e])==null?void 0:d.url;pe.load(E).then(f=>{U(o,!1),o({type:i.LOAD_FILE_DATA,payload:{imgNode:f,nextIndex:e,nextBasicIndex:t}})}).catch(()=>{U(o,!1),_==null||_.setErrorImg(),o({type:i.LOAD_FILE_DATA,payload:{nextIndex:e,nextBasicIndex:t}})})},Re=(e=Le,t)=>{var o,g,d,_,v,E,f,y,x,G,z,V,H,M,$,W,k,K;switch(t.type){case i.UPDATE_TOOL_INSTANCE:return a(r({},e),{toolInstance:t.payload.toolInstance});case i.UPDATE_IMG_LIST:return a(r({},e),{imgList:t.payload.imgList});case i.CALC_STEP_PROGRESS:{const{imgList:n,step:s}=e,l=te(n,s);return a(r({},e),{stepProgress:l})}case i.SUBMIT_FILE_DATA:{const{imgList:n,imgIndex:s,step:l,stepList:u,toolInstance:p,onSubmit:c,resultList:S}=e;if(!p||!n[s])return e;const m=((o=n[s])==null?void 0:o.result)||"",[,I]=(g=p==null?void 0:p.exportData())!=null?g:[],L=ue(m,I),D=ae(L,{step:l,stepList:u},{rect:S});n[s].result=B.dataCorrection(D,m,l,u),c&&c([n[s]],(d=t.payload)==null?void 0:d.submitType,s);const A=te(n,l);return a(r({},e),{stepProgress:A,imgList:n})}case i.SAVE_RESULT:{const{imgList:n,imgIndex:s,onSave:l}=e;return l==null||l(n[s],s,n),r({},e)}case i.SUBMIT_RESULT:{const{imgList:n,basicIndex:s,resultList:l,toolInstance:u,basicResultList:p}=e;if(!u)return e;const[c]=(_=u==null?void 0:u.exportData())!=null?_:[];let S=c;if((p==null?void 0:p.length)>0){const m=(v=p[s])==null?void 0:v.id,I=c.map(L=>a(r({},L),{sourceID:m}));S=fe.cloneDeep(l).filter(L=>L.sourceID!==m),S.push(...I)}return a(r({},e),{resultList:S,imgList:n})}case i.SET_BASIC_INDEX:{const{toolInstance:n,step:s,imgList:l,imgIndex:u,stepList:p,annotationEngine:c,resultList:S,basicResultList:m}=e;if(!n||!c)return e;const I=t.payload.basicIndex,L=(E=m[I])==null?void 0:E.id,D=b((f=l[u])==null?void 0:f.result),A=(S||[]).filter(w=>w.sourceID===L),R=P(p,s),{dataSourceStep:C,tool:F}=R,h=P(p,C);let T=[];return C&&F&&(T=(y=D[`step_${C}`])==null?void 0:y.result,(T==null?void 0:T.length)>0?(c==null||c.setBasicInfo(h.tool,T[I]),c==null||c.launchOperation()):(c==null||c.setBasicInfo(h.tool),c==null||c.forbidOperation(),Y.info(J.t("NoDependency")))),n==null||n.setResult(A),n==null||n.history.initRecord(A,!0),a(r({},e),{basicIndex:I})}case i.SET_TRIGGER_EVENT_AFTER_INDEX_CHANGED:{const{triggerEventAfterIndexChanged:n}=t.payload;return a(r({},e),{triggerEventAfterIndexChanged:!!n})}case i.LOAD_FILE_DATA:{const{imgList:n,step:s,toolInstance:l,annotationEngine:u,stepList:p}=e;if(!l)return e;const c=j.getCurrentStepInfo(s,p),{nextIndex:S,imgNode:m,nextBasicIndex:I,imgError:L}=t.payload,D=I!=null?I:0,A=b((x=n[S])==null?void 0:x.result),R=A[`step_${s}`],C=!R,F={rotate:(G=A.rotate)!=null?G:0,valid:(z=A.valid)!=null?z:!0};m&&L!==!0&&(u==null||u.setImgNode(m,F));const h=P(p,s),{dataSourceStep:T,tool:w}=h,X=P(p,T),q=T&&w,O=(H=(V=A[`step_${T}`])==null?void 0:V.result)!=null?H:[],N=B.getInitialResultList(R==null?void 0:R.result,l,h,O,C);if(u==null||u.launchOperation(),q&&((O==null?void 0:O.length)>0?u==null||u.setBasicInfo(X.tool,O[D]):(u==null||u.setBasicInfo(X.tool),u==null||u.forbidOperation(),Y.info(J.t("NoDependency")))),c.tool!=="check"){const ne=($=(M=O[D])==null?void 0:M.id)!=null?$:"",oe=q?N.filter(se=>ce.isSameSourceID(se.sourceID,ne)):N;l==null||l.setResult(oe),l==null||l.history.initRecord(N,!0)}return a(r({},e),{imgIndex:S,basicIndex:D,basicResultList:O,resultList:N})}case i.UPDATE_ANNOTATION_CONFIG:return a(r({},e),{config:(W=t.payload.config)!=null?W:"{}"});case i.SET_TASK_CONFIG:{const{stepList:n,step:s}=t.payload;return a(r({},e),{stepList:n,step:s})}case i.INIT_TOOL:{const{imgNode:n}=e,s=Te(e,n);if(s){const{toolInstance:l,annotationEngine:u}=s;return a(r({},e),{toolInstance:l,annotationEngine:u})}return r({},e)}case i.SET_TOOL:{const n=(k=t.payload)==null?void 0:k.instance;return n?a(r({},e),{toolInstance:n}):r({},e)}case i.UPDATE_ON_SUBMIT:return a(r({},e),{onSubmit:t.payload.onSubmit});case i.UPDATE_ON_SAVE:return a(r({},e),{onSave:t.payload.onSave});case i.UPDATE_ON_PAGE_CHANGE:return a(r({},e),{onPageChange:t.payload.onPageChange});case i.UPDATE_ON_STEP_CHANGE:return a(r({},e),{onStepChange:t.payload.onStepChange});case i.UPDATE_GET_FILE_DATA:return a(r({},e),{getFileData:t.payload.getFileData});case i.UPDATE_PAGE_SIZE:return a(r({},e),{pageSize:t.payload.pageSize});case i.UPDATE_LOAD_FILE_LIST:return a(r({},e),{loadFileList:t.payload.loadFileList});case i.SET_FILE_DATA:{const{fileData:n,index:s}=t.payload,{imgList:l}=e;return l[s]=r(r({},l[s]),n),a(r({},e),{imgList:l})}case i.UPDATE_ROTATE:{const{toolInstance:n}=e;return n==null||n.updateRotate(),e}case i.COPY_BACKWARD_RESULT:{const{toolInstance:n,imgIndex:s,imgList:l,step:u}=e;if(!n)return e;if(s===0||s>=l.length)return console.error("\u65E0\u6CD5\u590D\u5236\u8FB9\u754C\u5916\u7684\u5185\u5BB9"),e;const p=l[s-1].result;if(!p)return e;const c=B.copyResultChange(p,u,(K=l[s].result)!=null?K:"");l[s].result=c;const m=b(c)[`step_${u}`],I=(m==null?void 0:m.result)||[];return n==null||n.setResult(I),n==null||n.history.pushHistory(I),a(r({},e),{imgList:[...l]})}case i.SET_STEP:{const{stepList:n,annotationEngine:s}=e,{toStep:l}=t.payload;if(!s)return e;const u=P(n,l);return s==null||s.setToolName(u.tool,u.config),a(r({},e),{step:l,toolInstance:s==null?void 0:s.toolInstance})}case i.SET_LOADING:{const{loading:n}=t.payload;return a(r({},e),{loading:!!n})}default:return e}};export{De as LoadFileAndFileData,Re as annotationReducer,P as getStepConfig,Ae as getTotalPage};
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAca,MAAA,aAAA,GAAgB,CAAC,QAAiB,EAAA,IAAA,KAC7C,SAAS,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,IAAS,KAAA,IAAA,EAAA;AAElC,MAAM,YAAgC,GAAA;AAAA,EACpC,gBAAkB,EAAA,IAAA;AAAA,EAClB,YAAc,EAAA,IAAA;AAAA,EACd,OAAS,EAAA,EAAA;AAAA,EACT,MAAQ,EAAA,IAAA;AAAA,EACR,QAAU,EAAA,CAAA,CAAA;AAAA,EACV,UAAY,EAAA,CAAA;AAAA,EACZ,WAAa,EAAA,CAAA;AAAA,EACb,IAAM,EAAA,CAAA;AAAA,EACN,QAAU,EAAA,EAAA;AAAA,EACV,SAAS,IAAI,KAAA,EAAA;AAAA,EACb,eAAiB,EAAA,EAAA;AAAA,EACjB,UAAY,EAAA,EAAA;AAAA,EACZ,YAAc,EAAA,CAAA;AAAA,EACd,OAAS,EAAA,KAAA;AAAA,EACT,6BAA+B,EAAA,KAAA;AAAA,CAAA,CAAA;AAOpB,MAAA,YAAA,GAAe,CAAC,KAA2B,KAAA;AACtD,EAAM,MAAA,CAAE,SAAS,WAAgB,CAAA,GAAA,KAAA,CAAA;AACjC,EAAO,OAAA,IAAA,CAAK,IAAK,CAAA,OAAA,CAAQ,MAAS,GAAA,WAAA,CAAA,CAAA;AAAA,EAAA;AAGpC,MAAM,gBAAA,GAAmB,CAAC,QAAiB,EAAA,IAAA,KACzC,SAAS,MAAO,CAAA,CAAC,KAAK,CAAM,KAAA;AAC1B,EAAA,MAAM,YAAY,CAAE,CAAA,MAAA,CAAA;AACpB,EAAA,MAAM,eAAe,UAAW,CAAA,SAAA,CAAA,CAAA;AAChC,EAAI,IAAA,YAAA,CAAa,QAAQ,IAAS,CAAA,CAAA,CAAA,EAAA;AAChC,IAAA,OAAO,GAAM,GAAA,CAAA,CAAA;AAAA,GAAA;AAEf,EAAO,OAAA,GAAA,CAAA;AAAA,CAAA,EACN,KAAK,QAAS,CAAA,MAAA,CAAA;AAEnB,MAAM,kBAAA,GAAqB,CAAC,UAAA,EAA6B,OAA8B,KAAA;AACrF,EAAM,MAAA,CAAE,MAAM,QAAa,CAAA,GAAA,UAAA,CAAA;AAC3B,EAAM,MAAA,UAAA,GAAa,SAAU,CAAA,kBAAA,CAAmB,IAAM,EAAA,QAAA,CAAA,CAAA;AACtD,EAAM,MAAA,MAAA,GAAS,WAAY,CAAA,UAAA,CAAW,UAAW,CAAA,MAAA,CAAA,CAAA;AAEjD,EAAM,MAAA,SAAA,GAAY,SAAS,cAAe,CAAA,eAAA,CAAA,CAAA;AAE1C,EAAA,IAAI,CAAC,SAAW,EAAA;AACd,IAAM,MAAA,CAAA,oCAAA,CAAA,CAAA;AAAA,GAAA;AAGR,EAAA,MAAM,aAAa,aAAc,CAAA,CAAE,OAAO,MAAO,CAAA,UAAA,EAAY,QAAQ,MAAO,CAAA,WAAA,CAAA,CAAA,CAAA;AAC5E,EAAM,MAAA,gBAAA,GAAmB,IAAI,gBAAiB,CAAA;AAAA,IAC5C,SAAA;AAAA,IACA,UAAU,UAAW,CAAA,IAAA;AAAA,IACrB,IAAM,EAAA,UAAA;AAAA,IACN,OAAA;AAAA,IACA,MAAA;AAAA,IACA,KAAA,EAAO,KAAK,KAAM,CAAA,WAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAGpB,EAAO,OAAA,CAAE,YAAc,EAAA,gBAAA,CAAiB,YAAc,EAAA,gBAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAQjD,MAAM,uBACX,CAAC,SAAA,EAAmB,cAA4B,KAAA,CAAO,UAAe,QAAkB,KAAA,OAAA,CAAAA,SAAA,EAAA,IAAA,EAAA,aAAA;AACtF,EAAA,MAAM,CAAE,WAAA,EAAa,OAAS,EAAA,YAAA,CAAA,GAAiB,QAAW,EAAA,CAAA,UAAA,CAAA;AAC1D,EAAA,oBAAA,CAAqB,QAAU,EAAA,IAAA,CAAA,CAAA;AAG/B,EAAA,IAAI,WAAa,EAAA;AACf,IAAA,MAAM,QAAW,GAAA,MAAM,WAAY,CAAA,OAAA,CAAQ,SAAY,CAAA,EAAA,SAAA,CAAA,CAAA;AACvD,IAAS,QAAA,CAAA;AAAA,MACP,MAAM,kBAAmB,CAAA,aAAA;AAAA,MACzB,OAAS,EAAA;AAAA,QACP,QAAA;AAAA,QACA,KAAO,EAAA,SAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAKb,EAAM,MAAA,CAAE,OAAQ,OAAQ,CAAA,SAAA,CAAA,CAAA;AAExB,EAAA,OAAO,QAAS,CAAA,IAAA,CAAK,GAClB,CAAA,CAAA,IAAA,CAAK,CAAC,OAAY,KAAA;AACjB,IAAA,oBAAA,CAAqB,QAAU,EAAA,KAAA,CAAA,CAAA;AAE/B,IAAS,QAAA,CAAA;AAAA,MACP,MAAM,kBAAmB,CAAA,cAAA;AAAA,MACzB,OAAS,EAAA;AAAA,QACP,OAAA;AAAA,QACA,SAAA;AAAA,QACA,cAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAIL,MAAM,MAAM;AACX,IAAA,oBAAA,CAAqB,QAAU,EAAA,KAAA,CAAA,CAAA;AAC/B,IAAa,YAAA,CAAA,WAAA,EAAA,CAAA;AACb,IAAS,QAAA,CAAA;AAAA,MACP,MAAM,kBAAmB,CAAA,cAAA;AAAA,MACzB,OAAS,EAAA;AAAA,QACP,SAAA;AAAA,QACA,cAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,EAAA;AAML,MAAM,iBAAoB,GAAA,CAC/B,KAAQ,GAAA,YAAA,EACR,MACoB,KAAA;AAnItB,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAoIE,EAAA,QAAQ,MAAO,CAAA,IAAA;AAAA,IAAA,KACR,mBAAmB,oBAAsB,EAAA;AAC5C,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,YAAA,EAAc,OAAO,OAAQ,CAAA,YAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAI5B,mBAAmB,eAAiB,EAAA;AACvC,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,OAAA,EAAS,OAAO,OAAQ,CAAA,OAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIvB,mBAAmB,kBAAoB,EAAA;AAC1C,MAAM,MAAA,CAAE,SAAS,IAAS,CAAA,GAAA,KAAA,CAAA;AAE1B,MAAM,MAAA,YAAA,GAAe,iBAAiB,OAAS,EAAA,IAAA,CAAA,CAAA;AAE/C,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,YAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIC,mBAAmB,gBAAkB,EAAA;AACxC,MAAA,MAAM,CAAE,OAAS,EAAA,QAAA,EAAU,MAAM,QAAU,EAAA,YAAA,EAAc,UAAU,UAAe,CAAA,GAAA,KAAA,CAAA;AAClF,MAAA,IAAI,CAAC,YAAc,EAAA;AACjB,QAAO,OAAA,KAAA,CAAA;AAAA,OAAA;AAGT,MAAA,MAAM,eAAkB,GAAA,CAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,QAAR,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAmB,MAAU,KAAA,EAAA,CAAA;AACrD,MAAM,MAAA,GAAG,YAAA,CAAA,GAAgB,YAAa,CAAA,UAAA,EAAA,CAAA;AAEtC,MAAM,MAAA,mBAAA,GAAsB,8BAA8B,eAAiB,EAAA,YAAA,CAAA,CAAA;AAC3E,MAAA,MAAM,kBAAkB,aACtB,CAAA,mBAAA,EACA,CAAE,IAAM,EAAA,QAAA,CAAA,EACR,CAAE,IAAM,EAAA,UAAA,CAAA,CAAA,CAAA;AAGV,MAAA,OAAA,CAAQ,UAAU,MAAS,GAAA,mBAAA,CAAoB,cAC7C,CAAA,eAAA,EACA,iBACA,IACA,EAAA,QAAA,CAAA,CAAA;AAGF,MAAA,IAAI,QAAU,EAAA;AACZ,QAAA,QAAA,CAAS,CAAC,OAAQ,CAAA,QAAA,CAAA,CAAA,EAAY,CAAO,EAAA,GAAA,MAAA,CAAA,OAAA,KAAP,mBAAgB,UAAY,EAAA,QAAA,CAAA,CAAA;AAAA,OAAA;AAG5D,MAAM,MAAA,YAAA,GAAe,iBAAiB,OAAS,EAAA,IAAA,CAAA,CAAA;AAC/C,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,YAAA;AAAA,QACA,OAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIC,mBAAmB,WAAa,EAAA;AACnC,MAAM,MAAA,CAAE,OAAS,EAAA,QAAA,EAAU,MAAW,CAAA,GAAA,KAAA,CAAA;AACtC,MAAS,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,OAAA,CAAQ,WAAW,QAAU,EAAA,OAAA,CAAA,CAAA;AACtC,MAAA,OAAO,cACF,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIF,mBAAmB,aAAe,EAAA;AACrC,MAAA,MAAM,CAAE,OAAA,EAAS,UAAY,EAAA,UAAA,EAAY,kBAAkB,eAAoB,CAAA,GAAA,KAAA,CAAA;AAC/E,MAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,QAAO,OAAA,KAAA,CAAA;AAAA,OAAA;AAGT,MAAM,MAAA,CAAC,YAAgB,CAAA,GAAA,gBAAA,CAAiB,YAAa,CAAA,UAAA,EAAA,CAAA;AAErD,MAAA,IAAI,kBAAqB,GAAA,YAAA,CAAA;AAEzB,MAAI,IAAA,CAAA,eAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAiB,UAAS,CAAG,EAAA;AAC/B,QAAM,MAAA,QAAA,GAAW,CAAgB,EAAA,GAAA,eAAA,CAAA,UAAA,CAAA,KAAhB,IAA6B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,CAAA;AAC9C,QAAA,MAAM,gBAAgB,YAAa,CAAA,GAAA,CAAI,CAAC,CAAY,KAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,IAAL,CAAQ,QAAA,CAAA,CAAA,CAAA,CAAA;AAC5D,QAAA,kBAAA,GAAqB,EAAE,SAAU,CAAA,UAAA,CAAA,CAAY,OAAO,CAAC,CAAA,KAAW,EAAE,QAAa,KAAA,QAAA,CAAA,CAAA;AAC/E,QAAA,kBAAA,CAAmB,KAAK,GAAG,aAAA,CAAA,CAAA;AAAA,OAAA;AAG7B,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,UAAY,EAAA,kBAAA;AAAA,QACZ,OAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIC,mBAAmB,eAAiB,EAAA;AACvC,MAAM,MAAA;AAAA,QACJ,YAAA;AAAA,QACA,IAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,gBAAA;AAAA,QACA,UAAA;AAAA,QACA,eAAA;AAAA,OACE,GAAA,KAAA,CAAA;AAEJ,MAAI,IAAA,CAAC,YAAgB,IAAA,CAAC,gBAAkB,EAAA;AACtC,QAAO,OAAA,KAAA,CAAA;AAAA,OAAA;AAGT,MAAM,MAAA,cAAA,GAAiB,OAAO,OAAQ,CAAA,UAAA,CAAA;AACtC,MAAM,MAAA,QAAA,GAAW,CAAgB,EAAA,GAAA,eAAA,CAAA,cAAA,CAAA,KAAhB,IAAiC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,EAAA,CAAA;AAElD,MAAA,MAAM,UAAa,GAAA,UAAA,CAAW,CAAQ,EAAA,GAAA,OAAA,CAAA,QAAA,CAAA,KAAR,IAAmB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AACjD,MAAA,MAAM,SAAU,CAAc,UAAA,IAAA,EAAA,EAAI,OAAO,CAAC,CAAA,KAAM,EAAE,QAAa,KAAA,QAAA,CAAA,CAAA;AAE/D,MAAM,MAAA,UAAA,GAAa,cAAc,QAAU,EAAA,IAAA,CAAA,CAAA;AAE3C,MAAM,MAAA,CAAE,gBAAgB,IAAS,CAAA,GAAA,UAAA,CAAA;AACjC,MAAM,MAAA,gBAAA,GAAmB,cAAc,QAAU,EAAA,cAAA,CAAA,CAAA;AACjD,MAAA,IAAI,mBAAsB,GAAA,EAAA,CAAA;AAE1B,MAAA,IAAI,kBAAkB,IAAM,EAAA;AAC1B,QAAsB,mBAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAW,CAAQ,KAAA,EAAA,cAAA,CAAA,CAAA,CAAA,KAAnB,IAAsC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA;AAE5D,QAAI,IAAA,CAAA,mBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,mBAAA,CAAqB,UAAS,CAAG,EAAA;AACnC,UAAiB,gBAAA,CAAA,YAAA,CAAa,gBAAiB,CAAA,IAAA,EAAM,mBAAoB,CAAA,cAAA,CAAA,CAAA,CAAA;AACzE,UAAiB,gBAAA,CAAA,eAAA,EAAA,CAAA;AAAA,SACZ,MAAA;AACL,UAAA,gBAAA,CAAiB,aAAa,gBAAiB,CAAA,IAAA,CAAA,CAAA;AAC/C,UAAiB,gBAAA,CAAA,eAAA,EAAA,CAAA;AACjB,UAAA,OAAA,CAAQ,IAAK,CAAA,oEAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAIjB,MAAA,YAAA,CAAa,SAAU,CAAA,MAAA,CAAA,CAAA;AACvB,MAAa,YAAA,CAAA,OAAA,CAAQ,WAAW,MAAQ,EAAA,IAAA,CAAA,CAAA;AAExC,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,UAAY,EAAA,cAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIX,mBAAmB,qCAAuC,EAAA;AAC7D,MAAM,MAAA,CAAE,iCAAkC,MAAO,CAAA,OAAA,CAAA;AACjD,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,6BAAA,EAA+B,CAAC,CAAC,6BAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIhC,mBAAmB,cAAgB,EAAA;AACtC,MAAA,MAAM,CAAE,OAAA,EAAS,IAAM,EAAA,YAAA,EAAc,kBAAkB,QAAa,CAAA,GAAA,KAAA,CAAA;AACpE,MAAI,IAAA,CAAC,YAAgB,IAAA,CAAC,gBAAkB,EAAA;AACtC,QAAO,OAAA,KAAA,CAAA;AAAA,OAAA;AAGT,MAAM,MAAA,eAAA,GAAkB,SAAU,CAAA,kBAAA,CAAmB,IAAM,EAAA,QAAA,CAAA,CAAA;AAE3D,MAAA,MAAM,CAAE,SAAA,EAAW,OAAS,EAAA,cAAA,EAAgB,YAAa,MAAO,CAAA,OAAA,CAAA;AAChE,MAAA,MAAM,aAAa,cAAkB,IAAA,IAAA,GAAA,cAAA,GAAA,CAAA,CAAA;AAErC,MAAA,MAAM,UAAa,GAAA,UAAA,CAAW,CAAQ,EAAA,GAAA,OAAA,CAAA,SAAA,CAAA,KAAR,IAAoB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAElD,MAAM,MAAA,UAAA,GAAa,WAAW,CAAQ,KAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAEtC,MAAA,MAAM,aAAa,CAAC,UAAA,CAAA;AAEpB,MAAA,MAAM,YAAe,GAAA;AAAA,QACnB,MAAA,EAAQ,CAAW,EAAA,GAAA,UAAA,CAAA,MAAA,KAAX,IAAqB,GAAA,EAAA,GAAA,CAAA;AAAA,QAC7B,KAAA,EAAO,CAAW,EAAA,GAAA,UAAA,CAAA,KAAA,KAAX,IAAoB,GAAA,EAAA,GAAA,IAAA;AAAA,OAAA,CAAA;AAG7B,MAAI,IAAA,OAAA,IAAW,aAAa,IAAM,EAAA;AAChC,QAAA,gBAAA,CAAiB,WAAW,OAAS,EAAA,YAAA,CAAA,CAAA;AAAA,OAAA;AAGvC,MAAM,MAAA,UAAA,GAAa,cAAc,QAAU,EAAA,IAAA,CAAA,CAAA;AAE3C,MAAM,MAAA,CAAE,gBAAgB,IAAS,CAAA,GAAA,UAAA,CAAA;AACjC,MAAM,MAAA,gBAAA,GAAmB,cAAc,QAAU,EAAA,cAAA,CAAA,CAAA;AACjD,MAAA,MAAM,oBAAoB,cAAkB,IAAA,IAAA,CAAA;AAC5C,MAAA,MAAM,sBAAsB,CAAW,EAAA,GAAA,CAAA,EAAA,GAAA,UAAA,CAAA,CAAA,KAAA,EAAQ,cAAnB,CAAA,CAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAsC,WAAtC,IAAgD,GAAA,EAAA,GAAA,EAAA,CAAA;AAE5E,MAAA,MAAM,SAAS,mBAAoB,CAAA,oBAAA,CACjC,yCAAY,MACZ,EAAA,YAAA,EACA,YACA,mBACA,EAAA,UAAA,CAAA,CAAA;AAGF,MAAiB,gBAAA,CAAA,eAAA,EAAA,CAAA;AAEjB,MAAA,IAAI,iBAAmB,EAAA;AACrB,QAAI,IAAA,CAAA,mBAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,mBAAA,CAAqB,UAAS,CAAG,EAAA;AACnC,UAAiB,gBAAA,CAAA,YAAA,CAAa,gBAAiB,CAAA,IAAA,EAAM,mBAAoB,CAAA,UAAA,CAAA,CAAA,CAAA;AAAA,SACpE,MAAA;AAEL,UAAA,gBAAA,CAAiB,aAAa,gBAAiB,CAAA,IAAA,CAAA,CAAA;AAC/C,UAAiB,gBAAA,CAAA,eAAA,EAAA,CAAA;AACjB,UAAA,OAAA,CAAQ,IAAK,CAAA,oEAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA;AAKjB,MAAI,IAAA,eAAA,CAAgB,SAAS,OAAS,EAAA;AACpC,QAAA,MAAM,QAAW,GAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,mBAAA,CAAoB,UAApB,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAiC,OAAjC,IAAuC,GAAA,EAAA,GAAA,EAAA,CAAA;AACxD,QAAM,MAAA,mBAAA,GAAsB,iBACxB,GAAA,MAAA,CAAO,MAAO,CAAA,CAAC,MACb,eAAgB,CAAA,cAAA,CAAe,CAAE,CAAA,QAAA,EAAU,QAE7C,CAAA,CAAA,GAAA,MAAA,CAAA;AACJ,QAAA,YAAA,CAAa,SAAU,CAAA,mBAAA,CAAA,CAAA;AACvB,QAAa,YAAA,CAAA,OAAA,CAAQ,WAAW,MAAQ,EAAA,IAAA,CAAA,CAAA;AAAA,OAAA;AAG1C,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,QAAU,EAAA,SAAA;AAAA,QACV,UAAA;AAAA,QACA,eAAiB,EAAA,mBAAA;AAAA,QACjB,UAAY,EAAA,MAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIX,mBAAmB,wBAA0B,EAAA;AAChD,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,MAAQ,EAAA,CAAA,EAAA,GAAA,MAAA,CAAO,OAAQ,CAAA,MAAA,KAAf,IAAyB,GAAA,EAAA,GAAA,IAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIhC,mBAAmB,eAAiB,EAAA;AACvC,MAAM,MAAA,CAAE,QAAU,EAAA,IAAA,CAAA,GAAS,MAAO,CAAA,OAAA,CAAA;AAClC,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,QAAA;AAAA,QACA,IAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIC,mBAAmB,SAAW,EAAA;AACjC,MAAA,MAAM,CAAE,OAAY,CAAA,GAAA,KAAA,CAAA;AACpB,MAAA,MAAM,CAAE,YAAA,EAAc,gBAAqB,CAAA,GAAA,kBAAA,CAAmB,KAAO,EAAA,OAAA,CAAA,CAAA;AACrE,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,YAAA;AAAA,QACA,gBAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIC,mBAAmB,gBAAkB,EAAA;AACxC,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,QAAA,EAAU,OAAO,OAAQ,CAAA,QAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIxB,mBAAmB,cAAgB,EAAA;AACtC,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,MAAA,EAAQ,OAAO,OAAQ,CAAA,MAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAItB,mBAAmB,oBAAsB,EAAA;AAC5C,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,WAAA,EAAa,OAAO,OAAQ,CAAA,WAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAI3B,mBAAmB,aAAe,EAAA;AACrC,MAAM,MAAA,CAAE,QAAU,EAAA,KAAA,CAAA,GAAU,MAAO,CAAA,OAAA,CAAA;AACnC,MAAA,MAAM,CAAE,OAAY,CAAA,GAAA,KAAA,CAAA;AACpB,MAAQ,OAAA,CAAA,KAAA,CAAA,GAAS,cAAK,CAAA,cAAA,CAAA,EAAA,EAAA,OAAA,CAAQ,KAAW,CAAA,CAAA,EAAA,QAAA,CAAA,CAAA;AAEzC,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,OAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIC,mBAAmB,aAAe,EAAA;AACrC,MAAA,MAAM,CAAE,YAAiB,CAAA,GAAA,KAAA,CAAA;AACzB,MAAc,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,YAAA,EAAA,CAAA;AAEd,MAAO,OAAA,KAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAGJ,mBAAmB,oBAAsB,EAAA;AAC5C,MAAA,MAAM,CAAE,YAAA,EAAc,QAAU,EAAA,OAAA,EAAS,IAAS,CAAA,GAAA,KAAA,CAAA;AAClD,MAAA,IAAI,CAAC,YAAc,EAAA;AACjB,QAAO,OAAA,KAAA,CAAA;AAAA,OAAA;AAGT,MAAA,IAAI,QAAa,KAAA,CAAA,IAAK,QAAY,IAAA,OAAA,CAAQ,MAAQ,EAAA;AAChD,QAAA,OAAA,CAAQ,KAAM,CAAA,8DAAA,CAAA,CAAA;AACd,QAAO,OAAA,KAAA,CAAA;AAAA,OAAA;AAET,MAAM,MAAA,cAAA,GAAiB,OAAQ,CAAA,QAAA,GAAW,CAAG,CAAA,CAAA,MAAA,CAAA;AAC7C,MAAA,IAAI,CAAC,cAAgB,EAAA;AACnB,QAAO,OAAA,KAAA,CAAA;AAAA,OAAA;AAGT,MAAM,MAAA,SAAA,GAAY,oBAAoB,gBACpC,CAAA,cAAA,EACA,MACA,CAAQ,EAAA,GAAA,OAAA,CAAA,QAAA,CAAA,CAAU,WAAlB,IAA4B,GAAA,EAAA,GAAA,EAAA,CAAA,CAAA;AAE9B,MAAA,OAAA,CAAQ,UAAU,MAAS,GAAA,SAAA,CAAA;AAG3B,MAAA,MAAM,aAAa,UAAW,CAAA,SAAA,CAAA,CAAA;AAC9B,MAAM,MAAA,UAAA,GAAa,WAAW,CAAQ,KAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AACtC,MAAM,MAAA,MAAA,GAAS,0CAAY,MAAU,KAAA,EAAA,CAAA;AAErC,MAAA,YAAA,CAAa,SAAU,CAAA,MAAA,CAAA,CAAA;AACvB,MAAA,YAAA,CAAa,QAAQ,WAAY,CAAA,MAAA,CAAA,CAAA;AAEjC,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,OAAA,EAAS,CAAC,GAAG,OAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIZ,mBAAmB,QAAU,EAAA;AAChC,MAAM,MAAA,CAAE,UAAU,gBAAqB,CAAA,GAAA,KAAA,CAAA;AACvC,MAAM,MAAA,CAAE,UAAW,MAAO,CAAA,OAAA,CAAA;AAE1B,MAAA,IAAI,CAAC,gBAAkB,EAAA;AACrB,QAAO,OAAA,KAAA,CAAA;AAAA,OAAA;AAGT,MAAM,MAAA,UAAA,GAAa,cAAc,QAAU,EAAA,MAAA,CAAA,CAAA;AAC3C,MAAiB,gBAAA,CAAA,WAAA,CAAY,UAAW,CAAA,IAAA,EAAM,UAAW,CAAA,MAAA,CAAA,CAAA;AAEzD,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,IAAM,EAAA,MAAA;AAAA,QACN,cAAc,gBAAiB,CAAA,YAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAI9B,mBAAmB,WAAa,EAAA;AACnC,MAAM,MAAA,CAAE,WAAY,MAAO,CAAA,OAAA,CAAA;AAE3B,MAAA,OAAO,iCACF,KADE,CAAA,EAAA;AAAA,QAEL,OAAA,EAAS,CAAC,CAAC,OAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA;AAMb,MAAO,OAAA,KAAA,CAAA;AAAA,GAAA;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, cTool } from '@labelbee/lb-annotation';\nimport { i18n } from '@labelbee/lb-utils';\nimport { message } from 'antd/es';\nimport _ from 'lodash';\nimport { SetAnnotationLoading } from './actionCreators';\nimport { AnnotationActionTypes, AnnotationState } from './types';\nconst { EVideoToolName } = cTool;\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 if (i) {\n const resultStr = i.result;\n const resultObject = jsonParser(resultStr);\n if (resultObject[`step_${step}`]) {\n return pre + 1;\n }\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 // 视频工具不支持实例化\n if ((Object.values(EVideoToolName) as string[]).includes(stepConfig.tool)) {\n return;\n }\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 LoadFileAndFileData =\n (nextIndex: number, nextBasicIndex?: number): any =>\n async (dispatch: any, getState: any) => {\n const { stepList, step } = getState().annotation;\n const currentIsVideo = StepUtils.currentToolIsVideo(step, stepList);\n\n SetAnnotationLoading(dispatch, true);\n\n dispatch(TryGetFileDataByAPI(nextIndex));\n\n if (currentIsVideo) {\n dispatch(AfterVideoLoaded(nextIndex));\n return;\n }\n\n dispatch(AfterImageLoaded(nextIndex, nextBasicIndex));\n };\n\n/**\n * 支持并优先外部传入的获取文件接口\n * @param nextIndex\n */\nconst TryGetFileDataByAPI = (nextIndex: number) => async (dispatch: any, getState: any) => {\n const { getFileData, imgList } = getState().annotation;\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\nconst AfterVideoLoaded = (nextIndex: number) => (dispatch: any) => {\n SetAnnotationLoading(dispatch, false);\n\n dispatch({\n type: ANNOTATION_ACTIONS.LOAD_FILE_DATA,\n payload: {\n nextIndex,\n },\n });\n};\n\nconst AfterImageLoaded =\n (nextIndex: number, nextBasicIndex?: number) => (dispatch: any, getState: any) => {\n const { toolInstance, imgList } = getState().annotation;\n const url = imgList?.[nextIndex]?.url;\n ImgUtils.load(url)\n .then((imgNode: HTMLImageElement) => {\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 || !imgList[imgIndex]) {\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, toolInstance, basicResultList } = state;\n if (!toolInstance) {\n return state;\n }\n\n const [exportResult] = 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(\n dependStepConfig.tool,\n stepBasicResultList[nextBasicIndex],\n );\n annotationEngine?.launchOperation();\n } else {\n annotationEngine?.setBasicInfo(dependStepConfig.tool);\n annotationEngine?.forbidOperation();\n message.info(i18n.t('NoDependency'));\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\n /**\n * TODO\n * Before: !toolInstance || !annotationEngine\n *\n * The roles of toolInstance and annotationEngine need to be clearly distinguished\n */\n if (!toolInstance) {\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(i18n.t('NoDependency'));\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 instance = updateToolInstance(state, imgNode);\n\n if (instance) {\n const { toolInstance, annotationEngine } = instance;\n return {\n ...state,\n toolInstance,\n annotationEngine,\n };\n }\n\n return {\n ...state,\n };\n }\n\n // react hook tool Proprietary operations\n case ANNOTATION_ACTIONS.SET_TOOL: {\n const instance = action.payload?.instance;\n if (instance) {\n return {\n ...state,\n toolInstance: instance,\n // TODO It needs to optimize\n // annotationEngine: {\n // toolInstance: instance,\n // } as any,\n };\n }\n\n return {\n ...state,\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_ON_PAGE_CHANGE: {\n return {\n ...state,\n onPageChange: action.payload.onPageChange,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_ON_STEP_CHANGE: {\n return {\n ...state,\n onStepChange: action.payload.onStepChange,\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.UPDATE_PAGE_SIZE: {\n return {\n ...state,\n pageSize: action.payload.pageSize,\n };\n }\n\n case ANNOTATION_ACTIONS.UPDATE_LOAD_FILE_LIST: {\n return {\n ...state,\n loadFileList: action.payload.loadFileList,\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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"}
|
package/es/utils/StepUtils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{EStepType as r}from"../constant/index.js";class
|
|
1
|
+
import{EStepType as r}from"../constant/index.js";import{cTool as u}from"@labelbee/lb-annotation";const{EVideoToolName:c}=u;class n{static getCurrentStepInfo(o,e){const t=this.getStepInfo(o,e);return[r.QUALITY_INSPECTION,r.MANUAL_CORRECTION].includes(t==null?void 0:t.type)?this.getStepInfo(t.dataSourceStep,e):t}static getStepInfo(o,e){return e==null?void 0:e.filter(t=>t.step===o)[0]}static currentToolIsVideo(o,e){const t=n.getCurrentStepInfo(o,e);return Object.values(c).includes(t==null?void 0:t.tool)}}export{n as default};
|