@labelbee/lb-components 1.4.0 → 1.5.0-alpha.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.
Files changed (151) hide show
  1. package/dist/App.js +1 -1
  2. package/dist/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +1 -0
  3. package/dist/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -0
  4. package/dist/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -0
  5. package/dist/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -0
  6. package/dist/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -0
  7. package/dist/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -0
  8. package/dist/assets/annotation/video/icon_keyboard_h.svg.js +1 -0
  9. package/dist/components/fileException/FileError.js +1 -0
  10. package/dist/components/fileException/FileInvalid.js +1 -0
  11. package/dist/components/fileException/index.js +1 -0
  12. package/dist/components/videoAnnotate/index.js +1 -0
  13. package/dist/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
  14. package/dist/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +1 -0
  15. package/dist/components/videoPlayer/VideoTagLayer.js +1 -0
  16. package/dist/components/videoPlayer/components/controller/index.js +1 -0
  17. package/dist/components/videoPlayer/index.js +1 -0
  18. package/dist/components/videoPlayer/utils.js +1 -0
  19. package/dist/index.css +122 -0
  20. package/dist/index.css.map +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/store/Actions.js +1 -1
  23. package/dist/store/annotation/actionCreators.js +1 -1
  24. package/dist/store/annotation/reducer.js +1 -1
  25. package/dist/types/App.d.ts +6 -2
  26. package/dist/types/components/{ImageError/index.d.ts → fileException/FileError.d.ts} +5 -4
  27. package/dist/types/components/fileException/FileInvalid.d.ts +12 -0
  28. package/dist/types/components/fileException/index.d.ts +17 -0
  29. package/dist/types/components/videoAnnotate/index.d.ts +15 -0
  30. package/dist/types/components/videoPlayer/TagToolInstanceAdaptor.d.ts +90 -0
  31. package/dist/types/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.d.ts +8 -0
  32. package/dist/types/components/videoPlayer/VideoTagLayer.d.ts +12 -0
  33. package/dist/types/components/videoPlayer/components/controller/index.d.ts +2 -0
  34. package/dist/types/components/videoPlayer/index.d.ts +73 -0
  35. package/dist/types/components/videoPlayer/types.d.ts +8 -0
  36. package/dist/types/components/videoPlayer/utils.d.ts +36 -0
  37. package/dist/types/index.d.ts +2 -1
  38. package/dist/types/store/Actions.d.ts +5 -0
  39. package/dist/types/store/annotation/actionCreators.d.ts +20 -8
  40. package/dist/types/store/annotation/reducer.d.ts +1 -1
  41. package/dist/types/store/annotation/types.d.ts +30 -2
  42. package/dist/types/utils/PageOperator.d.ts +1 -1
  43. package/dist/types/utils/StepUtils.d.ts +7 -0
  44. package/dist/types/utils/TextUtils.d.ts +1 -1
  45. package/dist/types/utils/dom.d.ts +6 -0
  46. package/dist/types/views/MainView/index.d.ts +2 -1
  47. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.d.ts +23 -0
  48. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/index.d.ts +2 -7
  49. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.d.ts +7 -1
  50. package/dist/types/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.d.ts +3 -0
  51. package/dist/types/views/MainView/toolFooter/Pagination.d.ts +12 -0
  52. package/dist/utils/StepUtils.js +1 -1
  53. package/dist/utils/TextUtils.js +1 -1
  54. package/dist/utils/dom.js +1 -1
  55. package/dist/views/MainView/annotationOperation/index.js +1 -1
  56. package/dist/views/MainView/index.js +1 -1
  57. package/dist/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  58. package/dist/views/MainView/sidebar/TagSidebar/index.js +1 -1
  59. package/dist/views/MainView/sidebar/index.js +1 -1
  60. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +1 -1
  61. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  62. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
  63. package/dist/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +1 -0
  64. package/dist/views/MainView/toolFooter/FooterTips/index.js +1 -1
  65. package/dist/views/MainView/toolFooter/Pagination.js +1 -0
  66. package/dist/views/MainView/toolFooter/index.js +1 -1
  67. package/dist/views/MainView/toolHeader/headerOption/index.js +1 -1
  68. package/dist/views/MainView/toolHeader/index.js +1 -1
  69. package/es/App.js +1 -1
  70. package/es/App.js.map +1 -1
  71. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js +1 -0
  72. package/es/assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js.map +1 -0
  73. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js +1 -0
  74. package/es/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js.map +1 -0
  75. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js +1 -0
  76. package/es/assets/annotation/toolHotKeyIcon/icon_playPause.svg.js.map +1 -0
  77. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js +1 -0
  78. package/es/assets/annotation/toolHotKeyIcon/icon_polygonMerge_kj.svg.js.map +1 -0
  79. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js +1 -0
  80. package/es/assets/annotation/toolHotKeyIcon/icon_segment.svg.js.map +1 -0
  81. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js +1 -0
  82. package/es/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js.map +1 -0
  83. package/es/assets/annotation/video/icon_keyboard_h.svg.js +1 -0
  84. package/es/assets/annotation/video/icon_keyboard_h.svg.js.map +1 -0
  85. package/es/components/ImageError/index.js +53 -1
  86. package/es/components/fileException/FileError.js +1 -0
  87. package/es/components/fileException/FileError.js.map +1 -0
  88. package/es/components/fileException/FileInvalid.js +1 -0
  89. package/es/components/fileException/FileInvalid.js.map +1 -0
  90. package/es/components/fileException/index.js +1 -0
  91. package/es/components/fileException/index.js.map +1 -0
  92. package/es/components/videoAnnotate/index.js +1 -0
  93. package/es/components/videoAnnotate/index.js.map +1 -0
  94. package/es/components/videoPlayer/TagToolInstanceAdaptor.js +1 -0
  95. package/es/components/videoPlayer/TagToolInstanceAdaptor.js.map +1 -0
  96. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js +1 -0
  97. package/es/components/videoPlayer/TagToolInstanceAdaptorI18nProvider.js.map +1 -0
  98. package/es/components/videoPlayer/VideoTagLayer.js +1 -0
  99. package/es/components/videoPlayer/VideoTagLayer.js.map +1 -0
  100. package/es/components/videoPlayer/components/controller/index.js +1 -0
  101. package/es/components/videoPlayer/components/controller/index.js.map +1 -0
  102. package/es/components/videoPlayer/index.js +1 -0
  103. package/es/components/videoPlayer/index.js.map +1 -0
  104. package/es/components/videoPlayer/utils.js +1 -0
  105. package/es/components/videoPlayer/utils.js.map +1 -0
  106. package/es/index.js +1 -1
  107. package/es/index.js.map +1 -1
  108. package/es/store/Actions.js +1 -1
  109. package/es/store/Actions.js.map +1 -1
  110. package/es/store/annotation/actionCreators.js +1 -1
  111. package/es/store/annotation/actionCreators.js.map +1 -1
  112. package/es/store/annotation/reducer.js +1 -1
  113. package/es/store/annotation/reducer.js.map +1 -1
  114. package/es/utils/StepUtils.js +1 -1
  115. package/es/utils/StepUtils.js.map +1 -1
  116. package/es/utils/TextUtils.js +1 -1
  117. package/es/utils/TextUtils.js.map +1 -1
  118. package/es/utils/dom.js +1 -1
  119. package/es/utils/dom.js.map +1 -1
  120. package/es/views/MainView/annotationOperation/index.js +1 -1
  121. package/es/views/MainView/annotationOperation/index.js.map +1 -1
  122. package/es/views/MainView/index.js +1 -1
  123. package/es/views/MainView/index.js.map +1 -1
  124. package/es/views/MainView/sidebar/GeneralOperation/index.js +1 -1
  125. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -1
  126. package/es/views/MainView/sidebar/TagSidebar/index.js +1 -1
  127. package/es/views/MainView/sidebar/TagSidebar/index.js.map +1 -1
  128. package/es/views/MainView/sidebar/index.js +1 -1
  129. package/es/views/MainView/sidebar/index.js.map +1 -1
  130. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js +1 -1
  131. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -1
  132. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js +1 -1
  133. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
  134. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js +1 -1
  135. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -1
  136. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js +1 -0
  137. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/videoTag/index.js.map +1 -0
  138. package/es/views/MainView/toolFooter/FooterTips/index.js +1 -1
  139. package/es/views/MainView/toolFooter/FooterTips/index.js.map +1 -1
  140. package/es/views/MainView/toolFooter/Pagination.js +1 -0
  141. package/es/views/MainView/toolFooter/Pagination.js.map +1 -0
  142. package/es/views/MainView/toolFooter/index.js +1 -1
  143. package/es/views/MainView/toolFooter/index.js.map +1 -1
  144. package/es/views/MainView/toolHeader/headerOption/index.js +1 -1
  145. package/es/views/MainView/toolHeader/headerOption/index.js.map +1 -1
  146. package/es/views/MainView/toolHeader/index.js +1 -1
  147. package/es/views/MainView/toolHeader/index.js.map +1 -1
  148. package/package.json +6 -5
  149. package/dist/components/ImageError/index.js +0 -1
  150. package/es/assets/annotation/polygonTool/icon_rectangle_a.svg.js +0 -1
  151. 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/sidebar/GeneralOperation/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Col, Popconfirm } from 'antd/es';\nimport clearResultSvg from '@/assets/annotation/common/icon_clear.svg';\nimport clearResultASvg from '@/assets/annotation/common/icon_clear_a.svg';\nimport copyBackStepSvg from '@/assets/annotation/common/icon_invalid.svg';\nimport copyBackStepASvg from '@/assets/annotation/common/icon_invalid_a.svg';\nimport { StopOutlined } from '@ant-design/icons';\nimport { store } from '@/index';\n\nimport { AppState } from '@/store';\nimport { connect } from 'react-redux';\nimport { ToolInstance } from '@/store/annotation/types';\nimport StepUtils from '@/utils/StepUtils';\nimport { IStepInfo } from '@/types/step';\nimport { jsonParser } from '@/utils';\nimport { AnnotationFileList } from '@/types/data';\nimport { CopyBackWordResult } from '@/store/annotation/actionCreators';\nimport { useTranslation } from 'react-i18next';\n\nconst makeSure = (info: string, key: string, t: any) => {\n return <div key={key}>{`${t('ConfirmTo')}${info.slice(0)}?`}</div>;\n};\n\nconst renderImg = (info: Element | string) => {\n if (typeof info === 'string') {\n return <img width={23} height={25} src={info} />;\n }\n return info;\n};\n\ninterface IProps {\n toolInstance: ToolInstance;\n stepInfo: IStepInfo;\n imgList: AnnotationFileList;\n imgIndex: number;\n}\n\nconst GenerationOperation: React.FC<IProps> = ({ toolInstance, stepInfo, imgList, imgIndex }) => {\n const [isHover, setHover] = useState<string | null>(null);\n const { t } = useTranslation();\n const allOperation = [\n {\n name: t('ClearLabel'),\n key: 'sureClear',\n imgSvg: clearResultSvg,\n hoverSvg: clearResultASvg,\n onClick: () => {\n toolInstance?.clearResult();\n },\n },\n ];\n\n const config = jsonParser(stepInfo?.config);\n if (stepInfo?.dataSourceStep === 0) {\n const iconStyle = {\n height: '25px',\n lineHeight: '25px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n };\n allOperation.push({\n name: t(toolInstance.valid === true ? 'SetAsInvalid' : 'SetAsValid'),\n key: 'sureQuestion',\n imgSvg: <StopOutlined style={iconStyle} />,\n hoverSvg: <StopOutlined style={{ color: '#666fff', ...iconStyle }} />,\n onClick: () => {\n toolInstance.setValid(!toolInstance.valid);\n },\n });\n }\n\n if (config?.copyBackwardResult) {\n allOperation.unshift({\n name: t('CopyThePrevious'),\n key: 'sureCopy',\n imgSvg: copyBackStepSvg,\n hoverSvg: copyBackStepASvg,\n onClick: () => {\n store.dispatch(CopyBackWordResult());\n },\n });\n }\n\n const annotationLength = Math.floor(24 / allOperation.length);\n\n return (\n <div className='generalOperation'>\n {allOperation.map((info, index) => (\n <Col span={annotationLength} key={index}>\n <div\n key={info.key}\n className='item'\n onMouseEnter={() => {\n setHover(info.key);\n }}\n onMouseLeave={() => {\n setHover(null);\n }}\n >\n <Popconfirm\n title={info.key.startsWith('sure') ? makeSure(info.name, info.key, t) : info.name}\n disabled={!info.key.startsWith('sure')}\n placement='topRight'\n okText={t('Confirm')}\n cancelText={t('Cancel')}\n onConfirm={info.onClick}\n >\n <div className='icon'>\n {renderImg(info.key === isHover ? info.hoverSvg : info.imgSvg)}\n </div>\n <div className='toolName' style={{ color: info.key === isHover ? '#666fff' : '' }}>\n {info.name}\n </div>\n </Popconfirm>\n </div>\n </Col>\n ))}\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n const stepInfo = StepUtils.getCurrentStepInfo(state.annotation?.step, state.annotation?.stepList);\n\n return {\n toolInstance: state.annotation.toolInstance,\n stepInfo,\n imgList: state.annotation.imgList,\n imgIndex: state.annotation.imgIndex,\n };\n};\n\nexport default connect(mapStateToProps)(GenerationOperation);\n"],"names":["clearResultSvg","clearResultASvg","copyBackStepSvg","copyBackStepASvg"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/GeneralOperation/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport { Col, Popconfirm } from 'antd/es';\nimport clearResultSvg from '@/assets/annotation/common/icon_clear.svg';\nimport clearResultASvg from '@/assets/annotation/common/icon_clear_a.svg';\nimport copyBackStepSvg from '@/assets/annotation/common/icon_invalid.svg';\nimport copyBackStepASvg from '@/assets/annotation/common/icon_invalid_a.svg';\nimport { StopOutlined } from '@ant-design/icons';\nimport { store } from '@/index';\n\nimport { AppState } from '@/store';\nimport { connect } from 'react-redux';\nimport { ToolInstance } from '@/store/annotation/types';\nimport StepUtils from '@/utils/StepUtils';\nimport { IStepInfo } from '@/types/step';\nimport { jsonParser } from '@/utils';\nimport { AnnotationFileList } from '@/types/data';\nimport { CopyBackWordResult } from '@/store/annotation/actionCreators';\nimport { useTranslation } from 'react-i18next';\n\nconst makeSure = (info: string, key: string, t: any) => {\n return <div key={key}>{`${t('ConfirmTo')}${info.slice(0)}?`}</div>;\n};\n\nconst renderImg = (info: Element | string) => {\n if (typeof info === 'string') {\n return <img width={23} height={25} src={info} />;\n }\n return info;\n};\n\ninterface IProps {\n toolInstance: ToolInstance;\n stepInfo: IStepInfo;\n imgList: AnnotationFileList;\n imgIndex: number;\n}\n\nconst GeneralOperation: React.FC<IProps> = ({ toolInstance, stepInfo }) => {\n const [isHover, setHover] = useState<string | null>(null);\n const { t } = useTranslation();\n const allOperation = [\n {\n name: t('ClearLabel'),\n key: 'sureClear',\n imgSvg: clearResultSvg,\n hoverSvg: clearResultASvg,\n onClick: () => {\n toolInstance?.clearResult();\n },\n },\n ];\n\n const config = jsonParser(stepInfo?.config);\n if (stepInfo?.dataSourceStep === 0) {\n const iconStyle = {\n height: '25px',\n lineHeight: '25px',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n };\n allOperation.push({\n name: t(toolInstance.valid === true ? 'SetAsInvalid' : 'SetAsValid'),\n key: 'sureQuestion',\n imgSvg: <StopOutlined style={iconStyle} />,\n hoverSvg: <StopOutlined style={{ color: '#666fff', ...iconStyle }} />,\n onClick: () => {\n toolInstance.setValid(!toolInstance.valid);\n },\n });\n }\n\n if (config?.copyBackwardResult) {\n allOperation.unshift({\n name: t('CopyThePrevious'),\n key: 'sureCopy',\n imgSvg: copyBackStepSvg,\n hoverSvg: copyBackStepASvg,\n onClick: () => {\n store.dispatch(CopyBackWordResult());\n },\n });\n }\n\n const annotationLength = Math.floor(24 / allOperation.length);\n\n return (\n <div className='generalOperation'>\n {allOperation.map((info, index) => (\n <Col span={annotationLength} key={index}>\n <div\n key={info.key}\n className='item'\n onMouseEnter={() => {\n setHover(info.key);\n }}\n onMouseLeave={() => {\n setHover(null);\n }}\n >\n <Popconfirm\n title={info.key.startsWith('sure') ? makeSure(info.name, info.key, t) : info.name}\n disabled={!info.key.startsWith('sure')}\n placement='topRight'\n okText={t('Confirm')}\n cancelText={t('Cancel')}\n onConfirm={info.onClick}\n >\n <div className='icon'>\n {renderImg(info.key === isHover ? info.hoverSvg : info.imgSvg)}\n </div>\n <div className='toolName' style={{ color: info.key === isHover ? '#666fff' : '' }}>\n {info.name}\n </div>\n </Popconfirm>\n </div>\n </Col>\n ))}\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n const stepInfo = StepUtils.getCurrentStepInfo(state.annotation?.step, state.annotation?.stepList);\n\n return {\n toolInstance: state.annotation.toolInstance,\n stepInfo,\n imgList: state.annotation.imgList,\n imgIndex: state.annotation.imgIndex,\n };\n};\n\nexport default connect(mapStateToProps)(GeneralOperation);\n"],"names":["clearResultSvg","clearResultASvg","copyBackStepSvg","copyBackStepASvg"],"mappings":"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"}
@@ -1 +1 @@
1
- import B from"../../../../components/attributeList/index.js";import M from"../../../../components/checkboxList/index.js";import{CaretRightOutlined as P}from"@ant-design/icons";import{Collapse as T,Tooltip as H,Badge as F}from"antd/es";import{cloneDeep as U}from"lodash";import n,{useState as p,useRef as q,useEffect as v,useCallback as z}from"react";import G from"../../../../assets/annotation/common/icon_clearSmall.svg.js";import J from"../../../../assets/annotation/common/icon_clearSmall_a.svg.js";import{TagUtils as Q}from"@labelbee/lb-annotation";import{connect as V}from"react-redux";import{useTranslation as W}from"react-i18next";const{Panel:X}=T,$=({isActive:a})=>n.createElement(P,{rotate:a?90:0}),Y=({toolInstance:a,imgIndex:N})=>{const[o,g]=p([]),i=q(null),[,j]=p(0),[w,f]=p(-1),{t:b}=W();v(()=>{a&&(g(a.config.inputList.map(e=>e.value)),a.singleOn("render",()=>{j(e=>e+1)}))},[a]),v(()=>{if(a&&(a.singleOn("expend",O),a.labelSelectedList.length===1)){let e=0;for(let l=0;l<a.labelSelectedList[0];l++)e+=46,s[l]&&o[l]!==""&&s[l].subSelected.forEach(r=>{e+=40});i.current&&(i.current.children[0].scrollTop=e)}}),v(()=>{i.current&&(i.current.children[0].scrollTop=0)},[N]);const O=()=>{var e;const l=a.labelSelectedList[0],r=(e=s.filter((t,m)=>m===l)[0])==null?void 0:e.value;h(l,r,!0)},h=z((e,l,r)=>{const t=U(o);t[e]===""||r===!0?t[e]=l:t[e]="",g(t)},[o]);if(!a)return null;const{labelSelectedList:c,config:{inputList:s},currentTagResult:u,setLabel:E}=a,A=e=>c.length>0&&c[0]===e?n.createElement("span",{className:"keyDownIconActive"},e+1):n.createElement("span",{className:"keyDownIcon"},e+1),y=(e,l=-1)=>e?e.map((r,t)=>{var m,L,k,_,C;if(r.subSelected){const R=Q.judgeResultIsInInputList(r.value,(m=u==null?void 0:u.result)==null?void 0:m[r.value],s);return n.createElement(T,{bordered:!1,expandIcon:$,key:`collapse_${t}_${l+1}`,onChange:()=>h(t,r.value),activeKey:[o[t]]},n.createElement(X,{header:n.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"}},n.createElement("span",null,r.key,n.createElement(H,{placement:"bottom",title:b("ClearThisOption")},n.createElement("img",{style:{marginLeft:5,cursor:"pointer"},onClick:K=>{K.stopPropagation(),a.clearResult(!0,r.value)},src:w===t||R?J:G,onMouseEnter:()=>{f(t)},onMouseLeave:()=>{f(-1)}})),R&&o[t]===""&&n.createElement(F,{color:"#87d068"})),(s==null?void 0:s.length)>1&&A(t)),key:r.value},n.createElement("div",{className:"level",style:{backgroundColor:c.length>0&&c[0]===t?"rgba(158, 158, 158, 0.18)":""}},y(r.subSelected,t))))}const d=(s==null?void 0:s[l])?s==null?void 0:s[l].value:0,S=((_=(k=(L=u==null?void 0:u.result)==null?void 0:L[d])==null?void 0:k.split(";"))==null?void 0:_.indexOf(r.value))>-1?r.value:"";return((C=s==null?void 0:s[l])==null?void 0:C.isMulti)===!0?n.createElement("div",{className:"singleBar",key:`${d}_${l}_${t}`},n.createElement(M,{attributeChanged:()=>E(l,t),selectedAttribute:[S],list:[{value:r.value,label:r.key}],num:t+1})):n.createElement("div",{className:"singleBar",key:`${d}_${l}_${t}`},n.createElement(B,{forbidColor:!0,attributeChanged:()=>E(l,t),selectedAttribute:S,list:[{value:r.value,label:r.key}],num:t+1}))}):null,D=window.innerHeight-61-80;return n.createElement("div",{className:"tagOperationMenu",ref:i},(s==null?void 0:s.length)===0?n.createElement("div",{style:{padding:20,textAlign:"center"}},b("NoConfiguration")):n.createElement("div",{className:"main",style:{height:D}},y(s)))};function Z(a){return{toolInstance:a.annotation.toolInstance,imgIndex:a.annotation.imgIndex}}var x=V(Z)(Y);export{x as default,$ as expandIconFuc};
1
+ import B from"../../../../components/attributeList/index.js";import M from"../../../../components/checkboxList/index.js";import{CaretRightOutlined as P}from"@ant-design/icons";import{Collapse as T,Tooltip as H,Badge as F}from"antd/es";import{cloneDeep as U}from"lodash";import n,{useState as p,useRef as q,useEffect as v,useCallback as z}from"react";import G from"../../../../assets/annotation/common/icon_clearSmall.svg.js";import J from"../../../../assets/annotation/common/icon_clearSmall_a.svg.js";import{TagUtils as Q}from"@labelbee/lb-annotation";import{connect as V}from"react-redux";import{useTranslation as W}from"react-i18next";const{Panel:X}=T,$=({isActive:a})=>n.createElement(P,{rotate:a?90:0}),Y=({toolInstance:a,imgIndex:N})=>{const[o,g]=p([]),i=q(null),[,j]=p(0),[w,f]=p(-1),{t:b}=W();v(()=>{a&&(g(a.config.inputList.map(e=>e.value)),a.singleOn("render",()=>{j(e=>e+1)}))},[a]),v(()=>{if(a&&(a.singleOn("expend",O),a.labelSelectedList.length===1)){let e=0;for(let l=0;l<a.labelSelectedList[0];l++)e+=46,s[l]&&o[l]!==""&&s[l].subSelected.forEach(r=>{e+=40});i.current&&(i.current.children[0].scrollTop=e)}}),v(()=>{i.current&&(i.current.children[0].scrollTop=0)},[N]);const O=()=>{var e;const l=a.labelSelectedList[0],r=(e=s.filter((t,m)=>m===l)[0])==null?void 0:e.value;h(l,r,!0)},h=z((e,l,r)=>{const t=U(o);t[e]===""||r===!0?t[e]=l:t[e]="",g(t)},[o]);if(!a)return null;const{labelSelectedList:c,config:{inputList:s},currentTagResult:u,setLabel:E}=a,A=e=>c.length>0&&c[0]===e?n.createElement("span",{className:"keyDownIconActive"},e+1):n.createElement("span",{className:"keyDownIcon"},e+1),y=(e,l=-1)=>e?e.map((r,t)=>{var m,L,k,_,C;if(r.subSelected){const R=Q.judgeResultIsInInputList(r.value,(m=u==null?void 0:u.result)==null?void 0:m[r.value],s);return n.createElement(T,{bordered:!1,expandIcon:$,key:`collapse_${t}_${l+1}`,onChange:()=>h(t,r.value),activeKey:[o[t]]},n.createElement(X,{header:n.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",flex:1}},n.createElement("span",null,r.key,n.createElement(H,{placement:"bottom",title:b("ClearThisOption")},n.createElement("img",{style:{marginLeft:5,cursor:"pointer"},onClick:K=>{K.stopPropagation(),a.clearResult(!0,r.value)},src:w===t||R?J:G,onMouseEnter:()=>{f(t)},onMouseLeave:()=>{f(-1)}})),R&&o[t]===""&&n.createElement(F,{color:"#87d068"})),(s==null?void 0:s.length)>1&&A(t)),key:r.value},n.createElement("div",{className:"level",style:{backgroundColor:c.length>0&&c[0]===t?"rgba(158, 158, 158, 0.18)":""}},y(r.subSelected,t))))}const d=(s==null?void 0:s[l])?s==null?void 0:s[l].value:0,S=((_=(k=(L=u==null?void 0:u.result)==null?void 0:L[d])==null?void 0:k.split(";"))==null?void 0:_.indexOf(r.value))>-1?r.value:"";return((C=s==null?void 0:s[l])==null?void 0:C.isMulti)===!0?n.createElement("div",{className:"singleBar",key:`${d}_${l}_${t}`},n.createElement(M,{attributeChanged:()=>E(l,t),selectedAttribute:[S],list:[{value:r.value,label:r.key}],num:t+1})):n.createElement("div",{className:"singleBar",key:`${d}_${l}_${t}`},n.createElement(B,{forbidColor:!0,attributeChanged:()=>E(l,t),selectedAttribute:S,list:[{value:r.value,label:r.key}],num:t+1}))}):null,D=window.innerHeight-61-80;return n.createElement("div",{className:"tagOperationMenu",ref:i},(s==null?void 0:s.length)===0?n.createElement("div",{style:{padding:20,textAlign:"center"}},b("NoConfiguration")):n.createElement("div",{className:"main",style:{height:D}},y(s)))};function Z(a){return{toolInstance:a.annotation.toolInstance,imgIndex:a.annotation.imgIndex}}var x=V(Z)(Y);export{x as default,$ as expandIconFuc};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/TagSidebar/index.tsx"],"sourcesContent":["import RadioList from '@/components/attributeList';\nimport CheckBoxList from '@/components/checkboxList';\nimport { CaretRightOutlined } from '@ant-design/icons';\nimport { Badge, Collapse, Tooltip } from 'antd/es';\nimport { cloneDeep } from 'lodash';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport clearSmall from '@/assets/annotation/common/icon_clearSmall.svg';\nimport clearSmallA from '@/assets/annotation/common/icon_clearSmall_a.svg';\nimport { TagOperation, TagUtils } from '@labelbee/lb-annotation';\nimport { connect } from 'react-redux';\nimport { AppState } from '@/store';\nimport { IInputList } from '@/types/main';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n imgIndex: number;\n toolInstance: TagOperation;\n}\n\nconst { Panel } = Collapse;\n\nexport const expandIconFuc = ({ isActive }: any) => (\n <CaretRightOutlined rotate={isActive ? 90 : 0} />\n);\n\nconst TagSidebar: React.FC<IProps> = ({ toolInstance, imgIndex }) => {\n const [expandKeyList, setExpandKeyList] = useState<string[]>([]);\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n const [, forceRender] = useState<number>(0);\n const [hoverDeleteIndex, setHoverDeleteIndex] = useState(-1);\n const { t } = useTranslation();\n\n useEffect(() => {\n if (toolInstance) {\n // 用于配置的初始化\n setExpandKeyList(toolInstance.config.inputList.map((v: IInputList) => v.value));\n\n // 进行实时渲染\n toolInstance.singleOn('render', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n useEffect(() => {\n if (toolInstance) {\n // 该写法会不断的重复绑定,后续写法上可以更改(如果将 singleOn 改为 on 会有很大问题)\n toolInstance.singleOn('expend', expendRender);\n\n if (toolInstance.labelSelectedList.length === 1) {\n let height = 0;\n for (let i = 0; i < toolInstance.labelSelectedList[0]; i++) {\n height += 46;\n inputList[i] &&\n expandKeyList[i] !== '' &&\n inputList[i].subSelected.forEach((i: any) => {\n height += 40;\n });\n }\n if (sidebarRef.current) {\n sidebarRef.current.children[0].scrollTop = height;\n }\n }\n }\n });\n\n useEffect(() => {\n // 翻页侧边栏跳到最上\n if (sidebarRef.current) {\n sidebarRef.current.children[0].scrollTop = 0;\n }\n }, [imgIndex]);\n\n const expendRender = () => {\n const index = toolInstance.labelSelectedList[0];\n const value = inputList.filter((v: IInputList, i: number) => i === index)[0]?.value;\n setExpendKeyList(index, value, true);\n };\n\n const setExpendKeyList = useCallback(\n (index: number, value: string, expend?: boolean) => {\n const newKeyList = cloneDeep(expandKeyList);\n if (newKeyList[index] === '' || expend === true) {\n newKeyList[index] = value;\n } else {\n newKeyList[index] = '';\n }\n setExpandKeyList(newKeyList);\n },\n [expandKeyList],\n );\n\n if (!toolInstance) return null;\n\n const {\n labelSelectedList,\n config: { inputList },\n currentTagResult,\n setLabel,\n } = toolInstance;\n\n const selectedButton = (index: number) => {\n if (labelSelectedList.length > 0 && labelSelectedList[0] === index) {\n return <span className='keyDownIconActive'>{index + 1}</span>;\n }\n return <span className='keyDownIcon'>{index + 1}</span>;\n };\n\n // basicIndex 到底是那一层\n const labelPanel = (labelInfoSet: IInputList[], basicIndex = -1) => {\n if (!labelInfoSet) {\n return null;\n }\n\n return labelInfoSet.map((info: IInputList, index: number) => {\n if (info.subSelected) {\n // 判断是否有数据\n const isResult = TagUtils.judgeResultIsInInputList(\n info.value,\n currentTagResult?.result?.[info.value],\n inputList,\n );\n\n return (\n <Collapse\n bordered={false}\n expandIcon={expandIconFuc}\n key={`collapse_${index}_${basicIndex + 1}`}\n onChange={() => setExpendKeyList(index, info.value)}\n activeKey={[expandKeyList[index]]}\n >\n <Panel\n header={\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n }}\n >\n <span>\n {info.key}\n <Tooltip placement='bottom' title={t('ClearThisOption')}>\n <img\n style={{ marginLeft: 5, cursor: 'pointer' }}\n onClick={(e) => {\n e.stopPropagation();\n toolInstance.clearResult(true, info.value);\n }}\n src={hoverDeleteIndex === index || isResult ? clearSmallA : clearSmall}\n onMouseEnter={() => {\n setHoverDeleteIndex(index);\n }}\n onMouseLeave={() => {\n setHoverDeleteIndex(-1);\n }}\n />\n </Tooltip>\n {isResult && expandKeyList[index] === '' && <Badge color='#87d068' />}\n </span>\n\n {inputList?.length > 1 && selectedButton(index)}\n </div>\n }\n key={info.value}\n >\n <div\n className='level'\n style={{\n backgroundColor:\n labelSelectedList.length > 0 && labelSelectedList[0] === index\n ? 'rgba(158, 158, 158, 0.18)'\n : '',\n }}\n >\n {labelPanel(info.subSelected, index)}\n </div>\n </Panel>\n </Collapse>\n );\n }\n const key = inputList?.[basicIndex] ? inputList?.[basicIndex].value : 0;\n const selectedAttribute =\n currentTagResult?.result?.[key]?.split(';')?.indexOf(info.value) > -1 ? info.value : '';\n\n if (inputList?.[basicIndex]?.isMulti === true) {\n return (\n <div className='singleBar' key={`${key}_${basicIndex}_${index}`}>\n <CheckBoxList\n attributeChanged={() => setLabel(basicIndex, index)}\n selectedAttribute={[selectedAttribute]}\n list={[{ value: info.value, label: info.key }]}\n num={index + 1}\n />\n </div>\n );\n }\n return (\n <div className='singleBar' key={`${key}_${basicIndex}_${index}`}>\n <RadioList\n forbidColor\n attributeChanged={() => setLabel(basicIndex, index)}\n selectedAttribute={selectedAttribute}\n list={[{ value: info.value, label: info.key }]}\n num={index + 1}\n />\n </div>\n );\n });\n };\n const height = window.innerHeight - 61 - 80;\n\n return (\n <div className='tagOperationMenu' ref={sidebarRef}>\n {inputList?.length === 0 ? (\n <div style={{ padding: 20, textAlign: 'center' }}>{t('NoConfiguration')}</div>\n ) : (\n <div className='main' style={{ height }}>\n {labelPanel(inputList)}\n </div>\n )}\n </div>\n );\n};\n\nfunction mapStateToProps(state: AppState) {\n return { toolInstance: state.annotation.toolInstance, imgIndex: state.annotation.imgIndex };\n}\n\nexport default connect(mapStateToProps)(TagSidebar);\n"],"names":["clearSmallA","clearSmall","CheckBoxList","RadioList"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/TagSidebar/index.tsx"],"sourcesContent":["import RadioList from '@/components/attributeList';\nimport CheckBoxList from '@/components/checkboxList';\nimport { CaretRightOutlined } from '@ant-design/icons';\nimport { Badge, Collapse, Tooltip } from 'antd/es';\nimport { cloneDeep } from 'lodash';\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport clearSmall from '@/assets/annotation/common/icon_clearSmall.svg';\nimport clearSmallA from '@/assets/annotation/common/icon_clearSmall_a.svg';\nimport { TagOperation, TagUtils } from '@labelbee/lb-annotation';\nimport { connect } from 'react-redux';\nimport { AppState } from '@/store';\nimport { IInputList } from '@/types/main';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n imgIndex: number;\n toolInstance: TagOperation;\n}\n\nconst { Panel } = Collapse;\n\nexport const expandIconFuc = ({ isActive }: any) => (\n <CaretRightOutlined rotate={isActive ? 90 : 0} />\n);\n\nconst TagSidebar: React.FC<IProps> = ({ toolInstance, imgIndex }) => {\n const [expandKeyList, setExpandKeyList] = useState<string[]>([]);\n\n const sidebarRef = useRef<HTMLDivElement>(null);\n const [, forceRender] = useState<number>(0);\n const [hoverDeleteIndex, setHoverDeleteIndex] = useState(-1);\n const { t } = useTranslation();\n\n useEffect(() => {\n if (toolInstance) {\n // 用于配置的初始化\n setExpandKeyList(toolInstance.config.inputList.map((v: IInputList) => v.value));\n\n // 进行实时渲染\n toolInstance.singleOn('render', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n useEffect(() => {\n if (toolInstance) {\n // 该写法会不断的重复绑定,后续写法上可以更改(如果将 singleOn 改为 on 会有很大问题)\n toolInstance.singleOn('expend', expendRender);\n\n if (toolInstance.labelSelectedList.length === 1) {\n let height = 0;\n for (let i = 0; i < toolInstance.labelSelectedList[0]; i++) {\n height += 46;\n inputList[i] &&\n expandKeyList[i] !== '' &&\n inputList[i].subSelected.forEach((i: any) => {\n height += 40;\n });\n }\n if (sidebarRef.current) {\n sidebarRef.current.children[0].scrollTop = height;\n }\n }\n }\n });\n\n useEffect(() => {\n // 翻页侧边栏跳到最上\n if (sidebarRef.current) {\n sidebarRef.current.children[0].scrollTop = 0;\n }\n }, [imgIndex]);\n\n const expendRender = () => {\n const index = toolInstance.labelSelectedList[0];\n const value = inputList.filter((v: IInputList, i: number) => i === index)[0]?.value;\n setExpendKeyList(index, value, true);\n };\n\n const setExpendKeyList = useCallback(\n (index: number, value: string, expend?: boolean) => {\n const newKeyList = cloneDeep(expandKeyList);\n if (newKeyList[index] === '' || expend === true) {\n newKeyList[index] = value;\n } else {\n newKeyList[index] = '';\n }\n setExpandKeyList(newKeyList);\n },\n [expandKeyList],\n );\n\n if (!toolInstance) return null;\n\n const {\n labelSelectedList,\n config: { inputList },\n currentTagResult,\n setLabel,\n } = toolInstance;\n\n const selectedButton = (index: number) => {\n if (labelSelectedList.length > 0 && labelSelectedList[0] === index) {\n return <span className='keyDownIconActive'>{index + 1}</span>;\n }\n return <span className='keyDownIcon'>{index + 1}</span>;\n };\n\n // basicIndex 到底是那一层\n const labelPanel = (labelInfoSet: IInputList[], basicIndex = -1) => {\n if (!labelInfoSet) {\n return null;\n }\n\n return labelInfoSet.map((info: IInputList, index: number) => {\n if (info.subSelected) {\n // 判断是否有数据\n const isResult = TagUtils.judgeResultIsInInputList(\n info.value,\n currentTagResult?.result?.[info.value],\n inputList,\n );\n\n return (\n <Collapse\n bordered={false}\n expandIcon={expandIconFuc}\n key={`collapse_${index}_${basicIndex + 1}`}\n onChange={() => setExpendKeyList(index, info.value)}\n activeKey={[expandKeyList[index]]}\n >\n <Panel\n header={\n <div\n style={{\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flex: 1,\n }}\n >\n <span>\n {info.key}\n <Tooltip placement='bottom' title={t('ClearThisOption')}>\n <img\n style={{ marginLeft: 5, cursor: 'pointer' }}\n onClick={(e) => {\n e.stopPropagation();\n toolInstance.clearResult(true, info.value);\n }}\n src={hoverDeleteIndex === index || isResult ? clearSmallA : clearSmall}\n onMouseEnter={() => {\n setHoverDeleteIndex(index);\n }}\n onMouseLeave={() => {\n setHoverDeleteIndex(-1);\n }}\n />\n </Tooltip>\n {isResult && expandKeyList[index] === '' && <Badge color='#87d068' />}\n </span>\n\n {inputList?.length > 1 && selectedButton(index)}\n </div>\n }\n key={info.value}\n >\n <div\n className='level'\n style={{\n backgroundColor:\n labelSelectedList.length > 0 && labelSelectedList[0] === index\n ? 'rgba(158, 158, 158, 0.18)'\n : '',\n }}\n >\n {labelPanel(info.subSelected, index)}\n </div>\n </Panel>\n </Collapse>\n );\n }\n const key = inputList?.[basicIndex] ? inputList?.[basicIndex].value : 0;\n const selectedAttribute =\n currentTagResult?.result?.[key]?.split(';')?.indexOf(info.value) > -1 ? info.value : '';\n\n if (inputList?.[basicIndex]?.isMulti === true) {\n return (\n <div className='singleBar' key={`${key}_${basicIndex}_${index}`}>\n <CheckBoxList\n attributeChanged={() => setLabel(basicIndex, index)}\n selectedAttribute={[selectedAttribute]}\n list={[{ value: info.value, label: info.key }]}\n num={index + 1}\n />\n </div>\n );\n }\n return (\n <div className='singleBar' key={`${key}_${basicIndex}_${index}`}>\n <RadioList\n forbidColor\n attributeChanged={() => setLabel(basicIndex, index)}\n selectedAttribute={selectedAttribute}\n list={[{ value: info.value, label: info.key }]}\n num={index + 1}\n />\n </div>\n );\n });\n };\n const height = window.innerHeight - 61 - 80;\n\n return (\n <div className='tagOperationMenu' ref={sidebarRef}>\n {inputList?.length === 0 ? (\n <div style={{ padding: 20, textAlign: 'center' }}>{t('NoConfiguration')}</div>\n ) : (\n <div className='main' style={{ height }}>\n {labelPanel(inputList)}\n </div>\n )}\n </div>\n );\n};\n\nfunction mapStateToProps(state: AppState) {\n return { toolInstance: state.annotation.toolInstance, imgIndex: state.annotation.imgIndex };\n}\n\nexport default connect(mapStateToProps)(TagSidebar);\n"],"names":["clearSmallA","clearSmall","CheckBoxList","RadioList"],"mappings":"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"}
@@ -1 +1 @@
1
- import S from"../../../assets/annotation/lineTool/icon_line_a.svg.js";import E from"../../../assets/annotation/pointTool/icon_point_a.svg.js";import T from"../../../assets/annotation/polygonTool/icon_polygon_a.svg.js";import x from"../../../assets/annotation/rectTool/icon_rectPattern.svg.js";import{prefix as h}from"../../../constant/index.js";import{EToolName as t}from"../../../data/enums/ToolType.js";import L from"../../../utils/StepUtils.js";import{Row as C,Collapse as s}from"antd/es";import e from"react";import{useTranslation as R}from"react-i18next";import{useSelector as w}from"react-redux";import O from"./AnnotationText/index.js";import z from"./ClearIcon/index.js";import B from"./GeneralOperation/index.js";import G from"./ImgAttributeInfo/index.js";import K from"./SwitchAttributeList/index.js";import _,{expandIconFuc as N}from"./TagSidebar/index.js";import b from"./TextToolSidebar/index.js";import U from"./ToolStyle/index.js";const{Panel:j}=s,y=[{toolName:t.Rect,commonSvg:x,selectedSvg:x},{toolName:t.Polygon,commonSvg:T,selectedSvg:T},{toolName:t.Line,commonSvg:S,selectedSvg:S,pattern:t.Line},{toolName:t.Point,commonSvg:E,selectedSvg:E,pattern:"drawPoint"}],o=`${h}-sidebar`,k=({sider:a})=>{const m=w(n=>L.getCurrentStepInfo(n.annotation.step,n.annotation.stepList)),l=m==null?void 0:m.tool,{t:c}=R();if(!l)return null;const r=y==null?void 0:y.find(n=>(n==null?void 0:n.toolName)===l),I=n=>{const P=e.createElement(U,null);return e.createElement(j,{header:c("Style"),className:"panel",key:n},P)},d=e.createElement("div",{className:`${o}__level`},e.createElement(C,{className:`${o}__toolsOption`},r&&e.createElement("a",null,e.createElement("img",{className:`${o}__singleTool`,src:r==null?void 0:r.selectedSvg})))),p=e.createElement(K,null),u=e.createElement(O,null),f=e.createElement(s,{defaultActiveKey:["1","imgAttribute"],bordered:!1,expandIconPosition:"right",className:`${o}__content`,expandIcon:N},I("1")),g=e.createElement(s,{defaultActiveKey:["1","imgAttribute"],bordered:!1,expandIconPosition:"right",className:`${o}__content`,expandIcon:N},e.createElement(j,{header:e.createElement("div",null,c("Adjust"),e.createElement(z,null)),className:"panel",key:"imgAttribute"},e.createElement(G,null))),v=e.createElement(B,null),$=e.createElement(_,null),A=e.createElement(b,null),i=e.createElement("div",{className:`${o}__horizontal`});return a?typeof a=="function"?e.createElement("div",{className:`${o}`},a({toolIcon:d,attributeList:p,annotationText:u,toolStyle:f,imageAttributeInfo:g,operation:v,tagToolSideBar:$,textToolSideBar:A,horizontal:i})):a:[t.Rect,t.Point,t.Line,t.Rect,t.Polygon].includes(l)?e.createElement("div",{className:`${o}`},d,i,p,u,i,e.createElement("div",{className:`${o}__content`},f,g),v):l===t.Tag?e.createElement("div",{className:`${o}`},e.createElement(_,null)):l===t.Text?e.createElement("div",{className:`${o}`},e.createElement(b,null)):null};export{k as default};
1
+ import T from"../../../assets/annotation/lineTool/icon_line_a.svg.js";import S from"../../../assets/annotation/pointTool/icon_point_a.svg.js";import x from"../../../assets/annotation/polygonTool/icon_polygon_a.svg.js";import N from"../../../assets/annotation/rectTool/icon_rectPattern.svg.js";import{prefix as h}from"../../../constant/index.js";import{EToolName as o}from"../../../data/enums/ToolType.js";import L from"../../../utils/StepUtils.js";import{Row as C,Collapse as m}from"antd/es";import e from"react";import{useTranslation as R}from"react-i18next";import{useSelector as w}from"react-redux";import O from"./AnnotationText/index.js";import z from"./ClearIcon/index.js";import B from"./GeneralOperation/index.js";import G from"./ImgAttributeInfo/index.js";import K from"./SwitchAttributeList/index.js";import c,{expandIconFuc as _}from"./TagSidebar/index.js";import b from"./TextToolSidebar/index.js";import U from"./ToolStyle/index.js";import{cTool as V}from"@labelbee/lb-annotation";const{EVideoToolName:k}=V,{Panel:$}=m,j=[{toolName:o.Rect,commonSvg:N,selectedSvg:N},{toolName:o.Polygon,commonSvg:x,selectedSvg:x},{toolName:o.Line,commonSvg:T,selectedSvg:T,pattern:o.Line},{toolName:o.Point,commonSvg:S,selectedSvg:S,pattern:"drawPoint"}],t=`${h}-sidebar`,F=({sider:a})=>{const d=w(n=>L.getCurrentStepInfo(n.annotation.step,n.annotation.stepList)),l=d==null?void 0:d.tool,{t:u}=R();if(!l)return null;const r=j==null?void 0:j.find(n=>(n==null?void 0:n.toolName)===l),y=n=>{const P=e.createElement(U,null);return e.createElement($,{header:u("Style"),className:"panel",key:n},P)},p=e.createElement("div",{className:`${t}__level`},e.createElement(C,{className:`${t}__toolsOption`},r&&e.createElement("a",null,e.createElement("img",{className:`${t}__singleTool`,src:r==null?void 0:r.selectedSvg})))),f=e.createElement(K,null),g=e.createElement(O,null),v=e.createElement(m,{defaultActiveKey:["1","imgAttribute"],bordered:!1,expandIconPosition:"right",className:`${t}__content`,expandIcon:_},y("1")),E=e.createElement(m,{defaultActiveKey:["1","imgAttribute"],bordered:!1,expandIconPosition:"right",className:`${t}__content`,expandIcon:_},e.createElement($,{header:e.createElement("div",null,u("Adjust"),e.createElement(z,null)),className:"panel",key:"imgAttribute"},e.createElement(G,null))),i=e.createElement(B,null),I=e.createElement(c,null),A=e.createElement(b,null),s=e.createElement("div",{className:`${t}__horizontal`});return a?typeof a=="function"?e.createElement("div",{className:`${t}`},a({toolIcon:p,attributeList:f,annotationText:g,toolStyle:v,imageAttributeInfo:E,operation:i,tagToolSideBar:I,textToolSideBar:A,horizontal:s})):a:[o.Rect,o.Point,o.Line,o.Rect,o.Polygon].includes(l)?e.createElement("div",{className:`${t}`},p,s,f,g,s,e.createElement("div",{className:`${t}__content`},v,E),i):l===o.Tag?e.createElement("div",{className:`${t}`},e.createElement(c,null)):l===k.VideoTagTool?e.createElement("div",{className:`${t}`},e.createElement("div",{className:`${t}__content`},e.createElement(c,null)),i):l===o.Text?e.createElement("div",{className:`${t}`},e.createElement(b,null)):null};export{F as default};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/views/MainView/sidebar/index.tsx"],"sourcesContent":["import lineASvg from '@/assets/annotation/lineTool/icon_line_a.svg';\nimport pointASvg from '@/assets/annotation/pointTool/icon_point_a.svg';\nimport iconPolygonPatternASvg from '@/assets/annotation/polygonTool/icon_polygon_a.svg';\nimport iconRectPatternSvg from '@/assets/annotation/rectTool/icon_rectPattern.svg';\nimport { prefix } from '@/constant';\nimport { EToolName } from '@/data/enums/ToolType';\nimport { AppState } from '@/store';\nimport { Sider } from '@/types/main';\nimport StepUtils from '@/utils/StepUtils';\nimport { Collapse, Row } from 'antd/es';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport AnnotationText from './AnnotationText';\nimport ClearIcon from './ClearIcon';\nimport GeneralOperation from './GeneralOperation';\nimport ImgAttributeInfo from './ImgAttributeInfo';\nimport SwitchAttributeList from './SwitchAttributeList';\nimport TagSidebar, { expandIconFuc } from './TagSidebar';\nimport TextToolSidebar from './TextToolSidebar';\nimport ToolStyle from './ToolStyle';\n\nconst { Panel } = Collapse;\n\ninterface IProps {\n toolName?: EToolName;\n sider?: Sider;\n}\n\nconst toolList = [\n {\n toolName: EToolName.Rect,\n commonSvg: iconRectPatternSvg,\n selectedSvg: iconRectPatternSvg,\n },\n // 多边形工具\n {\n toolName: EToolName.Polygon,\n commonSvg: iconPolygonPatternASvg,\n selectedSvg: iconPolygonPatternASvg,\n },\n {\n toolName: EToolName.Line,\n commonSvg: lineASvg,\n selectedSvg: lineASvg,\n pattern: EToolName.Line,\n },\n {\n toolName: EToolName.Point,\n commonSvg: pointASvg,\n selectedSvg: pointASvg,\n pattern: 'drawPoint',\n },\n];\nconst sidebarCls = `${prefix}-sidebar`;\nconst Sidebar: React.FC<IProps> = ({ sider }) => {\n const stepInfo = useSelector((state: AppState) =>\n StepUtils.getCurrentStepInfo(state.annotation.step, state.annotation.stepList),\n );\n const toolName = stepInfo?.tool as EToolName;\n const { t } = useTranslation();\n\n if (!toolName) {\n return null;\n }\n\n const renderTool = toolList?.find((item) => item?.toolName === toolName);\n\n /**\n * 样式面板, 包含透明度、线框、颜色\n * @param key 虚拟dom的key\n */\n const renderStylePanel = (key: string) => {\n const ToolStyleComponent = <ToolStyle />;\n return (\n <Panel header={t('Style')} className='panel' key={key}>\n {ToolStyleComponent}\n </Panel>\n );\n };\n\n const toolIcon = (\n <div className={`${sidebarCls}__level`}>\n <Row className={`${sidebarCls}__toolsOption`}>\n {renderTool && (\n <a>\n <img className={`${sidebarCls}__singleTool`} src={renderTool?.selectedSvg} />\n </a>\n )}\n </Row>\n </div>\n );\n\n const attributeList = <SwitchAttributeList />;\n\n const annotationText = <AnnotationText />;\n\n const toolStyle = (\n <Collapse\n defaultActiveKey={['1', 'imgAttribute']}\n bordered={false}\n expandIconPosition='right'\n className={`${sidebarCls}__content`}\n expandIcon={expandIconFuc}\n >\n {renderStylePanel('1')}\n </Collapse>\n );\n\n const imageAttributeInfo = (\n <Collapse\n defaultActiveKey={['1', 'imgAttribute']}\n bordered={false}\n expandIconPosition='right'\n className={`${sidebarCls}__content`}\n expandIcon={expandIconFuc}\n >\n <Panel\n header={\n <div>\n {t('Adjust')}\n\n <ClearIcon />\n </div>\n }\n className='panel'\n key='imgAttribute'\n >\n <ImgAttributeInfo />\n </Panel>\n </Collapse>\n );\n\n const operation = <GeneralOperation />;\n\n const tagToolSideBar = <TagSidebar />;\n\n const textToolSideBar = <TextToolSidebar />;\n\n const horizontal = <div className={`${sidebarCls}__horizontal`} />;\n\n if (sider) {\n if (typeof sider === 'function') {\n return (\n <div className={`${sidebarCls}`}>\n {sider({\n toolIcon,\n attributeList,\n annotationText,\n toolStyle,\n imageAttributeInfo,\n operation,\n tagToolSideBar,\n textToolSideBar,\n horizontal,\n })}\n </div>\n );\n } else {\n return sider;\n }\n }\n\n if (\n [EToolName.Rect, EToolName.Point, EToolName.Line, EToolName.Rect, EToolName.Polygon].includes(\n toolName,\n )\n ) {\n return (\n <div className={`${sidebarCls}`}>\n {toolIcon}\n {horizontal}\n {attributeList}\n {annotationText}\n {horizontal}\n <div className={`${sidebarCls}__content`}>\n {toolStyle}\n {imageAttributeInfo}\n </div>\n {operation}\n </div>\n );\n }\n\n if (toolName === EToolName.Tag) {\n return (\n <div className={`${sidebarCls}`}>\n <TagSidebar />\n </div>\n );\n }\n\n if (toolName === EToolName.Text) {\n return (\n <div className={`${sidebarCls}`}>\n <TextToolSidebar />\n </div>\n );\n }\n\n return null;\n};\n\nexport default Sidebar;\n"],"names":["iconRectPatternSvg","iconPolygonPatternASvg","lineASvg","pointASvg","ClearIcon"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/views/MainView/sidebar/index.tsx"],"sourcesContent":["import lineASvg from '@/assets/annotation/lineTool/icon_line_a.svg';\nimport pointASvg from '@/assets/annotation/pointTool/icon_point_a.svg';\nimport iconPolygonPatternASvg from '@/assets/annotation/polygonTool/icon_polygon_a.svg';\nimport iconRectPatternSvg from '@/assets/annotation/rectTool/icon_rectPattern.svg';\nimport { prefix } from '@/constant';\nimport { EToolName } from '@/data/enums/ToolType';\nimport { AppState } from '@/store';\nimport { Sider } from '@/types/main';\nimport StepUtils from '@/utils/StepUtils';\nimport { Collapse, Row } from 'antd/es';\nimport React from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { useSelector } from 'react-redux';\nimport AnnotationText from './AnnotationText';\nimport ClearIcon from './ClearIcon';\nimport GeneralOperation from './GeneralOperation';\nimport ImgAttributeInfo from './ImgAttributeInfo';\nimport SwitchAttributeList from './SwitchAttributeList';\nimport TagSidebar, { expandIconFuc } from './TagSidebar';\nimport TextToolSidebar from './TextToolSidebar';\nimport ToolStyle from './ToolStyle';\nimport { cTool } from '@labelbee/lb-annotation';\n\nconst { EVideoToolName } = cTool;\n\nconst { Panel } = Collapse;\n\ninterface IProps {\n toolName?: EToolName;\n sider?: Sider;\n}\n\nconst toolList = [\n {\n toolName: EToolName.Rect,\n commonSvg: iconRectPatternSvg,\n selectedSvg: iconRectPatternSvg,\n },\n // 多边形工具\n {\n toolName: EToolName.Polygon,\n commonSvg: iconPolygonPatternASvg,\n selectedSvg: iconPolygonPatternASvg,\n },\n {\n toolName: EToolName.Line,\n commonSvg: lineASvg,\n selectedSvg: lineASvg,\n pattern: EToolName.Line,\n },\n {\n toolName: EToolName.Point,\n commonSvg: pointASvg,\n selectedSvg: pointASvg,\n pattern: 'drawPoint',\n },\n];\nconst sidebarCls = `${prefix}-sidebar`;\nconst Sidebar: React.FC<IProps> = ({ sider }) => {\n const stepInfo = useSelector((state: AppState) =>\n StepUtils.getCurrentStepInfo(state.annotation.step, state.annotation.stepList),\n );\n const toolName = stepInfo?.tool;\n const { t } = useTranslation();\n\n if (!toolName) {\n return null;\n }\n\n const renderTool = toolList?.find((item) => item?.toolName === toolName);\n\n /**\n * 样式面板, 包含透明度、线框、颜色\n * @param key 虚拟dom的key\n */\n const renderStylePanel = (key: string) => {\n const ToolStyleComponent = <ToolStyle />;\n return (\n <Panel header={t('Style')} className='panel' key={key}>\n {ToolStyleComponent}\n </Panel>\n );\n };\n\n const toolIcon = (\n <div className={`${sidebarCls}__level`}>\n <Row className={`${sidebarCls}__toolsOption`}>\n {renderTool && (\n <a>\n <img className={`${sidebarCls}__singleTool`} src={renderTool?.selectedSvg} />\n </a>\n )}\n </Row>\n </div>\n );\n\n const attributeList = <SwitchAttributeList />;\n\n const annotationText = <AnnotationText />;\n\n const toolStyle = (\n <Collapse\n defaultActiveKey={['1', 'imgAttribute']}\n bordered={false}\n expandIconPosition='right'\n className={`${sidebarCls}__content`}\n expandIcon={expandIconFuc}\n >\n {renderStylePanel('1')}\n </Collapse>\n );\n\n const imageAttributeInfo = (\n <Collapse\n defaultActiveKey={['1', 'imgAttribute']}\n bordered={false}\n expandIconPosition='right'\n className={`${sidebarCls}__content`}\n expandIcon={expandIconFuc}\n >\n <Panel\n header={\n <div>\n {t('Adjust')}\n\n <ClearIcon />\n </div>\n }\n className='panel'\n key='imgAttribute'\n >\n <ImgAttributeInfo />\n </Panel>\n </Collapse>\n );\n\n const operation = <GeneralOperation />;\n\n const tagToolSideBar = <TagSidebar />;\n\n const textToolSideBar = <TextToolSidebar />;\n\n const horizontal = <div className={`${sidebarCls}__horizontal`} />;\n\n if (sider) {\n if (typeof sider === 'function') {\n return (\n <div className={`${sidebarCls}`}>\n {sider({\n toolIcon,\n attributeList,\n annotationText,\n toolStyle,\n imageAttributeInfo,\n operation,\n tagToolSideBar,\n textToolSideBar,\n horizontal,\n })}\n </div>\n );\n } else {\n return sider;\n }\n }\n\n if (\n (\n [\n EToolName.Rect,\n EToolName.Point,\n EToolName.Line,\n EToolName.Rect,\n EToolName.Polygon,\n ] as string[]\n ).includes(toolName)\n ) {\n return (\n <div className={`${sidebarCls}`}>\n {toolIcon}\n {horizontal}\n {attributeList}\n {annotationText}\n {horizontal}\n <div className={`${sidebarCls}__content`}>\n {toolStyle}\n {imageAttributeInfo}\n </div>\n {operation}\n </div>\n );\n }\n\n if (toolName === EToolName.Tag) {\n return (\n <div className={`${sidebarCls}`}>\n <TagSidebar />\n </div>\n );\n }\n\n if (toolName === EVideoToolName.VideoTagTool) {\n return (\n <div className={`${sidebarCls}`}>\n <div className={`${sidebarCls}__content`}>\n <TagSidebar />\n </div>\n {operation}\n </div>\n );\n }\n\n if (toolName === EToolName.Text) {\n return (\n <div className={`${sidebarCls}`}>\n <TextToolSidebar />\n </div>\n );\n }\n\n return null;\n};\n\nexport default Sidebar;\n"],"names":["iconRectPatternSvg","iconPolygonPatternASvg","lineASvg","pointASvg","ClearIcon"],"mappings":"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"}
@@ -1 +1 @@
1
- import n from"../../../../../../assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js";import s from"../../../../../../assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js";import e from"../../../../../../assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js";import i from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js";import a from"../../../../../../assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js";import c from"../../../../../../assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js";import r from"../../../../../../assets/annotation/toolHotKeyIcon/setValid.svg.js";import m from"../../../../../../assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js";import l from"../../../../../../assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js";import o from"../../../../../../assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js";import g from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js";import t from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js";import _ from"../../../../../../assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js";import f from"../../../../../../assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js";import j from"../../../../../../assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js";import h from"../../../../../../assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js";import v from"../../../../../../assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js";const p={name:"Undo",icon:n,shortCut:["Ctrl","Z"]},u={name:"Redo",icon:s,shortCut:["Ctrl","Shift","Z"]},C={name:"Scale",icon:e,shortCut:[i]},I={name:"Fullscreen",icon:a,shortCut:["F11"]},d={name:"Rotate",icon:c,shortCut:["R"],noticeInfo:"ToOriginalStep"},k={name:"ToggleEffectiveness",icon:r,shortCut:["Y"]},y={name:"Previous",icon:m,shortCut:["A"]},H={name:"Next",icon:l,shortCut:["D"]},K={name:"Drag",icon:o,shortCut:[g],noticeInfo:"Press"},S={name:"Drag",icon:o,shortCut:["Space",t]},$={name:"ToggleSelected",icon:_,shortCut:["Tab"]},b={name:"ToggleSelectedReverse",icon:f,shortCut:["Shift","Tab"]},T={name:"HideGraphics",icon:v,noticeInfo:"",shortCut:["Z"]},R={name:"ToggleLineParticularity",icon:h,noticeInfo:"ToSide",shortCut:["Shift",t]},D={name:"Save",icon:j,shortCut:["Ctrl","S"]};export{y as backward,R as changeSpecialLine,S as dargWithLeftClick,K as dargWithRightClick,H as forward,I as fullScreen,T as hidden,u as restore,p as revoke,d as rotate,D as saveResult,C as scale,k as setValid,$ as tabChangeSelected,b as tabReverseChangeSelected};
1
+ import n from"../../../../../../assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg.js";import s from"../../../../../../assets/annotation/toolHotKeyIcon/icon_reform_kj.svg.js";import e from"../../../../../../assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg.js";import i from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg.js";import a from"../../../../../../assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg.js";import c from"../../../../../../assets/annotation/toolHotKeyIcon/icon_reload_kj.svg.js";import r from"../../../../../../assets/annotation/toolHotKeyIcon/setValid.svg.js";import m from"../../../../../../assets/annotation/toolHotKeyIcon/icon_last_kj.svg.js";import l from"../../../../../../assets/annotation/toolHotKeyIcon/icon_next_kj.svg.js";import o from"../../../../../../assets/annotation/toolHotKeyIcon/icon_move_kj.svg.js";import g from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg.js";import t from"../../../../../../assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg.js";import _ from"../../../../../../assets/annotation/toolHotKeyIcon/icon_tab_kj.svg.js";import j from"../../../../../../assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg.js";import f from"../../../../../../assets/annotation/toolHotKeyIcon/icon_save_kj.svg.js";import u from"../../../../../../assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg.js";import h from"../../../../../../assets/annotation/toolHotKeyIcon/icon_noDisplay.svg.js";import p from"../../../../../../assets/annotation/toolHotKeyIcon/icon_playPause.svg.js";import v from"../../../../../../assets/annotation/toolHotKeyIcon/icon_forward_kj.svg.js";import d from"../../../../../../assets/annotation/toolHotKeyIcon/icon_back_kj.svg.js";import C from"../../../../../../assets/annotation/toolHotKeyIcon/icon_speed_kj.svg.js";const I={name:"Undo",icon:n,shortCut:["Ctrl","Z"]},y={name:"Redo",icon:s,shortCut:["Ctrl","Shift","Z"]},H={name:"Scale",icon:e,shortCut:[i]},k={name:"Fullscreen",icon:a,shortCut:["F11"]},K={name:"Rotate",icon:c,shortCut:["R"],noticeInfo:"ToOriginalStep"},$={name:"ToggleEffectiveness",icon:r,shortCut:["Y"]},S={name:"PreviousImage",icon:m,shortCut:["A"]},b={name:"NextImage",icon:l,shortCut:["D"]},w={name:"Drag",icon:o,shortCut:[g],noticeInfo:"Press"},R={name:"Drag",icon:o,shortCut:["Space",t]},T={name:"ToggleSelected",icon:_,shortCut:["Tab"]},P={name:"ToggleSelectedReverse",icon:j,shortCut:["Shift","Tab"]},F={name:"HideGraphics",icon:h,noticeInfo:"",shortCut:["Z"]},D={name:"ToggleLineParticularity",icon:u,noticeInfo:"ToSide",shortCut:["Shift",t]},U={name:"Save",icon:f,shortCut:["Ctrl","S"]},x={name:"Speed",icon:C,shortCut:["&#8593;","&#8595;"],shortCutUseHtml:!0},L={name:"PlayPause",icon:p,shortCut:["Space"]},V={name:"FastForward",icon:v,shortCut:["&#8594;"],shortCutUseHtml:!0},Z={name:"Rewind",icon:d,shortCut:["&#8592;"],shortCutUseHtml:!0};export{S as backward,D as changeSpecialLine,R as dargWithLeftClick,w as dargWithRightClick,b as forward,V as forwardForward,k as fullScreen,F as hidden,L as playPause,y as restore,I as revoke,Z as rewind,K as rotate,U as saveResult,H as scale,$ as setValid,x as speed,T as tabChangeSelected,P as tabReverseChangeSelected};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.tsx"],"sourcesContent":["import RevokeSvg from '@/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg';\nimport RestoreSvg from '@/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg';\nimport ScaleSvg from '@/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg';\nimport ScaleShortCutSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg';\nimport FullScreenSvg from '@/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg';\nimport RotateSvg from '@/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg';\nimport SetValidSvg from '@/assets/annotation/toolHotKeyIcon/setValid.svg';\nimport BackwardSvg from '@/assets/annotation/toolHotKeyIcon/icon_last_kj.svg';\nimport ForwardSvg from '@/assets/annotation/toolHotKeyIcon/icon_next_kj.svg';\nimport DragWithRightClickSvg from '@/assets/annotation/toolHotKeyIcon/icon_move_kj.svg';\nimport DragWithRightClickShortCutSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg';\nimport DragWithLeftClickSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg';\nimport CopyBackwardResultSvg from '@/assets/annotation/toolHotKeyIcon/icon_copyBackwardResult.svg';\nimport TabChangeSelectedSvg from '@/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg';\nimport TabReverseChangeSelectedSVG from '@/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg';\nimport IconSaveKj from '@/assets/annotation/toolHotKeyIcon/icon_save_kj.svg';\nimport IconLineSpecialKj from '@/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg';\nimport IconNoDisplay from '@/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg';\nimport IconEyeLockKj from '@/assets/annotation/toolHotKeyIcon/icon_eyeLock_kj.svg';\n\nexport const revoke = {\n name: 'Undo',\n icon: RevokeSvg,\n shortCut: ['Ctrl', 'Z'],\n};\n\nexport const restore = {\n name: 'Redo',\n icon: RestoreSvg,\n shortCut: ['Ctrl', 'Shift', 'Z'],\n};\n\nexport const scale = {\n name: 'Scale',\n icon: ScaleSvg,\n shortCut: [ScaleShortCutSvg],\n};\n\nexport const fullScreen = {\n name: 'Fullscreen',\n icon: FullScreenSvg,\n shortCut: ['F11'],\n};\n\nexport const rotate = {\n name: 'Rotate',\n icon: RotateSvg,\n shortCut: ['R'],\n noticeInfo: 'ToOriginalStep',\n};\n\nexport const setValid = {\n name: 'ToggleEffectiveness',\n icon: SetValidSvg,\n shortCut: ['Y'],\n};\n\nexport const backward = {\n name: 'Previous',\n icon: BackwardSvg,\n shortCut: ['A'],\n};\n\nexport const forward = {\n name: 'Next',\n icon: ForwardSvg,\n shortCut: ['D'],\n};\n\nexport const backwardPage = {\n name: 'PreviousFolder',\n icon: BackwardSvg,\n shortCut: ['Shift', 'A'],\n};\n\nexport const forwardPage = {\n name: 'NextFolder',\n icon: ForwardSvg,\n shortCut: ['Shift', 'D'],\n};\n\nexport const dargWithRightClick = {\n name: 'Drag',\n icon: DragWithRightClickSvg,\n shortCut: [DragWithRightClickShortCutSvg],\n noticeInfo: 'Press',\n};\n\nexport const dargWithLeftClick = {\n name: 'Drag',\n icon: DragWithRightClickSvg,\n shortCut: ['Space', DragWithLeftClickSvg],\n};\n\nexport const forwardWithEnter = {\n name: 'Next',\n icon: ForwardSvg,\n shortCut: ['Ctrl', 'Enter'],\n};\n\nexport const copyBackwardResult = {\n name: 'CopyThePrevious',\n icon: CopyBackwardResultSvg,\n shortCut: ['ALT', 'C'],\n};\n\nexport const attributeLock = {\n name: 'SpecifiedAttributesOnly',\n icon: IconEyeLockKj,\n shortCut: ['Shift', 'Number'],\n};\n\nexport const attributeClickLock = {\n name: 'SpecifiedAttributesOnly',\n icon: IconEyeLockKj,\n shortCut: ['Shift', DragWithLeftClickSvg],\n};\n\nexport const tabChangeSelected = {\n name: 'ToggleSelected',\n icon: TabChangeSelectedSvg,\n shortCut: ['Tab'],\n};\n\nexport const tabReverseChangeSelected = {\n name: 'ToggleSelectedReverse',\n icon: TabReverseChangeSelectedSVG,\n shortCut: ['Shift', 'Tab'],\n};\n\nexport const hidden = {\n name: 'HideGraphics',\n icon: IconNoDisplay,\n noticeInfo: '',\n shortCut: ['Z'],\n};\n\nexport const changeSpecialLine = {\n name: 'ToggleLineParticularity',\n icon: IconLineSpecialKj,\n noticeInfo: 'ToSide',\n shortCut: ['Shift', DragWithLeftClickSvg],\n};\n\nexport const saveResult = {\n name: 'Save',\n icon: IconSaveKj,\n shortCut: ['Ctrl', 'S'],\n};\n"],"names":["RevokeSvg","RestoreSvg","ScaleSvg","ScaleShortCutSvg","FullScreenSvg","RotateSvg","SetValidSvg","BackwardSvg","ForwardSvg","DragWithRightClickSvg","DragWithRightClickShortCutSvg","DragWithLeftClickSvg","TabChangeSelectedSvg","TabReverseChangeSelectedSVG","IconNoDisplay","IconLineSpecialKj","IconSaveKj"],"mappings":";;;;;;;;;;;;;;;;;;AAoBO,MAAM,MAAS,GAAA;AAAA,EACpB,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAA,GAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAQ,EAAA,GAAA,CAAA;AAAA,EAAA;AAGd,MAAM,OAAU,GAAA;AAAA,EACrB,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAS,EAAA,GAAA,CAAA;AAAA,EAAA;AAGvB,MAAM,KAAQ,GAAA;AAAA,EACnB,IAAM,EAAA,OAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,UAAa,GAAA;AAAA,EACxB,IAAM,EAAA,YAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,MAAS,GAAA;AAAA,EACpB,IAAM,EAAA,QAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EACX,UAAY,EAAA,gBAAA;AAAA,EAAA;AAGP,MAAM,QAAW,GAAA;AAAA,EACtB,IAAM,EAAA,qBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,QAAW,GAAA;AAAA,EACtB,IAAM,EAAA,UAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,OAAU,GAAA;AAAA,EACrB,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAeN,MAAM,kBAAqB,GAAA;AAAA,EAChC,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EACX,UAAY,EAAA,OAAA;AAAA,EAAA;AAGP,MAAM,iBAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAD,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,OAAS,EAAAE,KAAA,CAAA;AAAA,EAAA;AA2Bf,MAAM,iBAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,gBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,wBAA2B,GAAA;AAAA,EACtC,IAAM,EAAA,uBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,OAAS,EAAA,KAAA,CAAA;AAAA,EAAA;AAGf,MAAM,MAAS,GAAA;AAAA,EACpB,IAAM,EAAA,cAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,EAAA;AAAA,EACZ,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,iBAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,yBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,QAAA;AAAA,EACZ,QAAA,EAAU,CAAC,OAAS,EAAAJ,KAAA,CAAA;AAAA,EAAA;AAGf,MAAM,UAAa,GAAA;AAAA,EACxB,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAK,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAQ,EAAA,GAAA,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../../../src/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.tsx"],"sourcesContent":["import RevokeSvg from '@/assets/annotation/toolHotKeyIcon/icon_cencel_kj.svg';\nimport RestoreSvg from '@/assets/annotation/toolHotKeyIcon/icon_reform_kj.svg';\nimport ScaleSvg from '@/assets/annotation/toolHotKeyIcon/icon_loupe_kj.svg';\nimport ScaleShortCutSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_middle_kj.svg';\nimport FullScreenSvg from '@/assets/annotation/toolHotKeyIcon/icon_fullView_kj.svg';\nimport RotateSvg from '@/assets/annotation/toolHotKeyIcon/icon_reload_kj.svg';\nimport SetValidSvg from '@/assets/annotation/toolHotKeyIcon/setValid.svg';\nimport BackwardSvg from '@/assets/annotation/toolHotKeyIcon/icon_last_kj.svg';\nimport ForwardSvg from '@/assets/annotation/toolHotKeyIcon/icon_next_kj.svg';\nimport DragWithRightClickSvg from '@/assets/annotation/toolHotKeyIcon/icon_move_kj.svg';\nimport DragWithRightClickShortCutSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_right_kj.svg';\nimport DragWithLeftClickSvg from '@/assets/annotation/toolHotKeyIcon/icon_mouse_left_kj.svg';\nimport CopyBackwardResultSvg from '@/assets/annotation/toolHotKeyIcon/icon_copyBackwardResult.svg';\nimport TabChangeSelectedSvg from '@/assets/annotation/toolHotKeyIcon/icon_tab_kj.svg';\nimport TabReverseChangeSelectedSVG from '@/assets/annotation/toolHotKeyIcon/icon_alttab_kj.svg';\nimport IconSaveKj from '@/assets/annotation/toolHotKeyIcon/icon_save_kj.svg';\nimport IconLineSpecialKj from '@/assets/annotation/toolHotKeyIcon/icon_lineSpecial_kj.svg';\nimport IconNoDisplay from '@/assets/annotation/toolHotKeyIcon/icon_noDisplay.svg';\nimport IconEyeLockKj from '@/assets/annotation/toolHotKeyIcon/icon_eyeLock_kj.svg';\nimport IconPlayPause from '@/assets/annotation/toolHotKeyIcon/icon_playPause.svg';\nimport IconFastForward from '@/assets/annotation/toolHotKeyIcon/icon_forward_kj.svg';\nimport IconRewind from '@/assets/annotation/toolHotKeyIcon/icon_back_kj.svg';\nimport IconSpeed from '@/assets/annotation/toolHotKeyIcon/icon_speed_kj.svg';\n\nexport const revoke = {\n name: 'Undo',\n icon: RevokeSvg,\n shortCut: ['Ctrl', 'Z'],\n};\n\nexport const restore = {\n name: 'Redo',\n icon: RestoreSvg,\n shortCut: ['Ctrl', 'Shift', 'Z'],\n};\n\nexport const scale = {\n name: 'Scale',\n icon: ScaleSvg,\n shortCut: [ScaleShortCutSvg],\n};\n\nexport const fullScreen = {\n name: 'Fullscreen',\n icon: FullScreenSvg,\n shortCut: ['F11'],\n};\n\nexport const rotate = {\n name: 'Rotate',\n icon: RotateSvg,\n shortCut: ['R'],\n noticeInfo: 'ToOriginalStep',\n};\n\nexport const setValid = {\n name: 'ToggleEffectiveness',\n icon: SetValidSvg,\n shortCut: ['Y'],\n};\n\nexport const backward = {\n name: 'PreviousImage',\n icon: BackwardSvg,\n shortCut: ['A'],\n};\n\nexport const forward = {\n name: 'NextImage',\n icon: ForwardSvg,\n shortCut: ['D'],\n};\n\nexport const backwardPage = {\n name: 'PreviousFolder',\n icon: BackwardSvg,\n shortCut: ['Shift', 'A'],\n};\n\nexport const forwardPage = {\n name: 'NextFolder',\n icon: ForwardSvg,\n shortCut: ['Shift', 'D'],\n};\n\nexport const dargWithRightClick = {\n name: 'Drag',\n icon: DragWithRightClickSvg,\n shortCut: [DragWithRightClickShortCutSvg],\n noticeInfo: 'Press',\n};\n\nexport const dargWithLeftClick = {\n name: 'Drag',\n icon: DragWithRightClickSvg,\n shortCut: ['Space', DragWithLeftClickSvg],\n};\n\nexport const forwardWithEnter = {\n name: 'Next',\n icon: ForwardSvg,\n shortCut: ['Ctrl', 'Enter'],\n};\n\nexport const copyBackwardResult = {\n name: 'CopyThePrevious',\n icon: CopyBackwardResultSvg,\n shortCut: ['ALT', 'C'],\n};\n\nexport const attributeLock = {\n name: 'SpecifiedAttributesOnly',\n icon: IconEyeLockKj,\n shortCut: ['Shift', 'Number'],\n};\n\nexport const attributeClickLock = {\n name: 'SpecifiedAttributesOnly',\n icon: IconEyeLockKj,\n shortCut: ['Shift', DragWithLeftClickSvg],\n};\n\nexport const tabChangeSelected = {\n name: 'ToggleSelected',\n icon: TabChangeSelectedSvg,\n shortCut: ['Tab'],\n};\n\nexport const tabReverseChangeSelected = {\n name: 'ToggleSelectedReverse',\n icon: TabReverseChangeSelectedSVG,\n shortCut: ['Shift', 'Tab'],\n};\n\nexport const hidden = {\n name: 'HideGraphics',\n icon: IconNoDisplay,\n noticeInfo: '',\n shortCut: ['Z'],\n};\n\nexport const changeSpecialLine = {\n name: 'ToggleLineParticularity',\n icon: IconLineSpecialKj,\n noticeInfo: 'ToSide',\n shortCut: ['Shift', DragWithLeftClickSvg],\n};\n\nexport const saveResult = {\n name: 'Save',\n icon: IconSaveKj,\n shortCut: ['Ctrl', 'S'],\n};\n\nexport const speed = {\n name: 'Speed',\n icon: IconSpeed,\n shortCut: ['&#8593;', '&#8595;'],\n shortCutUseHtml: true,\n};\n\nexport const playPause = {\n name: 'PlayPause',\n icon: IconPlayPause,\n shortCut: ['Space'],\n};\n\nexport const forwardForward = {\n name: 'FastForward',\n icon: IconFastForward,\n shortCut: ['&#8594;'],\n shortCutUseHtml: true,\n};\n\nexport const rewind = {\n name: 'Rewind',\n icon: IconRewind,\n shortCut: ['&#8592;'],\n shortCutUseHtml: true,\n};\n"],"names":["RevokeSvg","RestoreSvg","ScaleSvg","ScaleShortCutSvg","FullScreenSvg","RotateSvg","SetValidSvg","BackwardSvg","ForwardSvg","DragWithRightClickSvg","DragWithRightClickShortCutSvg","DragWithLeftClickSvg","TabChangeSelectedSvg","TabReverseChangeSelectedSVG","IconNoDisplay","IconLineSpecialKj","IconSaveKj","IconSpeed","IconPlayPause","IconFastForward","IconRewind"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAwBO,MAAM,MAAS,GAAA;AAAA,EACpB,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAA,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAQ,EAAA,GAAA,CAAA;AAAA,EAAA;AAGd,MAAM,OAAU,GAAA;AAAA,EACrB,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAA,EAAQ,OAAS,EAAA,GAAA,CAAA;AAAA,EAAA;AAGvB,MAAM,KAAQ,GAAA;AAAA,EACnB,IAAM,EAAA,OAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,UAAa,GAAA;AAAA,EACxB,IAAM,EAAA,YAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,MAAS,GAAA;AAAA,EACpB,IAAM,EAAA,QAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EACX,UAAY,EAAA,gBAAA;AAAA,EAAA;AAGP,MAAM,QAAW,GAAA;AAAA,EACtB,IAAM,EAAA,qBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,QAAW,GAAA;AAAA,EACtB,IAAM,EAAA,eAAA;AAAA,EACN,IAAM,EAAAC,GAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,OAAU,GAAA;AAAA,EACrB,IAAM,EAAA,WAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAeN,MAAM,kBAAqB,GAAA;AAAA,EAChC,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAACC,KAAA,CAAA;AAAA,EACX,UAAY,EAAA,OAAA;AAAA,EAAA;AAGP,MAAM,iBAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAD,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,OAAS,EAAAE,KAAA,CAAA;AAAA,EAAA;AA2Bf,MAAM,iBAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,gBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,KAAA,CAAA;AAAA,EAAA;AAGN,MAAM,wBAA2B,GAAA;AAAA,EACtC,IAAM,EAAA,uBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,OAAS,EAAA,KAAA,CAAA;AAAA,EAAA;AAGf,MAAM,MAAS,GAAA;AAAA,EACpB,IAAM,EAAA,cAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,EAAA;AAAA,EACZ,UAAU,CAAC,GAAA,CAAA;AAAA,EAAA;AAGN,MAAM,iBAAoB,GAAA;AAAA,EAC/B,IAAM,EAAA,yBAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAY,EAAA,QAAA;AAAA,EACZ,QAAA,EAAU,CAAC,OAAS,EAAAJ,KAAA,CAAA;AAAA,EAAA;AAGf,MAAM,UAAa,GAAA;AAAA,EACxB,IAAM,EAAA,MAAA;AAAA,EACN,IAAM,EAAAK,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,MAAQ,EAAA,GAAA,CAAA;AAAA,EAAA;AAGd,MAAM,KAAQ,GAAA;AAAA,EACnB,IAAM,EAAA,OAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,QAAA,EAAU,CAAC,SAAW,EAAA,SAAA,CAAA;AAAA,EACtB,eAAiB,EAAA,IAAA;AAAA,EAAA;AAGZ,MAAM,SAAY,GAAA;AAAA,EACvB,IAAM,EAAA,WAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,OAAA,CAAA;AAAA,EAAA;AAGN,MAAM,cAAiB,GAAA;AAAA,EAC5B,IAAM,EAAA,aAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,SAAA,CAAA;AAAA,EACX,eAAiB,EAAA,IAAA;AAAA,EAAA;AAGZ,MAAM,MAAS,GAAA;AAAA,EACpB,IAAM,EAAA,QAAA;AAAA,EACN,IAAM,EAAAC,KAAA;AAAA,EACN,UAAU,CAAC,SAAA,CAAA;AAAA,EACX,eAAiB,EAAA,IAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- import{Popover as S}from"antd/es";import e,{useState as b}from"react";import{useSelector as j}from"react-redux";import k from"../../../../../assets/annotation/toolHotKeyIcon/icon_kj1.svg.js";import I from"../../../../../assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js";import{EToolName as r}from"../../../../../data/enums/ToolType.js";import R from"./rectToolShortCutTable/index.js";import _ from"./point/index.js";import N from"./polygon/index.js";import w from"./line/index.js";import H from"./tag/index.js";import M from"./text/index.js";import L from"../../../../../utils/StepUtils.js";import{footerCls as K}from"../../index.js";import{useTranslation as P}from"react-i18next";const y={[r.Rect]:R,[r.Tag]:H,[r.Point]:_,[r.Polygon]:N,[r.Line]:w,[r.Text]:M},U=({isSingleImg:W,style:u})=>{var c;const[g,i]=b(!1),{t:p}=P(),s=j(t=>{var o,m;return L.getCurrentStepInfo((o=t==null?void 0:t.annotation)==null?void 0:o.step,(m=t.annotation)==null?void 0:m.stepList)}),h=t=>typeof t=="string"?e.createElement("img",{width:16,height:16,src:t,style:f}):t,d={width:320,display:"flex",justifyContent:"space-between",margin:"23px 21px"},f={marginRight:10},a={display:"block",padding:"0 3px",minWidth:"20px",marginRight:"3px",border:"1px solid rgba(204,204,204,1)",verticalAlign:"middle",fontSize:"12px",textAlign:"center"},x=(t,o)=>e.createElement("div",{style:d,key:o},e.createElement("span",{style:{display:"flex",alignItems:"center"}},h(t.icon),p(t.name)),e.createElement("span",{style:{display:"flex",alignItems:"center"}},t.noticeInfo&&e.createElement("span",{style:{marginRight:"5px",color:"#CCCCCC"}},p(t.noticeInfo)),E(t.shortCut,t.shortCutUseHtml,t.linkSymbol))),E=(t,o=!1,m)=>{const T=t.map((n,l)=>o?e.createElement("span",{key:l,style:{display:"flex"}},e.createElement("span",{style:a,dangerouslySetInnerHTML:{__html:n}})):l<t.length-1?typeof n=="number"?e.createElement("span",{key:l,style:{display:"flex"}},e.createElement("span",{style:a},n),e.createElement("span",{style:{marginRight:"3px"}},"~")):(n==null?void 0:n.startsWith("data"))?e.createElement("span",{key:l,style:{display:"flex"}},e.createElement("span",{className:"shortCutButton",style:{marginRight:"3px"}},e.createElement("img",{width:16,height:23,src:n})),e.createElement("span",{style:{marginRight:"3px"}},"+")):e.createElement("span",{key:l,style:{display:"flex"}},e.createElement("span",{style:a},n),e.createElement("span",{style:{marginRight:"3px"}},m||"+")):typeof n=="number"?e.createElement("span",{key:l,style:{display:"flex"}},e.createElement("span",{style:a},n)):(n==null?void 0:n.startsWith("data"))?e.createElement("span",{className:"shortCutButton",key:l,style:{marginRight:"3px"}},e.createElement("img",{width:16,height:23,src:n})):e.createElement("span",{style:a,key:l},n));return e.createElement("div",{style:{display:"flex",justifyContent:"space-around",alignItems:"center"}},T)},v=e.createElement("div",{className:`${K}__hotkey-content`},s&&((c=y[s==null?void 0:s.tool])==null?void 0:c.map((t,o)=>x(t,o)))),C=u||{width:100};return s&&!y[s==null?void 0:s.tool]?null:e.createElement(S,{placement:"topLeft",content:v,onMouseMove:()=>i(!0),onMouseLeave:()=>{i(!1)},overlayClassName:"tool-hotkeys-popover"},e.createElement("div",{className:"shortCutTitle",onMouseMove:()=>i(!0),onMouseLeave:()=>i(!1),style:C},e.createElement("a",{className:"svg"},e.createElement("img",{src:g?I:k,width:15,height:13,style:{marginRight:"5px"}}),p("Hotkeys"))))};export{U as default};
1
+ import{Popover as S}from"antd/es";import e,{useState as j}from"react";import k from"../../../../../assets/annotation/toolHotKeyIcon/icon_kj1.svg.js";import R from"../../../../../assets/annotation/toolHotKeyIcon/icon_kj_h.svg.js";import{EToolName as l}from"../../../../../data/enums/ToolType.js";import I from"./rectToolShortCutTable/index.js";import _ from"./point/index.js";import w from"./polygon/index.js";import H from"./line/index.js";import M from"./tag/index.js";import N from"./text/index.js";import L from"./videoTag/index.js";import{footerCls as K}from"../../index.js";import{useTranslation as P}from"react-i18next";import{cTool as V}from"@labelbee/lb-annotation";const{EVideoToolName:W}=V,y={[l.Rect]:I,[l.Tag]:M,[l.Point]:_,[l.Polygon]:w,[l.Line]:H,[l.Text]:N,[W.VideoTagTool]:L},$=({style:g,title:c,toolName:i})=>{var p;const[u,s]=j(!1),{t:m}=P();if(!i)return null;const h=t=>typeof t=="string"?e.createElement("img",{width:16,height:16,src:t,style:f}):t,d={width:320,display:"flex",justifyContent:"space-between",margin:"23px 21px"},f={marginRight:10},r={display:"block",padding:"0 3px",minWidth:"20px",marginRight:"3px",border:"1px solid rgba(204,204,204,1)",verticalAlign:"middle",fontSize:"12px",textAlign:"center"},T=(t,a)=>e.createElement("div",{style:d,key:a},e.createElement("span",{style:{display:"flex",alignItems:"center"}},h(t.icon),m(t.name)),e.createElement("span",{style:{display:"flex",alignItems:"center"}},t.noticeInfo&&e.createElement("span",{style:{marginRight:"5px",color:"#CCCCCC"}},m(t.noticeInfo)),x(t.shortCut,t.shortCutUseHtml,t.linkSymbol))),x=(t,a=!1,v)=>{const b=t.map((o,n)=>a?e.createElement("span",{key:n,style:{display:"flex"}},e.createElement("span",{style:r,dangerouslySetInnerHTML:{__html:o}})):n<t.length-1?typeof o=="number"?e.createElement("span",{key:n,style:{display:"flex"}},e.createElement("span",{style:r},o),e.createElement("span",{style:{marginRight:"3px"}},"~")):(o==null?void 0:o.startsWith("data"))?e.createElement("span",{key:n,style:{display:"flex"}},e.createElement("span",{className:"shortCutButton",style:{marginRight:"3px"}},e.createElement("img",{width:16,height:23,src:o})),e.createElement("span",{style:{marginRight:"3px"}},"+")):e.createElement("span",{key:n,style:{display:"flex"}},e.createElement("span",{style:r},o),e.createElement("span",{style:{marginRight:"3px"}},v||"+")):typeof o=="number"?e.createElement("span",{key:n,style:{display:"flex"}},e.createElement("span",{style:r},o)):(o==null?void 0:o.startsWith("data"))?e.createElement("span",{className:"shortCutButton",key:n,style:{marginRight:"3px"}},e.createElement("img",{width:16,height:23,src:o})):e.createElement("span",{style:r,key:n},o));return e.createElement("div",{style:{display:"flex",justifyContent:"space-around",alignItems:"center"}},b)},E=e.createElement("div",{className:`${K}__hotkey-content`},(p=y[i])==null?void 0:p.map((t,a)=>T(t,a))),C=g||{width:100};return y[i]?e.createElement(S,{placement:"topLeft",content:E,onMouseMove:()=>s(!0),onMouseLeave:()=>{s(!1)},overlayClassName:"tool-hotkeys-popover"},e.createElement("div",{className:"shortCutTitle",onMouseMove:()=>s(!0),onMouseLeave:()=>s(!1),style:C},c!=null?c:e.createElement("a",{className:"svg"},e.createElement("img",{src:u?R:k,width:15,height:13,style:{marginRight:"5px"}}),m("Hotkeys")))):null};export{$ as default};
@@ -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: 100 };\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?: JSX.Element;\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 y from"../../../../../../assets/annotation/toolHotKeyIcon/icon_line_kj.svg.js";import p from"../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonNull_kj.svg.js";import _ from"../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonActive_kj.svg.js";import f 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 j from"../../../../../../assets/annotation/toolHotKeyIcon/icon_lineCont_kj.svg.js";import C from"../../../../../../assets/annotation/toolHotKeyIcon/icon_polygonInsert_kj.svg.js";import u from"../../../../../../assets/annotation/toolHotKeyIcon/icon_unGrip_kj.svg.js";import{revoke as h,restore as d,rotate as k,scale as I,backward as v,forward as P,setValid as H,dargWithRightClick as K,dargWithLeftClick as b,tabChangeSelected as A,tabReverseChangeSelected as $}from"../common/index.js";const e={name:"AnnotatePolygon",icon:y,shortCut:[o]},s={name:"AnnotateInvalidPolygon",icon:p,shortCut:["Ctrl",o]},i={name:"SelectPolygon",icon:_,shortCut:[n],noticeInfo:"RightClick"},a={name:"TogglePolygonEffectiveness",icon:f,shortCut:["F"]},l={name:"DeletePolygon",icon:t,shortCut:["Del"]},c={name:"ContinueToLabel",icon:j,shortCut:["Space"]},r={name:"InsertPoint",icon:C,noticeInfo:"SelectAndDoubleClick",shortCut:[o]},g={name:"DeletePoint",icon:t,noticeInfo:"SelectAndDoubleClick",shortCut:[n]},m={name:"StopAdsorption",icon:u,noticeInfo:"Press",shortCut:["Alt"]},S=[e,s,i,a,l,c,r,g,m,h,d,k,I,v,P,H,K,b,A,$];export{a as changePolygonAttribute,S as default,l as deletePolygon,g as deletePolygonPoint,r as insertPolygonPoint,s as invalidPolygon,c as keepLine,e as polygon,i as selectedPolygon,m as suspendAbsorption};
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'\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 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 segment = {\n name: 'CropOverlapArea',\n icon: IconSegment,\n noticeInfo: '',\n shortCut: ['ALT', 'X'],\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 // segment,\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];\nexport default pointToolShortCutTable;\n"],"names":["DrawPolygonSvg","MouseLeftSvg","DrawInvalidPolygonSvg","SelectedPolygonSvg","MouseRightSvg","ChangePolygonAttribute","DeletePolygonSvg","IconLineContKj","IconPolygonInsertKj","IconUnGripKj"],"mappings":";;;;;;;;;;;;AAqCO,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;AAwBb,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,EAMA,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;;;;"}
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 e from"react";import t from"./ToolHotKey/index.js";const o=()=>e.createElement("div",{className:"tipsBar"},e.createElement(t,null));export{o as default};
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=\"tipsBar\">\n <ToolHotKey />\n </div>\n);\n\nexport default FooterTips;\n"],"names":[],"mappings":";;;AAGM,MAAA,UAAA,GAAuB,sBAC3B,KAAA,CAAA,aAAA,CAAC,KAAD,EAAA;AAAA,EAAK,SAAU,EAAA,SAAA;AAAA,CAAA,sCACZ,UAAD,EAAA,IAAA,CAAA;;;;"}
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 k}from"../../../constant/index.js";import{PageBackward as C,PageForward as S,PageJump as _}from"../../../store/annotation/actionCreators.js";import{getTotalPage as $}from"../../../store/annotation/reducer.js";import{LeftOutlined as w,RightOutlined as F}from"@ant-design/icons";import{Input as L,Divider as R}from"antd/es";import e,{useState as D,useRef as J,useEffect as H}from"react";import{useTranslation as B}from"react-i18next";import{connect as O,useDispatch as Z}from"react-redux";import z from"./FooterTips/index.js";import A from"./HiddenTips/index.js";import K from"./PageNumber/index.js";import q from"./ZoomController/index.js";const h=t=>{const{jumpSkip:i,imgIndex:r}=t,[l,s]=D(r),c=J(null);H(()=>{s(r+1)},[r]);const m=n=>{/^\d*$/.test(n.target.value)&&s(n.target.value)},a=n=>{n.keyCode===13&&i(n.target.value)};return e.createElement(L,{className:"pageInput",ref:c,onChange:m,value:l,onKeyDown:a})},o=`${k}-footer`,G=()=>e.createElement(R,{type:"vertical",style:{background:"rgba(153, 153, 153, 1)",height:"16px"}}),M=t=>{var i;const{stepList:r,step:l,basicResultList:s,basicIndex:c,mode:m,footer:a}=t,n=Z(),{t:u}=B(),v=(i=r[l-1])!=null?i:{},b=()=>{n(C())},T=()=>{n(S())},y=P=>{const j=~~P-1;n(_(j))},N=!!v.dataSourceStep,d=e.createElement(z,null),g=e.createElement(A,null),f=e.createElement(K,null),x=e.createElement("div",{className:`${o}__pagination`},e.createElement(w,{className:`${o}__highlight`,onClick:b}),e.createElement(h,{imgIndex:t.imgIndex,jumpSkip:y}),"/",e.createElement("span",{className:`${o}__pageAll`},t.totalPage),e.createElement(F,{className:`${o}__highlight`,onClick:T})),E=e.createElement(q,{mode:m}),I=e.createElement("span",null,u("curItems",{current:c+1,total:s.length})),p=e.createElement(G,null);return a?typeof a=="function"?e.createElement("div",{className:`${o}`,style:t.style},a({footerTips:d,hiddenTips:g,pageNumber:f,pagination:x,zoomController:E,curItems:I,footerDivider:p})):a:e.createElement("div",{className:`${o}`,style:t.style},d,e.createElement("div",{style:{flex:1}}),g,f,x,N&&s.length>0&&e.createElement(e.Fragment,null,p,I),p,E)},Q=t=>({totalPage:$(t.annotation),imgIndex:t.annotation.imgIndex,stepList:t.annotation.stepList,step:t.annotation.step,basicIndex:t.annotation.basicIndex,basicResultList:t.annotation.basicResultList});var U=O(Q)(M);export{h as PageInput,U as default,o as footerCls};
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 { LeftOutlined, RightOutlined } from '@ant-design/icons';\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';\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 <div className={`${footerCls}__pagination`}>\n <LeftOutlined className={`${footerCls}__highlight`} onClick={pageBackward} />\n <PageInput imgIndex={props.imgIndex} jumpSkip={pageJump} />/\n <span className={`${footerCls}__pageAll`}>{props.totalPage}</span>\n <RightOutlined className={`${footerCls}__highlight`} onClick={pageForward} />\n </div>\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
+ {"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 m,{useState as f,useCallback as i}from"react";import{useDispatch as N,useSelector as y}from"react-redux";import j from"../../../../assets/annotation/common/icon_r.svg.js";import x from"../../../../assets/annotation/common/icon_next.svg.js";import h from"../../../../assets/annotation/common/icon_back.svg.js";import k from"../../../../assets/annotation/common/icon_rA.svg.js";import _ 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 E from"../../../../assets/annotation/common/icon_saveA.svg.js";import{prefix as T}from"../../../../constant/index.js";import{EToolName as A}from"../../../../data/enums/ToolType.js";import{ChangeSave as b}from"../../../../store/annotation/actionCreators.js";import{useTranslation as w}from"react-i18next";var t;(function(s){s.Hover="#666fff",s.Normal="#cccccc"})(t||(t={}));const R=s=>{const[n,c]=f(""),{stepInfo:r}=s,l=N(),{annotation:{toolInstance:e,onSave:v}}=y(o=>({annotation:o.annotation,imgAttribute:o.imgAttribute})),{t:g}=w(),a=s.isBegin||(r==null?void 0:r.tool)===A.Tag,p=()=>{r.dataSourceStep!==0&&r.dataSourceStep!==void 0||e==null||e.updateRotate()},u=i(()=>{e==null||e.undo()},[e]),d=i(()=>{e==null||e.redo()},[e]),S=[{toolName:"save",title:"Save",show:!!v,commonSvg:$,selectedSvg:E,click:()=>{l(b)},style:{fontSize:"12px",color:!a&&n==="save"?t.Hover:t.Normal}},{toolName:"revocation",title:"Undo",show:!0,commonSvg:h,selectedSvg:H,click:()=>{u()},style:{opacity:a===!0?.4:1,fontSize:"12px",color:!a&&n==="revocation"?t.Hover:t.Normal}},{toolName:"restore",title:"Redo",show:!0,commonSvg:x,selectedSvg:_,click:()=>{d()},style:{opacity:a===!0?.4:1,fontSize:"12px",color:!a&&n==="restore"?t.Hover:t.Normal}},{toolName:"rotate",title:"Rotate",show:!0,selectedSvg:k,commonSvg:j,click:()=>{p()},style:{fontSize:"12px",color:!a&&n==="rotate"?t.Hover:t.Normal}}];return m.createElement("div",{className:`${T}-header__hotKey`},S.map(o=>o.show&&m.createElement("div",{key:o.toolName,className:"item",onMouseEnter:()=>c(o.toolName),onMouseLeave:()=>c("")},m.createElement("a",{className:"item",onClick:o.click},m.createElement("img",{className:"singleTool",src:n===o.toolName?o.selectedSvg:o.commonSvg,style:o.style}),m.createElement("div",{style:o.style},g(o.title))))))};export{R as default};
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};