@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/index.tsx"],"sourcesContent":["import { Popover } from 'antd/es';\nimport _ from 'lodash';\nimport React, { useState } from 'react';\nimport { useSelector } from 'react-redux';\n// import styles from './index.less';\n\nimport hotKeySvg from '@/assets/annotation/toolHotKeyIcon/icon_kj1.svg';\nimport hotKeyHoverSvg from '@/assets/annotation/toolHotKeyIcon/icon_kj_h.svg';\nimport { EToolName } from '@/data/enums/ToolType';\nimport rectToolShortcutTable from './rectToolShortCutTable';\nimport pointToolShortcutTable from './point';\nimport polygonToolShortcutTable from './polygon';\nimport lineToolShortCutTable from './line';\nimport tagToolSingleShortCutTable from './tag';\nimport textToolShortCutTable from './text';\nimport StepUtils from '@/utils/StepUtils';\nimport { footerCls } from '../../index';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n isSingleImg?: boolean;\n style?: any;\n}\n\nconst shortCutTable: any = {\n [EToolName.Rect]: rectToolShortcutTable,\n [EToolName.Tag]: tagToolSingleShortCutTable,\n [EToolName.Point]: pointToolShortcutTable,\n [EToolName.Polygon]: polygonToolShortcutTable,\n [EToolName.Line]: lineToolShortCutTable,\n [EToolName.Text]: textToolShortCutTable,\n};\n\nexport interface IShortcuts {\n name: string;\n icon: any;\n shortCut: string[];\n noticeInfo?: string;\n}\nconst ToolHotKey: React.FC<IProps> = ({ isSingleImg, style }) => {\n const [svgFlag, setFlag] = useState(false);\n const { t } = useTranslation();\n\n // @ts-ignore\n const stepInfo = useSelector((state) =>\n // @ts-ignore\n StepUtils.getCurrentStepInfo(state?.annotation?.step, state.annotation?.stepList),\n );\n\n const renderImg = (info: Element | string) => {\n if (typeof info === 'string') {\n return <img width={16} height={16} src={info} style={iconStyle} />;\n }\n return info;\n };\n const shortCutStyle = {\n width: 320,\n display: 'flex',\n justifyContent: 'space-between',\n margin: '23px 21px',\n };\n\n const iconStyle = {\n marginRight: 10,\n };\n\n const shortCutNameStyles: React.CSSProperties = {\n display: 'block',\n padding: '0 3px',\n minWidth: '20px',\n marginRight: '3px',\n border: '1px solid rgba(204,204,204,1)',\n verticalAlign: 'middle',\n fontSize: '12px',\n textAlign: 'center',\n };\n\n const setHotKey = (info: any, index: number) => (\n <div style={shortCutStyle} key={index}>\n <span style={{ display: 'flex', alignItems: 'center' }}>\n {renderImg(info.icon)}\n {t(info.name)}\n </span>\n <span style={{ display: 'flex', alignItems: 'center' }}>\n {info.noticeInfo && (\n <span style={{ marginRight: '5px', color: '#CCCCCC' }}>{t(info.noticeInfo)}</span>\n )}\n {setSVG(info.shortCut, info.shortCutUseHtml, info.linkSymbol)}\n </span>\n </div>\n );\n\n const setSVG = (list: any[], useDangerInnerHtml = false, linkSymbol?: string) => {\n const listDom = list.map((item, index) => {\n if (useDangerInnerHtml) {\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span style={shortCutNameStyles} dangerouslySetInnerHTML={{ __html: item }} />\n </span>\n );\n }\n\n if (index < list.length - 1) {\n if (typeof item === 'number') {\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span style={shortCutNameStyles}>{item}</span>\n <span style={{ marginRight: '3px' }}>~</span>\n </span>\n );\n }\n\n if (item?.startsWith('data')) {\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span className='shortCutButton' style={{ marginRight: '3px' }}>\n <img width={16} height={23} src={item} />\n </span>\n <span style={{ marginRight: '3px' }}>+</span>\n </span>\n );\n }\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span style={shortCutNameStyles}>{item}</span>\n <span style={{ marginRight: '3px' }}>{linkSymbol || '+'}</span>\n </span>\n );\n }\n if (typeof item === 'number') {\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span style={shortCutNameStyles}>{item}</span>\n </span>\n );\n }\n if (item?.startsWith('data')) {\n return (\n <span className='shortCutButton' key={index} style={{ marginRight: '3px' }}>\n <img width={16} height={23} src={item} />\n </span>\n );\n }\n return (\n <span style={shortCutNameStyles} key={index}>\n {item}\n </span>\n );\n });\n return (\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n }}\n >\n {listDom}\n </div>\n );\n };\n\n const content = (\n <div className={`${footerCls}__hotkey-content`}>\n {stepInfo &&\n shortCutTable[stepInfo?.tool]?.map((info: any, index: number) => setHotKey(info, index))}\n </div>\n );\n const containerStyle = style || { width: 600 };\n\n // 不存在对应的工具则不展示的快捷键\n if (stepInfo && !shortCutTable[stepInfo?.tool]) {\n return null;\n }\n\n return (\n // @ts-ignore\n <Popover\n placement='topLeft'\n content={content}\n // @ts-ignore\n onMouseMove={() => setFlag(true)}\n onMouseLeave={() => {\n setFlag(false);\n }}\n overlayClassName='tool-hotkeys-popover'\n // visible={svgFlag}\n >\n <div\n className='shortCutTitle'\n onMouseMove={() => setFlag(true)}\n onMouseLeave={() => setFlag(false)}\n style={containerStyle}\n >\n <a className='svg'>\n <img\n src={svgFlag ? hotKeyHoverSvg : hotKeySvg}\n width={15}\n height={13}\n style={{ marginRight: '5px' }}\n />\n {t('Hotkeys')}\n </a>\n </div>\n </Popover>\n );\n};\n\nexport default ToolHotKey;\n"],"names":["pointToolShortcutTable","polygonToolShortcutTable","hotKeyHoverSvg","hotKeySvg"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/index.tsx"],"sourcesContent":["import { Popover } from 'antd/es';\nimport _ from 'lodash';\nimport React, { useState } from 'react';\n\nimport hotKeySvg from '@/assets/annotation/toolHotKeyIcon/icon_kj1.svg';\nimport hotKeyHoverSvg from '@/assets/annotation/toolHotKeyIcon/icon_kj_h.svg';\nimport { EToolName } from '@/data/enums/ToolType';\nimport rectToolShortcutTable from './rectToolShortCutTable';\nimport pointToolShortcutTable from './point';\nimport polygonToolShortcutTable from './polygon';\nimport lineToolShortCutTable from './line';\nimport tagToolSingleShortCutTable from './tag';\nimport textToolShortCutTable from './text';\nimport videoToolShortCutTable from './videoTag';\n\nimport { footerCls } from '../../index';\nimport { useTranslation } from 'react-i18next';\nimport { cTool } from '@labelbee/lb-annotation';\n\nconst { EVideoToolName } = cTool;\n\ninterface IProps {\n style?: any;\n title?: React.ReactElement<any>;\n toolName?: string;\n}\n\nconst shortCutTable: any = {\n [EToolName.Rect]: rectToolShortcutTable,\n [EToolName.Tag]: tagToolSingleShortCutTable,\n [EToolName.Point]: pointToolShortcutTable,\n [EToolName.Polygon]: polygonToolShortcutTable,\n [EToolName.Line]: lineToolShortCutTable,\n [EToolName.Text]: textToolShortCutTable,\n [EVideoToolName.VideoTagTool]: videoToolShortCutTable,\n};\n\nconst ToolHotKey: React.FC<IProps> = ({ style, title, toolName }) => {\n const [svgFlag, setFlag] = useState(false);\n const { t } = useTranslation();\n\n if (!toolName) {\n return null;\n }\n\n const renderImg = (info: Element | string) => {\n if (typeof info === 'string') {\n return <img width={16} height={16} src={info} style={iconStyle} />;\n }\n return info;\n };\n const shortCutStyle = {\n width: 320,\n display: 'flex',\n justifyContent: 'space-between',\n margin: '23px 21px',\n };\n\n const iconStyle = {\n marginRight: 10,\n };\n\n const shortCutNameStyles: React.CSSProperties = {\n display: 'block',\n padding: '0 3px',\n minWidth: '20px',\n marginRight: '3px',\n border: '1px solid rgba(204,204,204,1)',\n verticalAlign: 'middle',\n fontSize: '12px',\n textAlign: 'center',\n };\n\n const setHotKey = (info: any, index: number) => (\n <div style={shortCutStyle} key={index}>\n <span style={{ display: 'flex', alignItems: 'center' }}>\n {renderImg(info.icon)}\n {t(info.name)}\n </span>\n <span style={{ display: 'flex', alignItems: 'center' }}>\n {info.noticeInfo && (\n <span style={{ marginRight: '5px', color: '#CCCCCC' }}>{t(info.noticeInfo)}</span>\n )}\n {setSVG(info.shortCut, info.shortCutUseHtml, info.linkSymbol)}\n </span>\n </div>\n );\n\n const setSVG = (list: any[], useDangerInnerHtml = false, linkSymbol?: string) => {\n const listDom = list.map((item, index) => {\n if (useDangerInnerHtml) {\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span style={shortCutNameStyles} dangerouslySetInnerHTML={{ __html: item }} />\n </span>\n );\n }\n\n if (index < list.length - 1) {\n if (typeof item === 'number') {\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span style={shortCutNameStyles}>{item}</span>\n <span style={{ marginRight: '3px' }}>~</span>\n </span>\n );\n }\n\n if (item?.startsWith('data')) {\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span className='shortCutButton' style={{ marginRight: '3px' }}>\n <img width={16} height={23} src={item} />\n </span>\n <span style={{ marginRight: '3px' }}>+</span>\n </span>\n );\n }\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span style={shortCutNameStyles}>{item}</span>\n <span style={{ marginRight: '3px' }}>{linkSymbol || '+'}</span>\n </span>\n );\n }\n if (typeof item === 'number') {\n return (\n <span key={index} style={{ display: 'flex' }}>\n <span style={shortCutNameStyles}>{item}</span>\n </span>\n );\n }\n if (item?.startsWith('data')) {\n return (\n <span className='shortCutButton' key={index} style={{ marginRight: '3px' }}>\n <img width={16} height={23} src={item} />\n </span>\n );\n }\n return (\n <span style={shortCutNameStyles} key={index}>\n {item}\n </span>\n );\n });\n return (\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center',\n }}\n >\n {listDom}\n </div>\n );\n };\n\n const content = (\n <div className={`${footerCls}__hotkey-content`}>\n {shortCutTable[toolName]?.map((info: any, index: number) => setHotKey(info, index))}\n </div>\n );\n const containerStyle = style || { width: 100 };\n\n // 不存在对应的工具则不展示的快捷键\n if (!shortCutTable[toolName]) {\n return null;\n }\n\n return (\n // @ts-ignore\n <Popover\n placement='topLeft'\n content={content}\n // @ts-ignore\n onMouseMove={() => setFlag(true)}\n onMouseLeave={() => {\n setFlag(false);\n }}\n overlayClassName='tool-hotkeys-popover'\n // visible={svgFlag}\n >\n <div\n className='shortCutTitle'\n onMouseMove={() => setFlag(true)}\n onMouseLeave={() => setFlag(false)}\n style={containerStyle}\n >\n {title ?? (\n <a className='svg'>\n <img\n src={svgFlag ? hotKeyHoverSvg : hotKeySvg}\n width={15}\n height={13}\n style={{ marginRight: '5px' }}\n />\n\n {t('Hotkeys')}\n </a>\n )}\n </div>\n </Popover>\n );\n};\n\nexport default ToolHotKey;\n"],"names":["pointToolShortcutTable","polygonToolShortcutTable","videoToolShortCutTable","hotKeyHoverSvg","hotKeySvg"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import f from"../../../../../../assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js";import C from"../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js";import _ from"../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js";import j from"../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg.js";import t from"../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg.js";import o from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js";import n from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js";import u from"../../../../../../assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js";import h from"../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js";import I from"../../../../../../assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js";import v from"../../../../../../assets/annotation/toolHotKeyIcon/icon_segment.svg.js";import k from"../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js";import{revoke as d,restore as P,rotate as A,scale as b,backward as H,forward as K,setValid as $,dargWithRightClick as S,dargWithLeftClick as D,tabChangeSelected as T,tabReverseChangeSelected as L}from"../common/index.js";const e={name:"AnnotatePolygon",icon:f,shortCut:[o]},s={name:"AnnotateInvalidPolygon",icon:C,shortCut:["Ctrl",o]},i={name:"SelectPolygon",icon:_,shortCut:[n],noticeInfo:"RightClick"},a={name:"TogglePolygonEffectiveness",icon:j,shortCut:["F"]},c={name:"DeletePolygon",icon:t,shortCut:["Del"]},l={name:"ContinueToLabel",icon:u,shortCut:["Space"]},r={name:"InsertPoint",icon:h,noticeInfo:"SelectAndDoubleClick",shortCut:[o]},g={name:"DeletePoint",icon:t,noticeInfo:"SelectAndDoubleClick",shortCut:[n]},m={name:"StopAdsorption",icon:I,noticeInfo:"Press",shortCut:["Alt"]},p={name:"CropOverlapArea",icon:v,noticeInfo:"",shortCut:["ALT","X"]},y={name:"CombineOverlapArea",icon:k,noticeInfo:"",shortCut:["Alt","Z"]},R=[e,s,i,a,c,l,r,g,m,d,P,A,b,H,K,$,S,D,T,L,y,p];export{a as changePolygonAttribute,y as combinePolygon,R as default,c as deletePolygon,g as deletePolygonPoint,r as insertPolygonPoint,s as invalidPolygon,l as keepLine,e as polygon,i as selectedPolygon,p as splitPolygon,m as suspendAbsorption};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.tsx"],"sourcesContent":["import DrawPolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_line_kj.svg'
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.tsx"],"sourcesContent":["import DrawPolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_line_kj.svg';\nimport DrawInvalidPolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg';\nimport SelectedPolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg';\nimport ChangePolygonAttribute from '@/assets/annotation/toolHotKeyIcon/icon_polygonChange_kj.svg';\nimport DeletePolygonSvg from '@/assets/annotation/toolHotKeyIcon/icon_polygonDel_kj.svg';\nimport MouseLeftSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg';\nimport MouseRightSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg';\n\nimport IconLineContKj from '@/assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg';\nimport IconPolygonInsertKj from '@/assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg';\nimport IconUnGripKj from '@/assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg';\nimport IconPointSpecialKj from '@/assets/annotation/toolHotKeyIcon/icon_pointSpecial_kj.svg';\nimport IconSegment from '@/assets/annotation/toolHotKeyIcon/icon_segment.svg';\nimport IconPolygonMerge from '@/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg';\nimport IconAI from '@/assets/annotation/toolHotKeyIcon/icon_AI.svg';\nimport IconSwapOutlined from '@/assets/annotation/toolHotKeyIcon/icon_swap_outlined.svg';\n\nimport {\n backward,\n dargWithRightClick,\n forward,\n // fullScreen,\n restore,\n revoke,\n rotate,\n setValid,\n scale,\n tabChangeSelected,\n tabReverseChangeSelected,\n // attributeClickLock,\n // attributeLock,\n // copyBackwardResult,\n // hidden,\n // changeSpecialLine,\n // saveResult,\n dargWithLeftClick,\n} from '../common';\n\nexport const polygon = {\n name: 'AnnotatePolygon',\n icon: DrawPolygonSvg,\n shortCut: [MouseLeftSvg],\n};\n\nexport const invalidPolygon = {\n name: 'AnnotateInvalidPolygon',\n icon: DrawInvalidPolygonSvg,\n shortCut: ['Ctrl', MouseLeftSvg],\n};\n\nexport const selectedPolygon = {\n name: 'SelectPolygon',\n icon: SelectedPolygonSvg,\n shortCut: [MouseRightSvg],\n noticeInfo: 'RightClick',\n};\n\nexport const changePolygonAttribute = {\n name: 'TogglePolygonEffectiveness',\n icon: ChangePolygonAttribute,\n shortCut: ['F'],\n};\n\nexport const deletePolygon = {\n name: 'DeletePolygon',\n icon: DeletePolygonSvg,\n shortCut: ['Del'],\n};\n\nexport const keepLine = {\n name: 'ContinueToLabel',\n icon: IconLineContKj,\n shortCut: ['Space'],\n};\n\nexport const insertPolygonPoint = {\n name: 'InsertPoint',\n icon: IconPolygonInsertKj,\n noticeInfo: 'SelectAndDoubleClick',\n shortCut: [MouseLeftSvg],\n};\n\nexport const deletePolygonPoint = {\n name: 'DeletePoint',\n icon: DeletePolygonSvg,\n noticeInfo: 'SelectAndDoubleClick',\n shortCut: [MouseRightSvg],\n};\n\nexport const changeSpecialPoint = {\n name: 'TogglePointParticularity',\n icon: IconPointSpecialKj,\n noticeInfo: '',\n shortCut: ['Shift', MouseLeftSvg],\n};\n\nexport const suspendAbsorption = {\n name: 'StopAdsorption',\n icon: IconUnGripKj,\n noticeInfo: 'Press',\n shortCut: ['Alt'],\n};\n\nexport const splitPolygon = {\n name: 'CropOverlapArea',\n icon: IconSegment,\n noticeInfo: '',\n shortCut: ['ALT', 'X'],\n};\n\nexport const combinePolygon = {\n name: 'CombineOverlapArea',\n icon: IconPolygonMerge,\n noticeInfo: '',\n shortCut: ['Alt', 'Z'],\n};\n\nexport const segmentByAlgorithm = {\n name: 'SegmentationRecognition',\n icon: IconAI,\n noticeInfo: '',\n shortCut: ['Q'],\n};\n\nexport const changeRenderPattern = {\n name: 'SwitchPattern',\n icon: IconSwapOutlined,\n noticeInfo: '',\n shortCut: ['U'],\n};\n\nconst pointToolShortCutTable = [\n // saveResult,\n polygon,\n invalidPolygon,\n selectedPolygon,\n changePolygonAttribute,\n deletePolygon,\n keepLine,\n insertPolygonPoint,\n deletePolygonPoint,\n // changeSpecialPoint,\n // changeSpecialLine,\n suspendAbsorption,\n // hidden,\n // segmentByAlgorithm,\n // attributeLock,\n // attributeClickLock,\n revoke,\n restore,\n rotate,\n scale,\n // fullScreen,\n backward,\n forward,\n setValid,\n // copyBackwardResult,\n dargWithRightClick,\n dargWithLeftClick,\n tabChangeSelected,\n tabReverseChangeSelected,\n // changeRenderPattern,\n combinePolygon,\n splitPolygon,\n];\nexport default pointToolShortCutTable;\n"],"names":["DrawPolygonSvg","MouseLeftSvg","DrawInvalidPolygonSvg","SelectedPolygonSvg","MouseRightSvg","ChangePolygonAttribute","DeletePolygonSvg","IconLineContKj","IconPolygonInsertKj","IconUnGripKj","IconSegment","IconPolygonMerge"],"mappings":";;;;;;;;;;;;;;AAsCO,MAAM,OAAU,GAAA;AAAA,EACrB,IAAM,EAAA,iBAAA;AAAA,EACN,IAAM,EAAAA,GAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,cAAiB,GAAA;AAAA,EAC5B,IAAM,EAAA,wBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAQ,EAAAD,KAAA,CAAA;AAAA,EAAA;AAGd,MAAM,eAAkB,GAAA;AAAA,EAC7B,IAAM,EAAA,eAAA;AAAA,EACN,IAAM,EAAAE,KAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EACX,UAAY,EAAA,YAAA;AAAA,EAAA;AAGP,MAAM,sBAAyB,GAAA;AAAA,EACpC,IAAM,EAAA,4BAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,aAAgB,GAAA;AAAA,EAC3B,IAAM,EAAA,eAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,QAAW,GAAA;AAAA,EACtB,IAAM,EAAA,iBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,OAAA,CAAA;AAAA,EAAA;AAGN,MAAM,kBAAqB,GAAA;AAAA,EAChC,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,sBAAA;AAAA,EACZ,UAAU,CAACP,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,kBAAqB,GAAA;AAAA,EAChC,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAAK,KAAA;AAAA,EACN,UAAY,EAAA,sBAAA;AAAA,EACZ,UAAU,CAACF,KAAA,CAAA;AAAA,EAAA;AAUN,MAAM,iBAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,gBAAA;AAAA,EACN,IAAM,EAAAK,KAAA;AAAA,EACN,UAAY,EAAA,OAAA;AAAA,EACZ,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,YAAe,GAAA;AAAA,EAC1B,IAAM,EAAA,iBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,EAAA;AAAA,EACZ,QAAA,EAAU,CAAC,KAAO,EAAA,GAAA,CAAA;AAAA,EAAA;AAGb,MAAM,cAAiB,GAAA;AAAA,EAC5B,IAAM,EAAA,oBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,EAAA;AAAA,EACZ,QAAA,EAAU,CAAC,KAAO,EAAA,GAAA,CAAA;AAAA,EAAA;AAiBpB,MAAM,sBAAyB,GAAA;AAAA,EAE7B,OAAA;AAAA,EACA,cAAA;AAAA,EACA,eAAA;AAAA,EACA,sBAAA;AAAA,EACA,aAAA;AAAA,EACA,QAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EAGA,iBAAA;AAAA,EAKA,MAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EAEA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EAEA,kBAAA;AAAA,EACA,iBAAA;AAAA,EACA,iBAAA;AAAA,EACA,wBAAA;AAAA,EAEA,cAAA;AAAA,EACA,YAAA;AAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import e from"lodash";import{forward as a,backward as d,saveResult as n,playPause as i,speed as l,rewind as t,forwardForward as s,fullScreen as m}from"../common/index.js";import{tagInSingleImg as c}from"../tag/index.js";const o=e.cloneDeep(a),r=e.cloneDeep(d);o.name="NextFile",r.name="PreviousFile";const p=[n,c,i,l,t,s,m,r,o];export{p as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.ts"],"sourcesContent":["import _ from 'lodash';\nimport {\n rewind,\n backward,\n forward,\n forwardForward,\n fullScreen,\n playPause,\n speed,\n saveResult,\n} from '../common';\nimport { tagInSingleImg } from '../tag';\nimport { IShortcut } from '@/types/tool';\n\nconst videoForward = _.cloneDeep(forward);\nconst videoBackward = _.cloneDeep(backward);\n\nvideoForward.name = 'NextFile';\nvideoBackward.name = 'PreviousFile';\n\nconst videoTagToolShortCurTable: IShortcut[] = [\n saveResult,\n tagInSingleImg,\n playPause,\n speed,\n rewind,\n forwardForward,\n fullScreen,\n videoBackward,\n videoForward,\n];\n\nexport default videoTagToolShortCurTable;\n"],"names":[],"mappings":";;;;AAcA,MAAM,YAAA,GAAe,EAAE,SAAU,CAAA,OAAA,CAAA,CAAA;AACjC,MAAM,aAAA,GAAgB,EAAE,SAAU,CAAA,QAAA,CAAA,CAAA;AAElC,YAAA,CAAa,IAAO,GAAA,UAAA,CAAA;AACpB,aAAA,CAAc,IAAO,GAAA,cAAA,CAAA;AAErB,MAAM,yBAAyC,GAAA;AAAA,EAC7C,UAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import l from"react";import n from"./ToolHotKey/index.js";import{useSelector as i}from"react-redux";import a from"../../../../utils/StepUtils.js";const s=()=>{const o=i(t=>{var e,r;return a.getCurrentStepInfo((e=t==null?void 0:t.annotation)==null?void 0:e.step,(r=t.annotation)==null?void 0:r.stepList)});return l.createElement("div",{className:"tipsBar"},l.createElement(n,{toolName:o==null?void 0:o.tool}))};export{s as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolFooter/FooterTips/index.tsx"],"sourcesContent":["import React from 'react';\nimport ToolHotKey from './ToolHotKey';\n\nconst FooterTips: React.FC = () => (\n <div className
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolFooter/FooterTips/index.tsx"],"sourcesContent":["import React from 'react';\nimport ToolHotKey from './ToolHotKey';\nimport { useSelector } from 'react-redux';\nimport StepUtils from '@/utils/StepUtils';\n\nconst FooterTips: React.FC = () => {\n // @ts-ignore\n const stepInfo = useSelector((state) =>\n // @ts-ignore\n StepUtils.getCurrentStepInfo(state?.annotation?.step, state.annotation?.stepList),\n );\n\n return (\n <div className='tipsBar'>\n <ToolHotKey toolName={stepInfo?.tool} />\n </div>\n );\n};\n\nexport default FooterTips;\n"],"names":[],"mappings":";;;;;AAKA,MAAM,aAAuB,MAAM;AAEjC,EAAM,MAAA,QAAA,GAAW,WAAY,CAAA,CAAC,KAAO,KAAA;AAPvC,IAAA,IAAA,EAAA,EAAA,EAAA,CAAA;AASI,IAAA,OAAA,SAAA,CAAU,mBAAmB,CAAO,EAAA,GAAA,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,UAAA,KAAP,mBAAmB,IAAM,EAAA,CAAA,EAAA,GAAA,KAAA,CAAM,eAAN,IAAkB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAG1E,EAAA,2CACG,KAAD,EAAA;AAAA,IAAK,SAAU,EAAA,SAAA;AAAA,GAAA,sCACZ,UAAD,EAAA;AAAA,IAAY,UAAU,QAAU,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,QAAA,CAAA,IAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{StepForwardFilled as s,RightOutlined as _,StepBackwardFilled as d,LeftOutlined as P}from"@ant-design/icons";import a from"react";import{PageInput as g}from"./index.js";var u=Object.defineProperty,c=Object.getOwnPropertySymbols,f=Object.prototype.hasOwnProperty,E=Object.prototype.propertyIsEnumerable,l=(e,r,t)=>r in e?u(e,r,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[r]=t,i=(e,r)=>{for(var t in r||(r={}))f.call(r,t)&&l(e,t,r[t]);if(c)for(var t of c(r))E.call(r,t)&&l(e,t,r[t]);return e};const O=e=>e.isVideo?a.createElement(s,i({},e.iconProps)):a.createElement(_,i({},e.iconProps)),h=e=>e.isVideo?a.createElement(d,i({},e.iconProps)):a.createElement(P,i({},e.iconProps)),v=({pageBackward:e,imgIndex:r,pageJump:t,totalPage:m,pageForward:p,isVideo:o,footerCls:n})=>a.createElement("div",{className:`${n}__pagination`},a.createElement(h,{isVideo:o,iconProps:{className:`${n}__highlight`,onClick:e}}),a.createElement(g,{imgIndex:r,jumpSkip:t}),"/",a.createElement("span",{className:`${n}__pageAll`},m),a.createElement(O,{isVideo:o,iconProps:{className:`${n}__highlight`,onClick:p}}));export{v as Pagination};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.js","sources":["../../../../src/views/MainView/toolFooter/Pagination.tsx"],"sourcesContent":["import {\n LeftOutlined,\n RightOutlined,\n StepForwardFilled,\n StepBackwardFilled,\n} from '@ant-design/icons';\nimport React from 'react';\nimport { PageInput } from './index';\n\ninterface IPageIconProps {\n isVideo?: boolean;\n iconProps: {\n onClick: () => void;\n className: string;\n };\n}\n\ninterface IPagination {\n // 当前文件的页码\n imgIndex: number;\n // 文件总数\n totalPage: number;\n // 跳到对应的页码\n pageJump: (page: string) => void;\n // 向后翻页\n pageForward: () => void;\n // 向前翻页\n pageBackward: () => void;\n footerCls: string;\n // 文件是否为视频\n isVideo?: boolean;\n}\n\nconst Forward: React.FC<IPageIconProps> = (props) =>\n props.isVideo ? (\n <StepForwardFilled {...props.iconProps} />\n ) : (\n <RightOutlined {...props.iconProps} />\n );\nconst Back: React.FC<IPageIconProps> = (props) =>\n props.isVideo ? (\n <StepBackwardFilled {...props.iconProps} />\n ) : (\n <LeftOutlined {...props.iconProps} />\n );\n\nexport const Pagination: React.FC<IPagination> = ({\n pageBackward,\n imgIndex,\n pageJump,\n totalPage,\n pageForward,\n isVideo,\n footerCls,\n}) => {\n return (\n <div className={`${footerCls}__pagination`}>\n <Back\n isVideo={isVideo}\n iconProps={{\n className: `${footerCls}__highlight`,\n onClick: pageBackward,\n }}\n />\n <PageInput imgIndex={imgIndex} jumpSkip={pageJump} />/\n <span className={`${footerCls}__pageAll`}>{totalPage}</span>\n <Forward\n isVideo={isVideo}\n iconProps={{\n className: `${footerCls}__highlight`,\n onClick: pageForward,\n }}\n />\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAiCA,MAAM,OAAoC,GAAA,CAAC,KACzC,KAAA,KAAA,CAAM,OACJ,mBAAA,KAAA,CAAA,aAAA,CAAC,iBAAD,EAAA,cAAA,CAAA,EAAA,EAAuB,KAAM,CAAA,SAAA,CAAA,CAAA,mBAE5B,KAAA,CAAA,aAAA,CAAA,aAAA,EAAD,mBAAmB,KAAM,CAAA,SAAA,CAAA,CAAA,CAAA;AAE7B,MAAM,IAAiC,GAAA,CAAC,KACtC,KAAA,KAAA,CAAM,OACJ,mBAAA,KAAA,CAAA,aAAA,CAAC,kBAAD,EAAA,cAAA,CAAA,EAAA,EAAwB,KAAM,CAAA,SAAA,CAAA,CAAA,mBAE7B,KAAA,CAAA,aAAA,CAAA,YAAA,EAAD,mBAAkB,KAAM,CAAA,SAAA,CAAA,CAAA,CAAA;AAGrB,MAAM,aAAoC,CAAC;AAAA,EAChD,YAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA;AAAA,CACI,KAAA;AACJ,EAAA,2CACG,KAAD,EAAA;AAAA,IAAK,WAAW,CAAG,EAAA,SAAA,CAAA,YAAA,CAAA;AAAA,GAAA,sCAChB,IAAD,EAAA;AAAA,IACE,OAAA;AAAA,IACA,SAAW,EAAA;AAAA,MACT,WAAW,CAAG,EAAA,SAAA,CAAA,WAAA,CAAA;AAAA,MACd,OAAS,EAAA,YAAA;AAAA,KAAA;AAAA,GAAA,CAAA,sCAGZ,SAAD,EAAA;AAAA,IAAW,QAAA;AAAA,IAAoB,QAAU,EAAA,QAAA;AAAA,GAAY,CAAA,EAAA,GAAA,sCACpD,MAAD,EAAA;AAAA,IAAM,WAAW,CAAG,EAAA,SAAA,CAAA,SAAA,CAAA;AAAA,GAAuB,EAAA,SAAA,CAAA,sCAC1C,OAAD,EAAA;AAAA,IACE,OAAA;AAAA,IACA,SAAW,EAAA;AAAA,MACT,WAAW,CAAG,EAAA,SAAA,CAAA,WAAA,CAAA;AAAA,MACd,OAAS,EAAA,WAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{prefix as
|
|
1
|
+
import{prefix as w}from"../../../constant/index.js";import{PageBackward as F,PageForward as S,PageJump as C}from"../../../store/annotation/actionCreators.js";import{getTotalPage as k}from"../../../store/annotation/reducer.js";import{Input as L,Divider as N}from"antd/es";import t,{useState as D,useRef as R,useEffect as $}from"react";import{useTranslation as J}from"react-i18next";import{connect as H,useDispatch as B}from"react-redux";import Z from"./FooterTips/index.js";import z from"./HiddenTips/index.js";import K from"./PageNumber/index.js";import _ from"./ZoomController/index.js";import{Pagination as q}from"./Pagination.js";const A=e=>{const{jumpSkip:s,imgIndex:a}=e,[c,r]=D(a),l=R(null);$(()=>{r(a+1)},[a]);const m=n=>{/^\d*$/.test(n.target.value)&&r(n.target.value)},o=n=>{n.keyCode===13&&s(n.target.value)};return t.createElement(L,{className:"pageInput",ref:l,onChange:m,value:c,onKeyDown:o})},i=`${w}-footer`,G=()=>t.createElement(N,{type:"vertical",style:{background:"rgba(153, 153, 153, 1)",height:"16px"}}),M=e=>{var s;const{stepList:a,step:c,basicResultList:r,basicIndex:l,mode:m,footer:o}=e,n=B(),{t:u}=J(),v=(s=a[c-1])!=null?s:{},P=()=>{n(F())},b=()=>{n(S())},T=h=>{const j=~~h-1;n(C(j))},y=!!v.dataSourceStep,d=t.createElement(Z,null),g=t.createElement(z,null),f=t.createElement(K,null),x=t.createElement(q,{imgIndex:e.imgIndex,totalPage:e.totalPage,pageJump:T,pageBackward:P,pageForward:b,footerCls:i}),I=t.createElement(_,{mode:m}),E=t.createElement("span",null,u("curItems",{current:l+1,total:r.length})),p=t.createElement(G,null);return o?typeof o=="function"?t.createElement("div",{className:`${i}`,style:e.style},o({footerTips:d,hiddenTips:g,pageNumber:f,pagination:x,zoomController:I,curItems:E,footerDivider:p})):o:t.createElement("div",{className:`${i}`,style:e.style},d,t.createElement("div",{style:{flex:1}}),g,f,x,y&&r.length>0&&t.createElement(t.Fragment,null,p,E),p,I)},O=e=>({totalPage:k(e.annotation),imgIndex:e.annotation.imgIndex,stepList:e.annotation.stepList,step:e.annotation.step,basicIndex:e.annotation.basicIndex,basicResultList:e.annotation.basicResultList});var Q=H(O)(M);export{A as PageInput,Q as default,i as footerCls};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/views/MainView/toolFooter/index.tsx"],"sourcesContent":["import { prefix } from '@/constant';\nimport { AppState } from '@/store';\nimport { PageBackward, PageForward, PageJump } from '@/store/annotation/actionCreators';\nimport { getTotalPage } from '@/store/annotation/reducer';\nimport { Footer } from '@/types/main';\nimport { IStepInfo } from '@/types/step';\nimport {
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/views/MainView/toolFooter/index.tsx"],"sourcesContent":["import { prefix } from '@/constant';\nimport { AppState } from '@/store';\nimport { PageBackward, PageForward, PageJump } from '@/store/annotation/actionCreators';\nimport { getTotalPage } from '@/store/annotation/reducer';\nimport { Footer } from '@/types/main';\nimport { IStepInfo } from '@/types/step';\nimport { Divider, Input } from 'antd/es';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { connect, useDispatch } from 'react-redux';\nimport FooterTips from './FooterTips';\nimport HiddenTips from './HiddenTips';\nimport PageNumber from './PageNumber';\nimport ZoomController from './ZoomController';\nimport { Pagination } from './Pagination';\n\ninterface IPageProps {\n jumpSkip: Function;\n imgIndex: number;\n}\n\nexport const PageInput = (props: IPageProps) => {\n const { jumpSkip, imgIndex } = props;\n const [newIndex, setIndex] = useState(imgIndex);\n const inputEl = useRef(null);\n\n useEffect(() => {\n setIndex(imgIndex + 1);\n }, [imgIndex]);\n\n const newHandleJump = (e: any) => {\n const reg = /^\\d*$/;\n if (reg.test(e.target.value)) {\n setIndex(e.target.value);\n }\n };\n\n const newJumpSkip = (e: any) => {\n if (e.keyCode === 13) {\n jumpSkip(e.target.value);\n // inputEl?.current?.blur();\n }\n };\n\n return (\n <Input\n className='pageInput'\n ref={inputEl}\n onChange={newHandleJump}\n value={newIndex}\n onKeyDown={newJumpSkip}\n />\n );\n};\n\ninterface IProps {\n totalPage: number;\n imgIndex: number;\n style?: { [key: string]: any };\n stepList: IStepInfo[];\n step: number;\n basicResultList: any[];\n basicIndex: number;\n mode?: 'light' | 'dark'; // 后面通过 context 的形式进行编写\n footer?: Footer;\n}\n\nexport const footerCls = `${prefix}-footer`;\n\nconst FooterDivider = () => (\n <Divider type='vertical' style={{ background: 'rgba(153, 153, 153, 1)', height: '16px' }} />\n);\n\nconst ToolFooter: React.FC<IProps> = (props: IProps) => {\n const { stepList, step, basicResultList, basicIndex, mode, footer } = props;\n const dispatch = useDispatch();\n\n const { t } = useTranslation();\n\n const stepInfo = stepList[step - 1] ?? {};\n\n const pageBackward = () => {\n dispatch(PageBackward());\n };\n\n const pageForward = () => {\n dispatch(PageForward());\n };\n\n const pageJump = (page: string) => {\n const imgIndex = ~~page - 1;\n dispatch(PageJump(imgIndex));\n };\n\n const hasSourceStep = !!stepInfo.dataSourceStep;\n\n const footerTips = <FooterTips />;\n\n const hiddenTips = <HiddenTips />;\n\n const pageNumber = <PageNumber />;\n\n const pagination = (\n <Pagination\n imgIndex={props.imgIndex}\n totalPage={props.totalPage}\n pageJump={pageJump}\n pageBackward={pageBackward}\n pageForward={pageForward}\n footerCls={footerCls}\n />\n );\n\n const zoomController = <ZoomController mode={mode} />;\n\n const curItems = (\n <span>{t('curItems', { current: basicIndex + 1, total: basicResultList.length })}</span>\n );\n\n const footerDivider = <FooterDivider />;\n\n if (footer) {\n if (typeof footer === 'function') {\n return (\n <div className={`${footerCls}`} style={props.style}>\n {footer({\n footerTips,\n hiddenTips,\n pageNumber,\n pagination,\n zoomController,\n curItems,\n footerDivider,\n })}\n </div>\n );\n } else {\n return footer;\n }\n }\n\n return (\n <div className={`${footerCls}`} style={props.style}>\n {footerTips}\n <div style={{ flex: 1 }} />\n {hiddenTips}\n {pageNumber}\n {pagination}\n {hasSourceStep && basicResultList.length > 0 && (\n <>\n {footerDivider}\n {curItems}\n </>\n )}\n {footerDivider}\n {zoomController}\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => ({\n totalPage: getTotalPage(state.annotation),\n imgIndex: state.annotation.imgIndex,\n stepList: state.annotation.stepList,\n step: state.annotation.step,\n basicIndex: state.annotation.basicIndex,\n basicResultList: state.annotation.basicResultList,\n});\n\nexport default connect(mapStateToProps)(ToolFooter);\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import i,{useState as y,useCallback as v}from"react";import{useDispatch as j,useSelector as x}from"react-redux";import h from"../../../../assets/annotation/common/icon_r.svg.js";import k from"../../../../assets/annotation/common/icon_next.svg.js";import _ from"../../../../assets/annotation/common/icon_back.svg.js";import b from"../../../../assets/annotation/common/icon_rA.svg.js";import E from"../../../../assets/annotation/common/icon_nextA.svg.js";import H from"../../../../assets/annotation/common/icon_backA.svg.js";import $ from"../../../../assets/annotation/common/icon_save.svg.js";import A from"../../../../assets/annotation/common/icon_saveA.svg.js";import{prefix as w}from"../../../../constant/index.js";import{EToolName as R}from"../../../../data/enums/ToolType.js";import{ChangeSave as z}from"../../../../store/annotation/actionCreators.js";import{useTranslation as C}from"react-i18next";import{cTool as V}from"@labelbee/lb-annotation";const{EVideoToolName:g}=V;var t;(function(s){s.Hover="#666fff",s.Normal="#cccccc"})(t||(t={}));const B=s=>{const[r,m]=y(""),{stepInfo:n}=s,u=j(),{annotation:{toolInstance:e,onSave:d}}=x(o=>({annotation:o.annotation,imgAttribute:o.imgAttribute})),{t:p}=C(),c=[R.Tag,g.VideoTagTool].includes(n==null?void 0:n.tool),l=[g.VideoTagTool].includes(n==null?void 0:n.tool),a=s.isBegin||c,S=()=>{n.dataSourceStep!==0&&n.dataSourceStep!==void 0||e==null||e.updateRotate()},f=v(()=>{e==null||e.undo()},[e]),N=v(()=>{e==null||e.redo()},[e]),T=[{toolName:"save",title:"Save",show:!!d,commonSvg:$,selectedSvg:A,click:()=>{u(z)},style:{fontSize:"12px",color:!a&&r==="save"?t.Hover:t.Normal}},{toolName:"revocation",title:"Undo",show:!0,commonSvg:_,selectedSvg:H,click:()=>{c||f()},style:{opacity:a===!0?.4:1,fontSize:"12px",color:!a&&r==="revocation"?t.Hover:t.Normal}},{toolName:"restore",title:"Redo",show:!0,commonSvg:k,selectedSvg:E,click:()=>{c||N()},style:{opacity:a===!0?.4:1,fontSize:"12px",color:!a&&r==="restore"?t.Hover:t.Normal}},{toolName:"rotate",title:"Rotate",show:!0,selectedSvg:b,commonSvg:h,click:()=>{l||S()},style:{opacity:l===!0?.4:1,fontSize:"12px",color:!a&&r==="rotate"?t.Hover:t.Normal}}];return i.createElement("div",{className:`${w}-header__hotKey`},T.map(o=>o.show&&i.createElement("div",{key:o.toolName,className:"item",onMouseEnter:()=>m(o.toolName),onMouseLeave:()=>m("")},i.createElement("a",{className:"item",onClick:o.click},i.createElement("img",{className:"singleTool",src:r===o.toolName?o.selectedSvg:o.commonSvg,style:o.style}),i.createElement("div",{style:o.style},p(o.title))))))};export{B as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolHeader/headerOption/index.tsx"],"sourcesContent":["import React, { useState, useCallback } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { AppState } from '@/store';\nimport rotateSvg from '@/assets/annotation/common/icon_r.svg';\nimport restoreSvg from '@/assets/annotation/common/icon_next.svg';\nimport revocationSvg from '@/assets/annotation/common/icon_back.svg';\nimport rotateHighlightSvg from '@/assets/annotation/common/icon_rA.svg';\nimport restoreHighlightSvg from '@/assets/annotation/common/icon_nextA.svg';\nimport revocationHighlightSvg from '@/assets/annotation/common/icon_backA.svg';\nimport saveSvg from '@/assets/annotation/common/icon_save.svg';\nimport saveLightSvg from '@/assets/annotation/common/icon_saveA.svg';\nimport { prefix } from '@/constant';\nimport { EToolName } from '@/data/enums/ToolType';\nimport { ChangeSave } from '@/store/annotation/actionCreators';\nimport { IStepInfo } from '@/types/step';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n isBegin?: boolean;\n stepInfo: IStepInfo;\n}\n\nenum EColor {\n Hover = '#666fff',\n Normal = '#cccccc',\n}\n\nconst HeaderOption: React.FC<IProps> = (props) => {\n const [toolHover, setToolHover] = useState('');\n const { stepInfo } = props;\n const dispatch = useDispatch();\n const {\n annotation: { toolInstance, onSave },\n } = useSelector((state: AppState) => ({\n annotation: state.annotation,\n imgAttribute: state.imgAttribute,\n }));\n const { t } = useTranslation();\n\n const
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/toolHeader/headerOption/index.tsx"],"sourcesContent":["import React, { useState, useCallback } from 'react';\nimport { useSelector, useDispatch } from 'react-redux';\nimport { AppState } from '@/store';\nimport rotateSvg from '@/assets/annotation/common/icon_r.svg';\nimport restoreSvg from '@/assets/annotation/common/icon_next.svg';\nimport revocationSvg from '@/assets/annotation/common/icon_back.svg';\nimport rotateHighlightSvg from '@/assets/annotation/common/icon_rA.svg';\nimport restoreHighlightSvg from '@/assets/annotation/common/icon_nextA.svg';\nimport revocationHighlightSvg from '@/assets/annotation/common/icon_backA.svg';\nimport saveSvg from '@/assets/annotation/common/icon_save.svg';\nimport saveLightSvg from '@/assets/annotation/common/icon_saveA.svg';\nimport { prefix } from '@/constant';\nimport { EToolName } from '@/data/enums/ToolType';\nimport { ChangeSave } from '@/store/annotation/actionCreators';\nimport { IStepInfo } from '@/types/step';\nimport { useTranslation } from 'react-i18next';\nimport { cTool } from '@labelbee/lb-annotation';\nconst { EVideoToolName } = cTool;\n\ninterface IProps {\n isBegin?: boolean;\n stepInfo: IStepInfo;\n}\n\nenum EColor {\n Hover = '#666fff',\n Normal = '#cccccc',\n}\n\nconst HeaderOption: React.FC<IProps> = (props) => {\n const [toolHover, setToolHover] = useState('');\n const { stepInfo } = props;\n const dispatch = useDispatch();\n const {\n annotation: { toolInstance, onSave },\n } = useSelector((state: AppState) => ({\n annotation: state.annotation,\n imgAttribute: state.imgAttribute,\n }));\n const { t } = useTranslation();\n\n const isTagTool = [EToolName.Tag, EVideoToolName.VideoTagTool].includes(stepInfo?.tool as any);\n const isVideo = [EVideoToolName.VideoTagTool].includes(stepInfo?.tool as any);\n\n const isBegin = props.isBegin || isTagTool;\n\n const updateRotate = () => {\n /**\n * 1. 非第一步无法旋转\n * 2. 单步骤不存在 dataSourceStep\n */\n if (stepInfo.dataSourceStep !== 0 && stepInfo.dataSourceStep !== undefined) {\n return;\n }\n\n toolInstance?.updateRotate();\n };\n\n const revocation = useCallback(() => {\n toolInstance?.undo();\n }, [toolInstance]);\n\n const restore = useCallback(() => {\n toolInstance?.redo();\n }, [toolInstance]);\n\n const commonOptionList: any = [\n {\n toolName: 'save',\n title: 'Save',\n show: !!onSave,\n commonSvg: saveSvg,\n selectedSvg: saveLightSvg,\n click: () => {\n dispatch(ChangeSave);\n },\n style: {\n fontSize: '12px',\n color: !isBegin && toolHover === 'save' ? EColor.Hover : EColor.Normal,\n },\n },\n {\n toolName: 'revocation',\n title: 'Undo',\n show: true,\n commonSvg: revocationSvg,\n selectedSvg: revocationHighlightSvg,\n click: () => {\n if (isTagTool) {\n return;\n }\n\n revocation();\n },\n style: {\n opacity: isBegin === true ? 0.4 : 1,\n fontSize: '12px',\n color: !isBegin && toolHover === 'revocation' ? EColor.Hover : EColor.Normal,\n },\n },\n {\n toolName: 'restore',\n title: 'Redo',\n show: true,\n commonSvg: restoreSvg,\n selectedSvg: restoreHighlightSvg,\n click: () => {\n if (isTagTool) {\n return;\n }\n\n restore();\n },\n style: {\n opacity: isBegin === true ? 0.4 : 1,\n fontSize: '12px',\n color: !isBegin && toolHover === 'restore' ? EColor.Hover : EColor.Normal,\n },\n },\n {\n toolName: 'rotate',\n title: 'Rotate',\n show: true,\n selectedSvg: rotateHighlightSvg,\n commonSvg: rotateSvg,\n click: () => {\n if (isVideo) {\n // VideoTool don't need to rotate\n return;\n }\n\n updateRotate();\n },\n style: {\n opacity: isVideo === true ? 0.4 : 1,\n fontSize: '12px',\n color: !isBegin && toolHover === 'rotate' ? EColor.Hover : EColor.Normal,\n },\n },\n ];\n\n return (\n <div className={`${prefix}-header__hotKey`}>\n {commonOptionList.map((info: any) => {\n return (\n info.show && (\n <div\n key={info.toolName}\n className='item'\n onMouseEnter={() => setToolHover(info.toolName)}\n onMouseLeave={() => setToolHover('')}\n >\n <a className='item' onClick={info.click}>\n <img\n className='singleTool'\n src={toolHover === info.toolName ? info.selectedSvg : info.commonSvg}\n style={info.style}\n />\n <div style={info.style}>{t(info.title)}</div>\n </a>\n </div>\n )\n );\n })}\n </div>\n );\n};\n\nexport default HeaderOption;\n"],"names":["saveSvg","saveLightSvg","revocationSvg","revocationHighlightSvg","restoreSvg","restoreHighlightSvg","rotateHighlightSvg","rotateSvg"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{prefix as n,ESubmitType as
|
|
1
|
+
import{prefix as n,ESubmitType as O}from"../../../constant/index.js";import z from"../../../hooks/useSize.js";import{ToSubmitFileData as F,ToNextStep as S,loadImgList as H}from"../../../store/annotation/actionCreators.js";import{LeftOutlined as P}from"@ant-design/icons";import{i18n as $}from"@labelbee/lb-utils";import{Tooltip as R,Button as I}from"antd/es";import L from"classnames";import{last as A}from"lodash";import e,{useReducer as B,useRef as Q}from"react";import{useTranslation as T}from"react-i18next";import{connect as U,useDispatch as W}from"react-redux";import{store as q}from"../../../index.js";import G from"./ExportData/index.js";import J from"./headerOption/index.js";import K from"./StepSwitch/index.js";const b=({disabled:t,imgList:r})=>{const{t:o}=T(),i=()=>{const{dispatch:a,getState:s}=q;r[0]?a(S(0)):H(a,s,0).then(c=>{c&&a(S(0))})};return e.createElement(I,{type:"primary",style:{marginLeft:10},onClick:i,disabled:t},o("NextStep"))},M=({step:t,stepProgress:r,stepList:o,imgList:i})=>{var a;const{t:s}=T(),c=(a=A(o))==null?void 0:a.step;if(o.length<2||t===c)return null;const l=r<1;return l?e.createElement(R,{title:s("StepNotFinishedNotify")},e.createElement("span",null,e.createElement(b,{disabled:l,imgList:i}))):e.createElement(b,{disabled:l,imgList:i})},V=({goBack:t,exportData:r,header:o,headerName:i,imgList:a,stepProgress:s,stepInfo:c,stepList:l,step:j,annotationEngine:d})=>{var u;const y=W(),[,w]=B(m=>m+1,0),p=Q(null),f=z(p),C=e.createElement(G,{exportData:r}),k=()=>{y(F(O.Quit)),t&&t(a)},N=m=>{$.changeLanguage(m),d==null||d.setLang(m),w()},E=$.language,D=(u=f==null?void 0:f.width)!=null?u:window.innerWidth,h=e.createElement(P,{className:`${n}-header__icon`,onClick:k}),g=i?e.createElement("span",{className:`${n}-header__name`},i):"",v=l.length>1&&e.createElement(e.Fragment,null,e.createElement(K,{stepProgress:s}),e.createElement(M,{step:j,stepProgress:s,stepList:l,imgList:a})),_=e.createElement(J,{stepInfo:c}),x=e.createElement("div",{className:`${n}-header__lang`},e.createElement("span",{className:`${n}-langCN ${E==="cn"?"active":""}`,onClick:()=>N("cn")},"\u4E2D\u6587")," / ",e.createElement("span",{className:`${n}-langEN ${E==="en"?"active":""}`,onClick:()=>N("en")},"En"));return o?typeof o=="function"?e.createElement("div",{className:L(`${n}-header`),ref:p},e.createElement("div",{className:`${n}-header__title`},o({backNode:h,headerNameNode:g,stepListNode:v,headerOptionNode:_,langNode:x}))):o:e.createElement("div",{className:L(`${n}-header`),ref:p},e.createElement("div",{className:`${n}-header__title`},h,g,v,C,e.createElement("div",{id:"operationNode",className:`${n}-header__operationNode`,style:{left:D/2-174/2}},_),e.createElement("div",{className:`${n}-header__titlePlacement`}),x))},X=t=>{var r;return{imgList:t.annotation.imgList,annotationEngine:t.annotation.annotationEngine,stepProgress:t.annotation.stepProgress,toolName:(r=t.annotation.stepList[t.annotation.step-1])==null?void 0:r.tool,stepList:t.annotation.stepList,stepInfo:t.annotation.stepList[t.annotation.step-1],step:t.annotation.step}};var Y=U(X)(V);export{Y as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/views/MainView/toolHeader/index.tsx"],"sourcesContent":["import { ESubmitType, prefix } from '@/constant';\nimport { EToolName } from '@/data/enums/ToolType';\nimport useSize from '@/hooks/useSize';\nimport { AppState } from '@/store';\nimport { ToNextStep, ToSubmitFileData } from '@/store/annotation/actionCreators';\nimport { IFileItem } from '@/types/data';\nimport { Header } from '@/types/main';\nimport { IStepInfo } from '@/types/step';\nimport { LeftOutlined } from '@ant-design/icons';\nimport { AnnotationEngine } from '@labelbee/lb-annotation';\nimport { i18n } from '@labelbee/lb-utils';\nimport { Button, Tooltip } from 'antd/es';\nimport classNames from 'classnames';\nimport { last } from 'lodash';\nimport React, { useReducer, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { connect, useDispatch } from 'react-redux';\nimport { store } from 'src';\nimport ExportData from './ExportData';\nimport HeaderOption from './headerOption';\nimport StepSwitch from './StepSwitch';\n\ninterface INextStep {\n stepProgress: number;\n stepList: IStepInfo[];\n step: number; // 当前步骤\n}\n\nconst NextButton: React.FC<{ disabled: boolean }> = ({ disabled }) => {\n const { t } = useTranslation();\n return (\n <Button\n type='primary'\n style={{\n marginLeft: 10,\n }}\n onClick={() => {\n store.dispatch(ToNextStep(0) as any);\n }}\n disabled={disabled}\n >\n {t('NextStep')}\n </Button>\n );\n};\n\nconst NextStep: React.FC<INextStep> = ({ step, stepProgress, stepList }) => {\n const { t } = useTranslation();\n // 最后一步不显示下一步按钮\n const lastStep = last(stepList)?.step;\n\n if (stepList.length < 2 || step === lastStep) {\n return null;\n }\n\n const disabled = stepProgress < 1;\n\n if (disabled) {\n return (\n <Tooltip title={t('StepNotFinishedNotify')}>\n <span>\n <NextButton disabled={disabled} />\n </span>\n </Tooltip>\n );\n }\n\n return <NextButton disabled={disabled} />;\n};\n\ninterface IToolHeaderProps {\n goBack?: (imgList?: IFileItem[]) => void;\n exportData?: (data: any[]) => void;\n header?: Header;\n headerName?: string;\n imgList: IFileItem[];\n annotationEngine: AnnotationEngine;\n stepProgress: number;\n toolName: EToolName;\n stepInfo: IStepInfo;\n stepList: IStepInfo[];\n step: number;\n}\n\nconst ToolHeader: React.FC<IToolHeaderProps> = ({\n goBack,\n exportData,\n header,\n headerName,\n imgList,\n stepProgress,\n stepInfo,\n stepList,\n step,\n annotationEngine,\n}) => {\n const dispatch = useDispatch();\n const [, forceUpdate] = useReducer((x) => x + 1, 0);\n const ref = useRef(null);\n\n const size = useSize(ref);\n\n // render 数据展示\n const currentOption = <ExportData exportData={exportData} />;\n\n const closeAnnotation = () => {\n dispatch(ToSubmitFileData(ESubmitType.Quit));\n\n if (goBack) {\n goBack(imgList);\n }\n };\n\n const changeLanguage = (lang: 'en' | 'cn') => {\n i18n.changeLanguage(lang);\n annotationEngine.setLang(lang);\n forceUpdate();\n };\n\n const curLang = i18n.language;\n\n const width = size?.width ?? window.innerWidth;\n\n const backNode = <LeftOutlined className={`${prefix}-header__icon`} onClick={closeAnnotation} />;\n\n const headerNameNode = headerName ? (\n <span className={`${prefix}-header__name`}>{headerName}</span>\n ) : (\n ''\n );\n\n const stepListNode = stepList.length > 1 && (\n <>\n <StepSwitch stepProgress={stepProgress} />\n <NextStep step={step} stepProgress={stepProgress} stepList={stepList} />\n </>\n );\n\n const headerOptionNode = <HeaderOption stepInfo={stepInfo} />;\n\n const langNode = (\n <div className={`${prefix}-header__lang`}>\n <span\n className={`${prefix}-langCN ${curLang === 'cn' ? 'active' : ''}`}\n onClick={() => changeLanguage('cn')}\n >\n 中文\n </span>\n {` / `}\n <span\n className={`${prefix}-langEN ${curLang === 'en' ? 'active' : ''}`}\n onClick={() => changeLanguage('en')}\n >\n En\n </span>\n </div>\n );\n\n if (header) {\n if (typeof header === 'function') {\n return (\n <div className={classNames(`${prefix}-header`)} ref={ref}>\n <div className={`${prefix}-header__title`}>\n {header({\n backNode,\n headerNameNode,\n stepListNode,\n headerOptionNode,\n langNode,\n })}\n </div>\n </div>\n );\n } else {\n return header;\n }\n }\n\n return (\n <div className={classNames(`${prefix}-header`)} ref={ref}>\n <div className={`${prefix}-header__title`}>\n {backNode}\n {headerNameNode}\n {stepListNode}\n {currentOption}\n <div\n id='operationNode'\n className={`${prefix}-header__operationNode`}\n style={{ left: width / 2 - 174 / 2 }}\n >\n {headerOptionNode}\n </div>\n <div className={`${prefix}-header__titlePlacement`} />\n {langNode}\n </div>\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => ({\n imgList: state.annotation.imgList,\n annotationEngine: state.annotation.annotationEngine,\n stepProgress: state.annotation.stepProgress,\n toolName: state.annotation.stepList[state.annotation.step - 1]?.tool,\n stepList: state.annotation.stepList,\n stepInfo: state.annotation.stepList[state.annotation.step - 1],\n step: state.annotation.step,\n});\n\nexport default connect(mapStateToProps)(ToolHeader);\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/views/MainView/toolHeader/index.tsx"],"sourcesContent":["import { ESubmitType, prefix } from '@/constant';\nimport { EToolName } from '@/data/enums/ToolType';\nimport useSize from '@/hooks/useSize';\nimport { AppState } from '@/store';\nimport { loadImgList, ToNextStep, ToSubmitFileData } from '@/store/annotation/actionCreators';\nimport { IFileItem } from '@/types/data';\nimport { Header } from '@/types/main';\nimport { IStepInfo } from '@/types/step';\nimport { LeftOutlined } from '@ant-design/icons';\nimport { AnnotationEngine } from '@labelbee/lb-annotation';\nimport { i18n } from '@labelbee/lb-utils';\nimport { Button, Tooltip } from 'antd/es';\nimport classNames from 'classnames';\nimport { last } from 'lodash';\nimport React, { useReducer, useRef } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { connect, useDispatch } from 'react-redux';\nimport { store } from 'src';\nimport ExportData from './ExportData';\nimport HeaderOption from './headerOption';\nimport StepSwitch from './StepSwitch';\n\ninterface INextStep {\n stepProgress: number;\n stepList: IStepInfo[];\n step: number; // 当前步骤\n imgList: IFileItem[];\n}\n\nconst NextButton: React.FC<{ disabled: boolean; imgList: IFileItem[] }> = ({\n disabled,\n imgList,\n}) => {\n const { t } = useTranslation();\n\n const toNext = () => {\n const { dispatch, getState } = store;\n // 点击下一步跳转到第一页 第一页没有图片的话则需要先加载图片\n if (imgList[0]) {\n dispatch(ToNextStep(0) as any);\n } else {\n loadImgList(dispatch, getState, 0).then((isSuccess) => {\n if (isSuccess) {\n dispatch(ToNextStep(0) as any);\n }\n });\n }\n };\n\n return (\n <Button\n type='primary'\n style={{\n marginLeft: 10,\n }}\n onClick={toNext}\n disabled={disabled}\n >\n {t('NextStep')}\n </Button>\n );\n};\n\nconst NextStep: React.FC<INextStep> = ({ step, stepProgress, stepList, imgList }) => {\n const { t } = useTranslation();\n // 最后一步不显示下一步按钮\n const lastStep = last(stepList)?.step;\n\n if (stepList.length < 2 || step === lastStep) {\n return null;\n }\n\n const disabled = stepProgress < 1;\n\n if (disabled) {\n return (\n <Tooltip title={t('StepNotFinishedNotify')}>\n <span>\n <NextButton disabled={disabled} imgList={imgList} />\n </span>\n </Tooltip>\n );\n }\n\n return <NextButton disabled={disabled} imgList={imgList} />;\n};\n\ninterface IToolHeaderProps {\n goBack?: (imgList?: IFileItem[]) => void;\n exportData?: (data: any[]) => void;\n header?: Header;\n headerName?: string;\n imgList: IFileItem[];\n annotationEngine: AnnotationEngine;\n stepProgress: number;\n toolName: EToolName;\n stepInfo: IStepInfo;\n stepList: IStepInfo[];\n step: number;\n}\n\nconst ToolHeader: React.FC<IToolHeaderProps> = ({\n goBack,\n exportData,\n header,\n headerName,\n imgList,\n stepProgress,\n stepInfo,\n stepList,\n step,\n annotationEngine,\n}) => {\n const dispatch = useDispatch();\n const [, forceUpdate] = useReducer((x) => x + 1, 0);\n const ref = useRef(null);\n\n const size = useSize(ref);\n\n // render 数据展示\n const currentOption = <ExportData exportData={exportData} />;\n\n const closeAnnotation = () => {\n dispatch(ToSubmitFileData(ESubmitType.Quit));\n\n if (goBack) {\n goBack(imgList);\n }\n };\n\n const changeLanguage = (lang: 'en' | 'cn') => {\n i18n.changeLanguage(lang);\n annotationEngine?.setLang(lang);\n forceUpdate();\n };\n\n const curLang = i18n.language;\n\n const width = size?.width ?? window.innerWidth;\n\n const backNode = <LeftOutlined className={`${prefix}-header__icon`} onClick={closeAnnotation} />;\n\n const headerNameNode = headerName ? (\n <span className={`${prefix}-header__name`}>{headerName}</span>\n ) : (\n ''\n );\n\n const stepListNode = stepList.length > 1 && (\n <>\n <StepSwitch stepProgress={stepProgress} />\n <NextStep step={step} stepProgress={stepProgress} stepList={stepList} imgList={imgList} />\n </>\n );\n\n const headerOptionNode = <HeaderOption stepInfo={stepInfo} />;\n\n const langNode = (\n <div className={`${prefix}-header__lang`}>\n <span\n className={`${prefix}-langCN ${curLang === 'cn' ? 'active' : ''}`}\n onClick={() => changeLanguage('cn')}\n >\n 中文\n </span>\n {` / `}\n <span\n className={`${prefix}-langEN ${curLang === 'en' ? 'active' : ''}`}\n onClick={() => changeLanguage('en')}\n >\n En\n </span>\n </div>\n );\n\n if (header) {\n if (typeof header === 'function') {\n return (\n <div className={classNames(`${prefix}-header`)} ref={ref}>\n <div className={`${prefix}-header__title`}>\n {header({\n backNode,\n headerNameNode,\n stepListNode,\n headerOptionNode,\n langNode,\n })}\n </div>\n </div>\n );\n } else {\n return header;\n }\n }\n\n return (\n <div className={classNames(`${prefix}-header`)} ref={ref}>\n <div className={`${prefix}-header__title`}>\n {backNode}\n {headerNameNode}\n {stepListNode}\n {currentOption}\n <div\n id='operationNode'\n className={`${prefix}-header__operationNode`}\n style={{ left: width / 2 - 174 / 2 }}\n >\n {headerOptionNode}\n </div>\n <div className={`${prefix}-header__titlePlacement`} />\n {langNode}\n </div>\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => ({\n imgList: state.annotation.imgList,\n annotationEngine: state.annotation.annotationEngine,\n stepProgress: state.annotation.stepProgress,\n toolName: state.annotation.stepList[state.annotation.step - 1]?.tool,\n stepList: state.annotation.stepList,\n stepInfo: state.annotation.stepList[state.annotation.step - 1],\n step: state.annotation.step,\n});\n\nexport default connect(mapStateToProps)(ToolHeader);\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@labelbee/lb-components",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "Provide a complete library of annotation components",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"es": "./es/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"dev": "npm run build && cross-env NODE_ENV=developemnt rollup -m -c rollup.config.js -w",
|
|
15
15
|
"start": "npm run dev",
|
|
16
|
-
"dev:style": "dart-sass src/index.scss dist/index.css
|
|
16
|
+
"dev:style": "dart-sass --watch src/index.scss dist/index.css ",
|
|
17
17
|
"build:style": "dart-sass src/index.scss dist/index.css && cp -R ./src/assets/cssIcon/. ./dist/assets/cssIcon && cp -R ./src/assets/cssIcon/. ./es/assets/cssIcon",
|
|
18
18
|
"build": "rm -fr dist && cross-env NODE_ENV=production rollup -c rollup.config.js && npm run build:style && npm run build:type",
|
|
19
19
|
"build:type": "tsc --emitDeclarationOnly",
|
|
@@ -43,8 +43,9 @@
|
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
45
|
"@ant-design/icons": "^4.6.2",
|
|
46
|
-
"@labelbee/lb-annotation": "^1.
|
|
47
|
-
"@labelbee/lb-utils": "^1.0
|
|
46
|
+
"@labelbee/lb-annotation": "^1.8.0",
|
|
47
|
+
"@labelbee/lb-utils": "^1.2.0",
|
|
48
|
+
"ahooks": "^3.4.0",
|
|
48
49
|
"classnames": "^2.3.0",
|
|
49
50
|
"lodash": "^4.17.21",
|
|
50
51
|
"react-i18next": "^11.12.0",
|
|
@@ -94,5 +95,6 @@
|
|
|
94
95
|
"commitizen": {
|
|
95
96
|
"path": "node_modules/cz-conventional-changelog"
|
|
96
97
|
}
|
|
97
|
-
}
|
|
98
|
+
},
|
|
99
|
+
"gitHead": "ae9450289598ba414b15a4ccad4a5a3474aa4603"
|
|
98
100
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var icons=require("@ant-design/icons"),es=require("antd/es"),React=require("react");function _interopDefaultLegacy(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var React__default=_interopDefaultLegacy(React);const ImageError=e=>{const{width:a,height:l,reloadImage:r,hideSetInvalidTips:i,ignoreOffsetY:o,backgroundColor:n,fileTypeName:u="\u56FE\u7247"}=e,s=o?0:40,t=e.layerStyle||{position:"absolute",left:0,top:s,cursor:"initial",zIndex:20,fontSize:12};a&&l?Object.assign(t,{width:a,height:l}):Object.assign(t,{bottom:0,right:0}),n&&Object.assign(t,{backgroundColor:n});const c={position:"absolute",top:"30%",left:"50%",transform:"translate(-50%, -50%)"};return React__default.default.createElement("div",{style:t},React__default.default.createElement("div",{style:c},React__default.default.createElement("div",{style:{textAlign:"center",marginBottom:10}},React__default.default.createElement(es.Button,{type:"primary",shape:"circle",icon:React__default.default.createElement(icons.ReloadOutlined,null),onClick:r})),React__default.default.createElement("div",null,`${u}\u52A0\u8F7D\u5931\u8D25, \u8BF7\u91CD\u65B0\u52A0\u8F7D${i?"":` \u6216 \u5C06${u}\u6807\u4E3A\u65E0\u6548`}`)))};module.exports=ImageError;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var H="data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M17 5H15.4286V3H17V5ZM13.8571 5H12.2857V3H13.8571V5ZM10.7143 5H9.14286V3H10.7143V5ZM7.57143 5H6V3H7.57143V5Z' fill='%23999FFF'/%3e%3cpath d='M17 17H15V15H17V17ZM17 13H15V11H17V13ZM17 9H15V7H17V9ZM17 5H15V3H17V5Z' fill='%23999FFF'/%3e%3cpath d='M17 17H15.4286V15H17V17ZM13.8571 17H12.2857V15H13.8571V17ZM10.7143 17H9.14286V15H10.7143V17ZM7.57143 17H6V15H7.57143V17Z' fill='%23999FFF'/%3e%3cpath d='M5 6H3V15H5V6Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M6 2H2V6H3V14H2V18H6V14H5V6H6V2Z' fill='%23666FFF'/%3e%3c/svg%3e";export{H as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon_rectangle_a.svg.js","sources":["../../../../src/assets/annotation/polygonTool/icon_rectangle_a.svg"],"sourcesContent":["var img = \"data:image/svg+xml,%3csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M17 5H15.4286V3H17V5ZM13.8571 5H12.2857V3H13.8571V5ZM10.7143 5H9.14286V3H10.7143V5ZM7.57143 5H6V3H7.57143V5Z' fill='%23999FFF'/%3e%3cpath d='M17 17H15V15H17V17ZM17 13H15V11H17V13ZM17 9H15V7H17V9ZM17 5H15V3H17V5Z' fill='%23999FFF'/%3e%3cpath d='M17 17H15.4286V15H17V17ZM13.8571 17H12.2857V15H13.8571V17ZM10.7143 17H9.14286V15H10.7143V17ZM7.57143 17H6V15H7.57143V17Z' fill='%23999FFF'/%3e%3cpath d='M5 6H3V15H5V6Z' fill='white'/%3e%3cpath fill-rule='evenodd' clip-rule='evenodd' d='M6 2H2V6H3V14H2V18H6V14H5V6H6V2Z' fill='%23666FFF'/%3e%3c/svg%3e\";\n export default img;"],"names":[],"mappings":"AAAG,IAAC,GAAG,GAAG;;;;"}
|