@labelbee/lb-components 1.2.3-alpha.6 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/App.js +1 -1
  2. package/dist/components/AnnotationView/index.js +1 -1
  3. package/dist/index.css +812 -651
  4. package/dist/index.css.map +1 -0
  5. package/dist/index.js +1 -1
  6. package/dist/store/annotation/reducer.js +1 -1
  7. package/dist/types/App.d.ts +23 -7
  8. package/dist/types/index.d.ts +4 -3
  9. package/dist/types/store/annotation/reducer.d.ts +1 -1
  10. package/dist/types/views/MainView/annotationOperation/index.d.ts +5 -9
  11. package/dist/types/views/MainView/index.d.ts +1 -1
  12. package/dist/types/views/MainView/sidebar/AnnotationText/index.d.ts +3 -1
  13. package/dist/types/views/MainView/sidebar/GeneralOperation/index.d.ts +3 -1
  14. package/dist/types/views/MainView/sidebar/SwitchAttributeList/index.d.ts +3 -1
  15. package/dist/types/views/MainView/sidebar/TagSidebar/index.d.ts +3 -1
  16. package/dist/types/views/MainView/sidebar/TextToolSidebar/index.d.ts +3 -1
  17. package/dist/types/views/MainView/sidebar/index.d.ts +3 -1
  18. package/dist/types/views/MainView/toolFooter/ZoomController/ZoomLevel/index.d.ts +3 -1
  19. package/dist/types/views/MainView/toolFooter/ZoomController/index.d.ts +3 -1
  20. package/dist/types/views/MainView/toolFooter/index.d.ts +6 -2
  21. package/dist/types/views/MainView/toolHeader/ExportData/index.d.ts +3 -1
  22. package/dist/types/views/MainView/toolHeader/StepSwitch/index.d.ts +3 -1
  23. package/dist/types/views/MainView/toolHeader/index.d.ts +8 -4
  24. package/dist/utils/index.js +1 -1
  25. package/dist/views/MainView/annotationOperation/index.js +1 -1
  26. package/dist/views/MainView/index.js +1 -1
  27. package/dist/views/MainView/sidebar/index.js +1 -1
  28. package/dist/views/MainView/toolFooter/index.js +1 -1
  29. package/dist/views/MainView/toolHeader/index.js +1 -1
  30. package/es/App.js +1 -1
  31. package/es/App.js.map +1 -1
  32. package/es/assets/annotation/polygonTool/icon_rectangle_a.svg.js +1 -0
  33. package/es/assets/annotation/polygonTool/icon_rectangle_a.svg.js.map +1 -0
  34. package/es/components/AnnotationView/index.js +1 -1
  35. package/es/components/AnnotationView/index.js.map +1 -1
  36. package/es/components/ImageError/index.js.map +1 -1
  37. package/es/components/annotationStepPopover/index.js.map +1 -1
  38. package/es/components/attributeList/index.js.map +1 -1
  39. package/es/components/checkboxList/index.js.map +1 -1
  40. package/es/components/colorTag/index.js.map +1 -1
  41. package/es/components/customAntd/IconWithText/index.js.map +1 -1
  42. package/es/components/customResizeHook/index.js.map +1 -1
  43. package/es/configureStore.js.map +1 -1
  44. package/es/constant/index.js.map +1 -1
  45. package/es/constant/styleString.js.map +1 -1
  46. package/es/data/Style.js.map +1 -1
  47. package/es/data/enums/AnnotationSize.js.map +1 -1
  48. package/es/data/enums/ToolType.js.map +1 -1
  49. package/es/hooks/useRafState.js.map +1 -1
  50. package/es/hooks/useSafeSate.js.map +1 -1
  51. package/es/hooks/useSize.js.map +1 -1
  52. package/es/hooks/useUnmountedRef.js.map +1 -1
  53. package/es/index.js +1 -1
  54. package/es/index.js.map +1 -1
  55. package/es/store/Actions.js.map +1 -1
  56. package/es/store/annotation/actionCreators.js.map +1 -1
  57. package/es/store/annotation/reducer.js +1 -1
  58. package/es/store/annotation/reducer.js.map +1 -1
  59. package/es/store/imgAttribute/actionCreators.js.map +1 -1
  60. package/es/store/imgAttribute/reducer.js.map +1 -1
  61. package/es/store/index.js.map +1 -1
  62. package/es/store/toolStyle/actionCreators.js.map +1 -1
  63. package/es/store/toolStyle/reducer.js.map +1 -1
  64. package/es/utils/AnnotationDataUtils.js.map +1 -1
  65. package/es/utils/ConfigUtils.js.map +1 -1
  66. package/es/utils/PageOperator.js.map +1 -1
  67. package/es/utils/StepUtils.js.map +1 -1
  68. package/es/utils/TextUtils.js.map +1 -1
  69. package/es/utils/ToolStyleUtils.js.map +1 -1
  70. package/es/utils/data.js.map +1 -1
  71. package/es/utils/dom.js.map +1 -1
  72. package/es/utils/index.js +1 -1
  73. package/es/utils/index.js.map +1 -1
  74. package/es/views/MainView/annotationOperation/index.js +1 -1
  75. package/es/views/MainView/annotationOperation/index.js.map +1 -1
  76. package/es/views/MainView/index.js +1 -1
  77. package/es/views/MainView/index.js.map +1 -1
  78. package/es/views/MainView/sidebar/AnnotationText/index.js.map +1 -1
  79. package/es/views/MainView/sidebar/ClearIcon/index.js.map +1 -1
  80. package/es/views/MainView/sidebar/GeneralOperation/index.js.map +1 -1
  81. package/es/views/MainView/sidebar/ImgAttributeInfo/index.js.map +1 -1
  82. package/es/views/MainView/sidebar/SwitchAttributeList/index.js.map +1 -1
  83. package/es/views/MainView/sidebar/TagSidebar/index.js.map +1 -1
  84. package/es/views/MainView/sidebar/TextAreaFormat/index.js.map +1 -1
  85. package/es/views/MainView/sidebar/TextToolSidebar/index.js.map +1 -1
  86. package/es/views/MainView/sidebar/ToolStyle/index.js.map +1 -1
  87. package/es/views/MainView/sidebar/index.js +1 -1
  88. package/es/views/MainView/sidebar/index.js.map +1 -1
  89. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/common/index.js.map +1 -1
  90. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/index.js.map +1 -1
  91. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/line/index.js.map +1 -1
  92. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/point/index.js.map +1 -1
  93. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/polygon/index.js.map +1 -1
  94. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/rectToolShortCutTable/index.js.map +1 -1
  95. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/tag/index.js.map +1 -1
  96. package/es/views/MainView/toolFooter/FooterTips/ToolHotKey/text/index.js.map +1 -1
  97. package/es/views/MainView/toolFooter/FooterTips/index.js.map +1 -1
  98. package/es/views/MainView/toolFooter/HiddenTips/index.js.map +1 -1
  99. package/es/views/MainView/toolFooter/PageNumber/index.js.map +1 -1
  100. package/es/views/MainView/toolFooter/ZoomController/ZoomLevel/index.js.map +1 -1
  101. package/es/views/MainView/toolFooter/ZoomController/index.js.map +1 -1
  102. package/es/views/MainView/toolFooter/index.js +1 -1
  103. package/es/views/MainView/toolFooter/index.js.map +1 -1
  104. package/es/views/MainView/toolHeader/ExportData/index.js.map +1 -1
  105. package/es/views/MainView/toolHeader/StepSwitch/index.js.map +1 -1
  106. package/es/views/MainView/toolHeader/headerOption/index.js.map +1 -1
  107. package/es/views/MainView/toolHeader/index.js +1 -1
  108. package/es/views/MainView/toolHeader/index.js.map +1 -1
  109. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"actionCreators.js","sources":["../../../src/store/imgAttribute/actionCreators.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeActionTypes, ImgAttributeState } from './types';\n\nexport function UpdateImgAttribute(imgAttribute: ImgAttributeState): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE,\n payload: imgAttribute,\n };\n}\n\nexport function InitImgAttribute(): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE,\n payload: {}\n };\n}\n\nexport default {\n UpdateImgAttribute,\n InitImgAttribute,\n};\n"],"names":[],"mappings":";;4BAGmC,cAA0D;AAC3F,SAAO;AAAA,IACL,MAAM,wBAAwB;AAAA,IAC9B,SAAS;AAAA;AAAA;4BAI+C;AAC1D,SAAO;AAAA,IACL,MAAM,wBAAwB;AAAA,IAC9B,SAAS;AAAA;AAAA;AAIb,mBAAe;AAAA,EACb;AAAA,EACA;AAAA;;;;"}
1
+ {"version":3,"file":"actionCreators.js","sources":["../../../src/store/imgAttribute/actionCreators.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeActionTypes, ImgAttributeState } from './types';\n\nexport function UpdateImgAttribute(imgAttribute: ImgAttributeState): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE,\n payload: imgAttribute,\n };\n}\n\nexport function InitImgAttribute(): ImgAttributeActionTypes {\n return {\n type: IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE,\n payload: {}\n };\n}\n\nexport default {\n UpdateImgAttribute,\n InitImgAttribute,\n};\n"],"names":[],"mappings":";;AAGO,SAAA,kBAAA,CAA4B,YAA0D,EAAA;AAC3F,EAAO,OAAA;AAAA,IACL,MAAM,uBAAwB,CAAA,oBAAA;AAAA,IAC9B,OAAS,EAAA,YAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAI+C,SAAA,gBAAA,GAAA;AAC1D,EAAO,OAAA;AAAA,IACL,MAAM,uBAAwB,CAAA,kBAAA;AAAA,IAC9B,OAAS,EAAA,EAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAIb,mBAAe;AAAA,EACb,kBAAA;AAAA,EACA,gBAAA;AAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../src/store/imgAttribute/reducer.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeState, ImgAttributeActionTypes } from './types';\n\nconst initialState: ImgAttributeState = {\n contrast: 1,\n saturation: 1,\n brightness: 1,\n zoomRatio: 1,\n isOriginalSize: false,\n};\n\nexport function imgAttributeReducer(\n state = { ...initialState },\n action: ImgAttributeActionTypes,\n): ImgAttributeState {\n switch (action.type) {\n case IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE: {\n return {\n ...state,\n ...action.payload,\n };\n }\n\n case IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE: {\n return {\n ...initialState,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,MAAM,eAAkC;AAAA,EACtC,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA;6BAIhB,QAAQ,mBAAK,eACb,QACmB;AACnB,UAAQ,OAAO;AAAA,SACR,wBAAwB,sBAAsB;AACjD,aAAO,kCACF,QACA,OAAO;AAAA;AAAA,SAIT,wBAAwB,oBAAoB;AAC/C,aAAO,mBACF;AAAA;AAAA;AAKL,aAAO;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../src/store/imgAttribute/reducer.ts"],"sourcesContent":["import { IMAGE_ATTRIBUTE_ACTIONS } from '@/store/Actions';\nimport { ImgAttributeState, ImgAttributeActionTypes } from './types';\n\nconst initialState: ImgAttributeState = {\n contrast: 1,\n saturation: 1,\n brightness: 1,\n zoomRatio: 1,\n isOriginalSize: false,\n};\n\nexport function imgAttributeReducer(\n state = { ...initialState },\n action: ImgAttributeActionTypes,\n): ImgAttributeState {\n switch (action.type) {\n case IMAGE_ATTRIBUTE_ACTIONS.UPDATE_IMG_ATTRIBUTE: {\n return {\n ...state,\n ...action.payload,\n };\n }\n\n case IMAGE_ATTRIBUTE_ACTIONS.INIT_IMG_ATTRIBUTE: {\n return {\n ...initialState,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAGA,MAAM,YAAkC,GAAA;AAAA,EACtC,QAAU,EAAA,CAAA;AAAA,EACV,UAAY,EAAA,CAAA;AAAA,EACZ,UAAY,EAAA,CAAA;AAAA,EACZ,SAAW,EAAA,CAAA;AAAA,EACX,cAAgB,EAAA,KAAA;AAAA,CAAA,CAAA;AAIhB,SAAA,mBAAA,CAAA,KAAA,GAAQ,cAAK,CAAA,EAAA,EAAA,YAAA,CAAA,EACb,MACmB,EAAA;AACnB,EAAA,QAAQ,MAAO,CAAA,IAAA;AAAA,IAAA,KACR,wBAAwB,oBAAsB,EAAA;AACjD,MAAO,OAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,QACA,MAAO,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIT,wBAAwB,kBAAoB,EAAA;AAC/C,MAAA,OAAO,cACF,CAAA,EAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA;AAKL,MAAO,OAAA,KAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/store/index.ts"],"sourcesContent":["import { combineReducers, CombinedState } from 'redux';\nimport { annotationReducer } from './annotation/reducer';\nimport { imgAttributeReducer } from './imgAttribute/reducer';\nimport { toolStyleReducer } from './toolStyle/reducer';\n\nexport const rootReducer: CombinedState<any> = combineReducers({\n annotation: annotationReducer,\n imgAttribute: imgAttributeReducer,\n toolStyle: toolStyleReducer,\n});\n\nexport type AppState = ReturnType<typeof rootReducer>;\n"],"names":[],"mappings":";;;;;MAKa,cAAkC,gBAAgB;AAAA,EAC7D,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,WAAW;AAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/store/index.ts"],"sourcesContent":["import { combineReducers, CombinedState } from 'redux';\nimport { annotationReducer } from './annotation/reducer';\nimport { imgAttributeReducer } from './imgAttribute/reducer';\nimport { toolStyleReducer } from './toolStyle/reducer';\n\nexport const rootReducer: CombinedState<any> = combineReducers({\n annotation: annotationReducer,\n imgAttribute: imgAttributeReducer,\n toolStyle: toolStyleReducer,\n});\n\nexport type AppState = ReturnType<typeof rootReducer>;\n"],"names":[],"mappings":";;;;;AAKO,MAAM,cAAkC,eAAgB,CAAA;AAAA,EAC7D,UAAY,EAAA,iBAAA;AAAA,EACZ,YAAc,EAAA,mBAAA;AAAA,EACd,SAAW,EAAA,gBAAA;AAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"actionCreators.js","sources":["../../../src/store/toolStyle/actionCreators.ts"],"sourcesContent":["import { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nexport function InitToolStyleConfig(): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG,\n payload: undefined\n };\n}\n\nexport function UpdateToolStyleConfig(toolStyle: Partial<ToolStyleState>): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG,\n payload: toolStyle,\n };\n}\n\nexport default {\n InitToolStyleConfig,\n UpdateToolStyleConfig,\n};\n"],"names":[],"mappings":";;+BAG4D;AAC1D,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS;AAAA;AAAA;+BAIyB,WAA0D;AAC9F,SAAO;AAAA,IACL,MAAM,mBAAmB;AAAA,IACzB,SAAS;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"actionCreators.js","sources":["../../../src/store/toolStyle/actionCreators.ts"],"sourcesContent":["import { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nexport function InitToolStyleConfig(): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG,\n payload: undefined\n };\n}\n\nexport function UpdateToolStyleConfig(toolStyle: Partial<ToolStyleState>): ToolStyleActionTypes {\n return {\n type: TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG,\n payload: toolStyle,\n };\n}\n\nexport default {\n InitToolStyleConfig,\n UpdateToolStyleConfig,\n};\n"],"names":[],"mappings":";;AAG4D,SAAA,mBAAA,GAAA;AAC1D,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,sBAAA;AAAA,IACzB,OAAS,EAAA,KAAA,CAAA;AAAA,GAAA,CAAA;AAAA,CAAA;AAIN,SAAA,qBAAA,CAA+B,SAA0D,EAAA;AAC9F,EAAO,OAAA;AAAA,IACL,MAAM,kBAAmB,CAAA,wBAAA;AAAA,IACzB,OAAS,EAAA,SAAA;AAAA,GAAA,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.js","sources":["../../../src/store/toolStyle/reducer.ts"],"sourcesContent":["import { COLORS_ARRAY, NULL_COLOR } from '@/data/Style';\nimport { ToolStyleUtils } from '@/utils/ToolStyleUtils';\nimport { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nconst initialState: ToolStyleState = {\n color: 1,\n width: 2,\n borderOpacity: 9,\n fillOpacity: 9,\n toolColor: ToolStyleUtils.getToolColors(),\n attributeColor: ToolStyleUtils.getAttributeColors(),\n lineColor: ToolStyleUtils.getDefaultToolLineColors(),\n attributeLineColor: [NULL_COLOR].concat(COLORS_ARRAY),\n};\n\nexport function toolStyleReducer(\n state = { ...initialState },\n action: ToolStyleActionTypes,\n): ToolStyleState {\n switch (action.type) {\n case TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG: {\n return {\n ...initialState,\n };\n }\n\n case TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG: {\n const computeColor = {};\n const payload = action.payload;\n if (payload?.borderOpacity || payload?.fillOpacity) {\n Object.assign(\n computeColor,\n ToolStyleUtils.initByOpacity(\n payload.borderOpacity || state.borderOpacity,\n payload.fillOpacity || state.fillOpacity,\n ),\n );\n }\n\n return {\n ...state,\n ...action.payload,\n ...computeColor,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAKA,MAAM,eAA+B;AAAA,EACnC,OAAO;AAAA,EACP,OAAO;AAAA,EACP,eAAe;AAAA,EACf,aAAa;AAAA,EACb,WAAW,eAAe;AAAA,EAC1B,gBAAgB,eAAe;AAAA,EAC/B,WAAW,eAAe;AAAA,EAC1B,oBAAoB,CAAC,YAAY,OAAO;AAAA;0BAIxC,QAAQ,mBAAK,eACb,QACgB;AAChB,UAAQ,OAAO;AAAA,SACR,mBAAmB,wBAAwB;AAC9C,aAAO,mBACF;AAAA;AAAA,SAIF,mBAAmB,0BAA0B;AAChD,YAAM,eAAe;AACrB,YAAM,UAAU,OAAO;AACvB,UAAI,oCAAS,sDAA0B,cAAa;AAClD,eAAO,OACL,cACA,eAAe,cACb,QAAQ,iBAAiB,MAAM,eAC/B,QAAQ,eAAe,MAAM;AAAA;AAKnC,aAAO,iDACF,QACA,OAAO,UACP;AAAA;AAAA;AAKL,aAAO;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"reducer.js","sources":["../../../src/store/toolStyle/reducer.ts"],"sourcesContent":["import { COLORS_ARRAY, NULL_COLOR } from '@/data/Style';\nimport { ToolStyleUtils } from '@/utils/ToolStyleUtils';\nimport { TOOL_STYLE_ACTIONS } from '@/store/Actions';\nimport { ToolStyleActionTypes, ToolStyleState } from './types';\n\nconst initialState: ToolStyleState = {\n color: 1,\n width: 2,\n borderOpacity: 9,\n fillOpacity: 9,\n toolColor: ToolStyleUtils.getToolColors(),\n attributeColor: ToolStyleUtils.getAttributeColors(),\n lineColor: ToolStyleUtils.getDefaultToolLineColors(),\n attributeLineColor: [NULL_COLOR].concat(COLORS_ARRAY),\n};\n\nexport function toolStyleReducer(\n state = { ...initialState },\n action: ToolStyleActionTypes,\n): ToolStyleState {\n switch (action.type) {\n case TOOL_STYLE_ACTIONS.INIT_TOOL_STYLE_CONFIG: {\n return {\n ...initialState,\n };\n }\n\n case TOOL_STYLE_ACTIONS.UPDATE_TOOL_STYLE_CONFIG: {\n const computeColor = {};\n const payload = action.payload;\n if (payload?.borderOpacity || payload?.fillOpacity) {\n Object.assign(\n computeColor,\n ToolStyleUtils.initByOpacity(\n payload.borderOpacity || state.borderOpacity,\n payload.fillOpacity || state.fillOpacity,\n ),\n );\n }\n\n return {\n ...state,\n ...action.payload,\n ...computeColor,\n };\n }\n\n default:\n return state;\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAKA,MAAM,YAA+B,GAAA;AAAA,EACnC,KAAO,EAAA,CAAA;AAAA,EACP,KAAO,EAAA,CAAA;AAAA,EACP,aAAe,EAAA,CAAA;AAAA,EACf,WAAa,EAAA,CAAA;AAAA,EACb,WAAW,cAAe,CAAA,aAAA,EAAA;AAAA,EAC1B,gBAAgB,cAAe,CAAA,kBAAA,EAAA;AAAA,EAC/B,WAAW,cAAe,CAAA,wBAAA,EAAA;AAAA,EAC1B,kBAAA,EAAoB,CAAC,UAAA,CAAA,CAAY,MAAO,CAAA,YAAA,CAAA;AAAA,CAAA,CAAA;AAIxC,SAAA,gBAAA,CAAA,KAAA,GAAQ,cAAK,CAAA,EAAA,EAAA,YAAA,CAAA,EACb,MACgB,EAAA;AAChB,EAAA,QAAQ,MAAO,CAAA,IAAA;AAAA,IAAA,KACR,mBAAmB,sBAAwB,EAAA;AAC9C,MAAA,OAAO,cACF,CAAA,EAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA,KAIF,mBAAmB,wBAA0B,EAAA;AAChD,MAAA,MAAM,YAAe,GAAA,EAAA,CAAA;AACrB,MAAA,MAAM,UAAU,MAAO,CAAA,OAAA,CAAA;AACvB,MAAI,IAAA,CAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,aAAiB,MAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAS,WAAa,CAAA,EAAA;AAClD,QAAO,MAAA,CAAA,MAAA,CACL,YACA,EAAA,cAAA,CAAe,aACb,CAAA,OAAA,CAAQ,iBAAiB,KAAM,CAAA,aAAA,EAC/B,OAAQ,CAAA,WAAA,IAAe,KAAM,CAAA,WAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAKnC,MAAO,OAAA,cAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EACF,KACA,CAAA,EAAA,MAAA,CAAO,OACP,CAAA,EAAA,YAAA,CAAA,CAAA;AAAA,KAAA;AAAA,IAAA;AAKL,MAAO,OAAA,KAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"AnnotationDataUtils.js","sources":["../../src/utils/AnnotationDataUtils.ts"],"sourcesContent":["import { uuid } from '@labelbee/lb-annotation';\nimport { jsonParser } from '.';\nimport { EToolName } from '@/data/enums/ToolType';\nimport _ from 'lodash';\nimport StepUtils from './StepUtils';\nimport { IStepInfo } from '@/types/step';\n\nexport default class AnnotationDataUtils {\n /**\n * 复制上一张图片结果\n * @param copyResult 复制的结果\n * @param step 复制的步骤\n * @param currentResult 当前的步骤\n * @returns\n */\n public static copyResultChange(copyResult: string, step: number, currentResult: string) {\n // 其实其限定的范围一般都在单图的情况\n try {\n const copyData = jsonParser(copyResult);\n const currentData = jsonParser(currentResult);\n const stepName = `step_${step}`;\n if (copyData[stepName]) {\n // 这层可能还要处理 dataSource 依赖问题\n const info = copyData[stepName];\n if (info.result) {\n info.result = info.result.map((info: any) => ({\n ...info,\n // @ts-ignore\n id: uuid(8, 62),\n }));\n currentData[stepName] = info;\n return JSON.stringify(currentData);\n }\n }\n return copyResult;\n } catch {\n return copyResult;\n }\n }\n\n /**\n * 判断结果sourceID与依赖数据的id是否能对应\n * @param result\n * @param basicResultList\n */\n public static isResultSourceMatchedDependence(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n const sourceIDForDependStep = basicResultList?.map((i) => i.id).sort();\n\n return _.isEqual(sourceIDForCurStep, sourceIDForDependStep);\n }\n\n /**\n * 获取依赖增量更新的内容\n * @param result\n * @param basicResultList\n * @returns\n */\n public static deltaUpdateBasicResultList(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n\n return basicResultList.filter((v) => !sourceIDForCurStep.includes(v.id));\n }\n\n /**\n *\n * @param stepResult\n * @param toolInstance\n * @param stepConfig\n * @param basicResultList 获取初始化数据 该部分默认输入需要为空数组\n * @param isInitData\n * @returns\n */\n public static getInitialResultList(\n stepResult: any[] | undefined,\n toolInstance: any,\n stepConfig: any,\n basicResultList: any[],\n isInitData: boolean,\n ) {\n const resultList = stepResult ?? [];\n\n switch (stepConfig.tool) {\n case EToolName.Tag:\n case EToolName.Text: {\n /**\n * 在依赖的情况下,检查的是否需要增量更新前面新增的结果\n */\n if (stepConfig.dataSourceStep > 0) {\n const deltaResultList = this.deltaUpdateBasicResultList(resultList, basicResultList);\n if (deltaResultList.length > 0) {\n return resultList.concat(\n toolInstance.getInitResultList(stepConfig.dataSourceStep, deltaResultList),\n );\n }\n }\n\n if (isInitData !== true) {\n return resultList;\n }\n\n return toolInstance.getInitResultList(stepConfig.dataSourceStep, basicResultList);\n }\n\n default: {\n return resultList;\n }\n }\n }\n\n /**\n * 修正数据,找到被删除的数据,并将依赖该数据的结果全部删除\n * @param newResStr 新提交的数据\n * @param oldResStr 当前的数据\n * @param step 当前操作的步骤\n * @param stepList 步骤列表\n */\n public static dataCorrection(\n newResStr: string,\n oldResStr: string,\n step: number,\n stepList: IStepInfo[],\n ) {\n try {\n const curStep = StepUtils.getStepInfo(step, stepList);\n const stepKey = `step_${curStep.step}`;\n const newRes = jsonParser(newResStr);\n const oldRes = jsonParser(oldResStr);\n const newResForCurStep = newRes[stepKey]?.result;\n const oldResForCurStep = oldRes[stepKey]?.result;\n\n /** 没有旧数据时不处理 */\n if (!oldResForCurStep) {\n return newResStr;\n }\n\n if (_.isEqual(newResForCurStep.sort(this.idCmp), oldResForCurStep.sort(this.idCmp))) {\n return newResStr;\n }\n\n const deletedIds = this.findDeletedIds(newResForCurStep, oldResForCurStep);\n\n if (deletedIds.length === 0) {\n return newResStr;\n }\n\n const dataSourceStep = step;\n const stepKeys = this.getStepKeys(newRes).sort();\n this.deleteRes(newRes, dataSourceStep, deletedIds, stepKeys);\n\n return JSON.stringify(newRes);\n } catch (error) {\n console.error(error);\n return newResStr;\n }\n }\n\n /**\n * id sort 规则\n * @param a\n * @param b\n * @returns\n */\n public static idCmp(a: any, b: any) {\n const idA = a.id;\n const idB = b.id;\n if (idA < idB) {\n return -1;\n }\n if (idA > idB) {\n return 1;\n }\n\n return 0;\n }\n\n /**\n * 找到结果被删除的id\n * @param newResForCurStep\n * @param oldResForCurStep\n * @returns {Array<string>}\n */\n public static findDeletedIds(newResForCurStep: any[], oldResForCurStep: any[]) {\n return this.findDeletedItems(oldResForCurStep, newResForCurStep).map((i) => i.id);\n }\n\n /**\n * 找到被删除的结果\n * @param oldResForCurStep\n * @param newResForCurStep\n * @returns {Array<any>}\n */\n public static findDeletedItems(oldResForCurStep: any[], newResForCurStep: any[]) {\n const deletedItems: any[] = [];\n oldResForCurStep.forEach((i: any) => {\n const isNewResExisted = newResForCurStep.some((r: any) => r.id === i.id);\n if (!isNewResExisted) {\n deletedItems.push(i);\n }\n });\n return deletedItems;\n }\n\n /**\n * 根据结果找到所有的步骤\n * @param res\n * @returns {Array<number>} 结果步骤列表\n */\n public static getStepKeys(res: any) {\n return Object.keys(res)\n .map((i) => parseInt(i.replace('step_', ''), 10))\n .filter((i) => !isNaN(i));\n }\n\n /**\n * 删除依赖数据的结果\n * @param resData 当前文件的结果\n * @param dataSourceStep 依赖步骤\n * @param deletedIds 需要删除的sourceID\n * @param stepKeys 结果的步骤\n */\n public static deleteRes(\n resData: any,\n dataSourceStep: number,\n deletedIds: string[],\n stepKeys: number[],\n ) {\n stepKeys.forEach((s) => {\n if (s > dataSourceStep) {\n const stepRes = resData[`step_${s}`];\n // 文件夹标签, 分割工具 没有依赖, 不进行判断\n if ([EToolName.FolderTag, EToolName.Segmentation].includes(stepRes.tool)) {\n return;\n }\n if (stepRes.dataSourceStep === dataSourceStep) {\n const newDeletedIds: string[] = [];\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n newDeletedIds.push(i.id);\n return false;\n }\n\n return true;\n });\n this.deleteRes(resData, s, newDeletedIds, stepKeys);\n } else {\n // 非直接依赖关系下,也同样过滤删除了对应框的数据(注意: 该场景不包含 filterData 过滤属性下,更改框的属性来删除对应的框体)\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n return false;\n }\n\n return true;\n });\n }\n }\n });\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AnnotationDataUtils.js","sources":["../../src/utils/AnnotationDataUtils.ts"],"sourcesContent":["import { uuid } from '@labelbee/lb-annotation';\nimport { jsonParser } from '.';\nimport { EToolName } from '@/data/enums/ToolType';\nimport _ from 'lodash';\nimport StepUtils from './StepUtils';\nimport { IStepInfo } from '@/types/step';\n\nexport default class AnnotationDataUtils {\n /**\n * 复制上一张图片结果\n * @param copyResult 复制的结果\n * @param step 复制的步骤\n * @param currentResult 当前的步骤\n * @returns\n */\n public static copyResultChange(copyResult: string, step: number, currentResult: string) {\n // 其实其限定的范围一般都在单图的情况\n try {\n const copyData = jsonParser(copyResult);\n const currentData = jsonParser(currentResult);\n const stepName = `step_${step}`;\n if (copyData[stepName]) {\n // 这层可能还要处理 dataSource 依赖问题\n const info = copyData[stepName];\n if (info.result) {\n info.result = info.result.map((info: any) => ({\n ...info,\n // @ts-ignore\n id: uuid(8, 62),\n }));\n currentData[stepName] = info;\n return JSON.stringify(currentData);\n }\n }\n return copyResult;\n } catch {\n return copyResult;\n }\n }\n\n /**\n * 判断结果sourceID与依赖数据的id是否能对应\n * @param result\n * @param basicResultList\n */\n public static isResultSourceMatchedDependence(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n const sourceIDForDependStep = basicResultList?.map((i) => i.id).sort();\n\n return _.isEqual(sourceIDForCurStep, sourceIDForDependStep);\n }\n\n /**\n * 获取依赖增量更新的内容\n * @param result\n * @param basicResultList\n * @returns\n */\n public static deltaUpdateBasicResultList(result: any, basicResultList: any[]) {\n const sourceIDForCurStep = result?.map((i: { sourceID: string }) => i.sourceID).sort();\n\n return basicResultList.filter((v) => !sourceIDForCurStep.includes(v.id));\n }\n\n /**\n *\n * @param stepResult\n * @param toolInstance\n * @param stepConfig\n * @param basicResultList 获取初始化数据 该部分默认输入需要为空数组\n * @param isInitData\n * @returns\n */\n public static getInitialResultList(\n stepResult: any[] | undefined,\n toolInstance: any,\n stepConfig: any,\n basicResultList: any[],\n isInitData: boolean,\n ) {\n const resultList = stepResult ?? [];\n\n switch (stepConfig.tool) {\n case EToolName.Tag:\n case EToolName.Text: {\n /**\n * 在依赖的情况下,检查的是否需要增量更新前面新增的结果\n */\n if (stepConfig.dataSourceStep > 0) {\n const deltaResultList = this.deltaUpdateBasicResultList(resultList, basicResultList);\n if (deltaResultList.length > 0) {\n return resultList.concat(\n toolInstance.getInitResultList(stepConfig.dataSourceStep, deltaResultList),\n );\n }\n }\n\n if (isInitData !== true) {\n return resultList;\n }\n\n return toolInstance.getInitResultList(stepConfig.dataSourceStep, basicResultList);\n }\n\n default: {\n return resultList;\n }\n }\n }\n\n /**\n * 修正数据,找到被删除的数据,并将依赖该数据的结果全部删除\n * @param newResStr 新提交的数据\n * @param oldResStr 当前的数据\n * @param step 当前操作的步骤\n * @param stepList 步骤列表\n */\n public static dataCorrection(\n newResStr: string,\n oldResStr: string,\n step: number,\n stepList: IStepInfo[],\n ) {\n try {\n const curStep = StepUtils.getStepInfo(step, stepList);\n const stepKey = `step_${curStep.step}`;\n const newRes = jsonParser(newResStr);\n const oldRes = jsonParser(oldResStr);\n const newResForCurStep = newRes[stepKey]?.result;\n const oldResForCurStep = oldRes[stepKey]?.result;\n\n /** 没有旧数据时不处理 */\n if (!oldResForCurStep) {\n return newResStr;\n }\n\n if (_.isEqual(newResForCurStep.sort(this.idCmp), oldResForCurStep.sort(this.idCmp))) {\n return newResStr;\n }\n\n const deletedIds = this.findDeletedIds(newResForCurStep, oldResForCurStep);\n\n if (deletedIds.length === 0) {\n return newResStr;\n }\n\n const dataSourceStep = step;\n const stepKeys = this.getStepKeys(newRes).sort();\n this.deleteRes(newRes, dataSourceStep, deletedIds, stepKeys);\n\n return JSON.stringify(newRes);\n } catch (error) {\n console.error(error);\n return newResStr;\n }\n }\n\n /**\n * id sort 规则\n * @param a\n * @param b\n * @returns\n */\n public static idCmp(a: any, b: any) {\n const idA = a.id;\n const idB = b.id;\n if (idA < idB) {\n return -1;\n }\n if (idA > idB) {\n return 1;\n }\n\n return 0;\n }\n\n /**\n * 找到结果被删除的id\n * @param newResForCurStep\n * @param oldResForCurStep\n * @returns {Array<string>}\n */\n public static findDeletedIds(newResForCurStep: any[], oldResForCurStep: any[]) {\n return this.findDeletedItems(oldResForCurStep, newResForCurStep).map((i) => i.id);\n }\n\n /**\n * 找到被删除的结果\n * @param oldResForCurStep\n * @param newResForCurStep\n * @returns {Array<any>}\n */\n public static findDeletedItems(oldResForCurStep: any[], newResForCurStep: any[]) {\n const deletedItems: any[] = [];\n oldResForCurStep.forEach((i: any) => {\n const isNewResExisted = newResForCurStep.some((r: any) => r.id === i.id);\n if (!isNewResExisted) {\n deletedItems.push(i);\n }\n });\n return deletedItems;\n }\n\n /**\n * 根据结果找到所有的步骤\n * @param res\n * @returns {Array<number>} 结果步骤列表\n */\n public static getStepKeys(res: any) {\n return Object.keys(res)\n .map((i) => parseInt(i.replace('step_', ''), 10))\n .filter((i) => !isNaN(i));\n }\n\n /**\n * 删除依赖数据的结果\n * @param resData 当前文件的结果\n * @param dataSourceStep 依赖步骤\n * @param deletedIds 需要删除的sourceID\n * @param stepKeys 结果的步骤\n */\n public static deleteRes(\n resData: any,\n dataSourceStep: number,\n deletedIds: string[],\n stepKeys: number[],\n ) {\n stepKeys.forEach((s) => {\n if (s > dataSourceStep) {\n const stepRes = resData[`step_${s}`];\n // 文件夹标签, 分割工具 没有依赖, 不进行判断\n if ([EToolName.FolderTag, EToolName.Segmentation].includes(stepRes.tool)) {\n return;\n }\n if (stepRes.dataSourceStep === dataSourceStep) {\n const newDeletedIds: string[] = [];\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n newDeletedIds.push(i.id);\n return false;\n }\n\n return true;\n });\n this.deleteRes(resData, s, newDeletedIds, stepKeys);\n } else {\n // 非直接依赖关系下,也同样过滤删除了对应框的数据(注意: 该场景不包含 filterData 过滤属性下,更改框的属性来删除对应的框体)\n stepRes.result = stepRes.result.filter((i: any) => {\n const exist = deletedIds.includes(i.sourceID);\n if (exist) {\n return false;\n }\n\n return true;\n });\n }\n }\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigUtils.js","sources":["../../src/utils/ConfigUtils.ts"],"sourcesContent":["import { isObject } from 'lodash';\n\nexport class ConfigUtils {\n public static jsonParser(content: any, defaultValue: any = {}) {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n }\n\n /**\n * 获取对应的步骤配置\n * @param stepList \n * @param step \n */\n public static getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n}\n"],"names":[],"mappings":";;kBAEyB;AAAA,SACT,WAAW,SAAc,eAAoB,IAAI;AAC7D,QAAI;AACF,UAAI,OAAO,YAAY,UAAU;AAC/B,eAAO,KAAK,MAAM;AAAA;AAEpB,aAAO,SAAS,WAAW,UAAU;AAAA,aAC9B,GAAP;AACA,aAAO;AAAA;AAAA;AAAA;AASG,YAAA,gBAAgB,CAAC,UAAiB,SAC9C,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS;;;;"}
1
+ {"version":3,"file":"ConfigUtils.js","sources":["../../src/utils/ConfigUtils.ts"],"sourcesContent":["import { isObject } from 'lodash';\n\nexport class ConfigUtils {\n public static jsonParser(content: any, defaultValue: any = {}) {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n }\n\n /**\n * 获取对应的步骤配置\n * @param stepList \n * @param step \n */\n public static getStepConfig = (stepList: any[], step: number) =>\n stepList.find((i) => i.step === step);\n}\n"],"names":[],"mappings":";;AAEyB,MAAA,WAAA,CAAA;AAAA,EACT,OAAA,UAAA,CAAW,OAAc,EAAA,YAAA,GAAoB,EAAI,EAAA;AAC7D,IAAI,IAAA;AACF,MAAI,IAAA,OAAO,YAAY,QAAU,EAAA;AAC/B,QAAA,OAAO,KAAK,KAAM,CAAA,OAAA,CAAA,CAAA;AAAA,OAAA;AAEpB,MAAO,OAAA,QAAA,CAAS,WAAW,OAAU,GAAA,YAAA,CAAA;AAAA,KAAA,CAAA,OAC9B,CAAP,EAAA;AACA,MAAO,OAAA,YAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AAAA,CAAA;AASG,WAjBT,CAiBS,aAAgB,GAAA,CAAC,QAAiB,EAAA,IAAA,KAC9C,SAAS,IAAK,CAAA,CAAC,CAAM,KAAA,CAAA,CAAE,IAAS,KAAA,IAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageOperator.js","sources":["../../src/utils/PageOperator.ts"],"sourcesContent":["import { EPageTurningOperation } from '../data/enums/AnnotationSize';\nimport _ from 'lodash';\nimport { jsonParser } from '.';\n\ninterface IPageInfo {\n fileIndex: number;\n basicIndex: number;\n basicList: any[];\n fileList: any[];\n step: number;\n stepList: any[];\n}\n\nclass PageOperator {\n public static getPageInfo(annotationStore: any) {\n const {\n imgIndex: fileIndex,\n imgList: fileList,\n basicResultList: basicList,\n basicIndex,\n step,\n stepList,\n } = annotationStore;\n\n return {\n fileIndex,\n basicIndex,\n basicList,\n fileList,\n step,\n stepList,\n };\n }\n\n /**\n *\n * @param pageTurningOperation\n * @param nextIndex\n */\n public static getNextPageInfo(\n pageTurningOperation: EPageTurningOperation,\n annotationStore: any,\n nextIndex?: number,\n ) {\n const pageInfo: IPageInfo = PageOperator.getPageInfo(annotationStore);\n const { fileIndex: currentFileIndex } = PageOperator.getPageInfo(annotationStore);\n\n const nextFileIndex = PageOperator.getNextFileIndex(pageTurningOperation, pageInfo, nextIndex);\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n const fileIndexChanged = nextFileIndex !== currentFileIndex;\n\n const hasNextBasicIndex = PageOperator.hasNextBasicIndex(pageTurningOperation, pageInfo);\n\n const pageChangedInfo = {\n fileIndex: nextFileIndex,\n basicIndex: nextBasicIndex,\n fileIndexChanged,\n basicIndexChanged: hasNextBasicIndex,\n };\n\n if (hasNextBasicIndex) {\n pageChangedInfo.fileIndexChanged = false;\n pageChangedInfo.fileIndex = currentFileIndex;\n return pageChangedInfo;\n }\n\n pageChangedInfo.basicIndex =\n pageTurningOperation === EPageTurningOperation.Backward\n ? PageOperator.getBasicResultIndexForNextFile(pageInfo, pageChangedInfo.fileIndex)\n : 0;\n\n return pageChangedInfo;\n }\n\n /**\n * 获取下一个依赖索引\n * @param pageTurningOperation\n */\n public static getNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n basicIndex: number,\n ) => {\n return basicIndex + (pageTurningOperation === EPageTurningOperation.Forward ? 1 : -1);\n };\n\n /**\n * 存在下一个依赖数据\n * @param pageTurningOperation\n */\n public static hasNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n ) => {\n const { basicList } = pageInfo;\n if (basicList?.length > 0) {\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n\n return nextBasicIndex >= 0 && basicList.length > nextBasicIndex;\n }\n\n return false;\n };\n\n public static getBasicResultIndexForNextFile = (pageInfo: IPageInfo, fileIndex: number) => {\n const { stepList, step, fileList } = pageInfo;\n const stepConfig = stepList.find((i) => i.step === step);\n const dataSourceStep = stepConfig?.dataSourceStep;\n\n if (dataSourceStep) {\n const fileResult = jsonParser(fileList[fileIndex].result);\n const stepResult = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (!stepResult || !stepResult?.length) {\n return 0;\n }\n\n return stepResult?.length - 1;\n }\n\n return 0;\n };\n\n /**\n * 计算下一个文件的索引\n * @param pageTurningOperation\n * @param fileIndex\n */\n public static getNextFileIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n fileIndex?: number,\n ) => {\n const { fileIndex: currentFileIndex, fileList } = pageInfo;\n\n let newIndex = fileIndex !== undefined ? fileIndex : currentFileIndex;\n switch (pageTurningOperation) {\n case EPageTurningOperation.Forward:\n newIndex += 1;\n break;\n case EPageTurningOperation.Backward:\n newIndex -= 1;\n break;\n case EPageTurningOperation.Jump:\n break;\n }\n\n if (_.inRange(newIndex, 0, fileList.length)) {\n return newIndex;\n }\n\n return currentFileIndex;\n };\n}\n\nexport default PageOperator;\n"],"names":[],"mappings":";;;;AAaA,4BAAmB;AAAA,SACH,YAAY,iBAAsB;AAC9C,UAAM;AAAA,MACJ,UAAU;AAAA,MACV,SAAS;AAAA,MACT,iBAAiB;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,QACE;AAEJ,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAAA,SASU,gBACZ,sBACA,iBACA,WACA;AACA,UAAM,WAAsB,cAAa,YAAY;AACrD,UAAM,CAAE,WAAW,oBAAqB,cAAa,YAAY;AAEjE,UAAM,gBAAgB,cAAa,iBAAiB,sBAAsB,UAAU;AACpF,UAAM,iBAAiB,cAAa,kBAClC,sBACA,SAAS;AAEX,UAAM,mBAAmB,kBAAkB;AAE3C,UAAM,oBAAoB,cAAa,kBAAkB,sBAAsB;AAE/E,UAAM,kBAAkB;AAAA,MACtB,WAAW;AAAA,MACX,YAAY;AAAA,MACZ;AAAA,MACA,mBAAmB;AAAA;AAGrB,QAAI,mBAAmB;AACrB,sBAAgB,mBAAmB;AACnC,sBAAgB,YAAY;AAC5B,aAAO;AAAA;AAGT,oBAAgB,aACd,yBAAyB,sBAAsB,WAC3C,cAAa,+BAA+B,UAAU,gBAAgB,aACtE;AAEN,WAAO;AAAA;AAAA;;AA7DX,aAoEgB,oBAAoB,CAChC,sBACA,eACG;AACH,SAAO,uCAAuC,sBAAsB,UAAU,IAAI;AAAA;AAxEtF,aA+EgB,oBAAoB,CAChC,sBACA,aACG;AACH,QAAM,CAAE,aAAc;AACtB,MAAI,wCAAW,UAAS,GAAG;AACzB,UAAM,iBAAiB,cAAa,kBAClC,sBACA,SAAS;AAGX,WAAO,kBAAkB,KAAK,UAAU,SAAS;AAAA;AAGnD,SAAO;AAAA;AA7FX,aAgGgB,iCAAiC,CAAC,UAAqB,cAAsB;AA7G7F;AA8GI,QAAM,CAAE,UAAU,MAAM,YAAa;AACrC,QAAM,aAAa,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS;AACnD,QAAM,iBAAiB,yCAAY;AAEnC,MAAI,gBAAgB;AAClB,UAAM,aAAa,WAAW,SAAS,WAAW;AAClD,UAAM,aAAa,iBAAW,QAAQ,sBAAnB,mBAAsC;AAEzD,QAAI,CAAC,cAAc,2CAAa,SAAQ;AACtC,aAAO;AAAA;AAGT,WAAO,0CAAY,UAAS;AAAA;AAG9B,SAAO;AAAA;AAhHX,aAwHgB,mBAAmB,CAC/B,sBACA,UACA,cACG;AACH,QAAM,CAAE,WAAW,kBAAkB,YAAa;AAElD,MAAI,WAAW,cAAc,SAAY,YAAY;AACrD,UAAQ;AAAA,SACD,sBAAsB;AACzB,kBAAY;AACZ;AAAA,SACG,sBAAsB;AACzB,kBAAY;AACZ;AAAA,SACG,sBAAsB;AACzB;AAAA;AAGJ,MAAI,EAAE,QAAQ,UAAU,GAAG,SAAS,SAAS;AAC3C,WAAO;AAAA;AAGT,SAAO;AAAA;;;;"}
1
+ {"version":3,"file":"PageOperator.js","sources":["../../src/utils/PageOperator.ts"],"sourcesContent":["import { EPageTurningOperation } from '../data/enums/AnnotationSize';\nimport _ from 'lodash';\nimport { jsonParser } from '.';\n\ninterface IPageInfo {\n fileIndex: number;\n basicIndex: number;\n basicList: any[];\n fileList: any[];\n step: number;\n stepList: any[];\n}\n\nclass PageOperator {\n public static getPageInfo(annotationStore: any) {\n const {\n imgIndex: fileIndex,\n imgList: fileList,\n basicResultList: basicList,\n basicIndex,\n step,\n stepList,\n } = annotationStore;\n\n return {\n fileIndex,\n basicIndex,\n basicList,\n fileList,\n step,\n stepList,\n };\n }\n\n /**\n *\n * @param pageTurningOperation\n * @param nextIndex\n */\n public static getNextPageInfo(\n pageTurningOperation: EPageTurningOperation,\n annotationStore: any,\n nextIndex?: number,\n ) {\n const pageInfo: IPageInfo = PageOperator.getPageInfo(annotationStore);\n const { fileIndex: currentFileIndex } = PageOperator.getPageInfo(annotationStore);\n\n const nextFileIndex = PageOperator.getNextFileIndex(pageTurningOperation, pageInfo, nextIndex);\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n const fileIndexChanged = nextFileIndex !== currentFileIndex;\n\n const hasNextBasicIndex = PageOperator.hasNextBasicIndex(pageTurningOperation, pageInfo);\n\n const pageChangedInfo = {\n fileIndex: nextFileIndex,\n basicIndex: nextBasicIndex,\n fileIndexChanged,\n basicIndexChanged: hasNextBasicIndex,\n };\n\n if (hasNextBasicIndex) {\n pageChangedInfo.fileIndexChanged = false;\n pageChangedInfo.fileIndex = currentFileIndex;\n return pageChangedInfo;\n }\n\n pageChangedInfo.basicIndex =\n pageTurningOperation === EPageTurningOperation.Backward\n ? PageOperator.getBasicResultIndexForNextFile(pageInfo, pageChangedInfo.fileIndex)\n : 0;\n\n return pageChangedInfo;\n }\n\n /**\n * 获取下一个依赖索引\n * @param pageTurningOperation\n */\n public static getNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n basicIndex: number,\n ) => {\n return basicIndex + (pageTurningOperation === EPageTurningOperation.Forward ? 1 : -1);\n };\n\n /**\n * 存在下一个依赖数据\n * @param pageTurningOperation\n */\n public static hasNextBasicIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n ) => {\n const { basicList } = pageInfo;\n if (basicList?.length > 0) {\n const nextBasicIndex = PageOperator.getNextBasicIndex(\n pageTurningOperation,\n pageInfo.basicIndex,\n );\n\n return nextBasicIndex >= 0 && basicList.length > nextBasicIndex;\n }\n\n return false;\n };\n\n public static getBasicResultIndexForNextFile = (pageInfo: IPageInfo, fileIndex: number) => {\n const { stepList, step, fileList } = pageInfo;\n const stepConfig = stepList.find((i) => i.step === step);\n const dataSourceStep = stepConfig?.dataSourceStep;\n\n if (dataSourceStep) {\n const fileResult = jsonParser(fileList[fileIndex].result);\n const stepResult = fileResult[`step_${dataSourceStep}`]?.result;\n\n if (!stepResult || !stepResult?.length) {\n return 0;\n }\n\n return stepResult?.length - 1;\n }\n\n return 0;\n };\n\n /**\n * 计算下一个文件的索引\n * @param pageTurningOperation\n * @param fileIndex\n */\n public static getNextFileIndex = (\n pageTurningOperation: EPageTurningOperation,\n pageInfo: IPageInfo,\n fileIndex?: number,\n ) => {\n const { fileIndex: currentFileIndex, fileList } = pageInfo;\n\n let newIndex = fileIndex !== undefined ? fileIndex : currentFileIndex;\n switch (pageTurningOperation) {\n case EPageTurningOperation.Forward:\n newIndex += 1;\n break;\n case EPageTurningOperation.Backward:\n newIndex -= 1;\n break;\n case EPageTurningOperation.Jump:\n break;\n }\n\n if (_.inRange(newIndex, 0, fileList.length)) {\n return newIndex;\n }\n\n return currentFileIndex;\n };\n}\n\nexport default PageOperator;\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"StepUtils.js","sources":["../../src/utils/StepUtils.ts"],"sourcesContent":["import { EStepType } from '@/constant';\nimport { IStepInfo } from '@/types/step';\n\nexport default class StepUtils {\n /**\n * 获取当前步骤的步骤配置信息,用于当前标注配置的获取\n * @export\n * @param {number} currentStep\n * @param {IStepInfo[]} stepList\n * @returns {*}\n */\n public static getCurrentStepInfo(currentStep: number, stepList: IStepInfo[]) {\n const currentStepInfo = this.getStepInfo(currentStep, stepList);\n\n const useDataSourceStep = [EStepType.QUALITY_INSPECTION, EStepType.MANUAL_CORRECTION].includes(\n currentStepInfo?.type,\n );\n\n /** 人工修正、质检获取 dataSourceStep 作为步骤配置 */\n if (useDataSourceStep) {\n return this.getStepInfo(currentStepInfo.dataSourceStep, stepList);\n }\n\n return currentStepInfo;\n }\n\n /**\n * 找到指定步骤的数据\n * @param step 获取的步骤\n * @param stepList 步骤列表\n * @returns 步骤配置\n */\n public static getStepInfo(step: number, stepList: IStepInfo[]) {\n return stepList?.filter((info) => info.step === step)[0];\n }\n}\n"],"names":[],"mappings":";;gBAG+B;AAAA,SAQd,mBAAmB,aAAqB,UAAuB;AAC5E,UAAM,kBAAkB,KAAK,YAAY,aAAa;AAEtD,UAAM,oBAAoB,CAAC,UAAU,oBAAoB,UAAU,mBAAmB,SACpF,mDAAiB;AAInB,QAAI,mBAAmB;AACrB,aAAO,KAAK,YAAY,gBAAgB,gBAAgB;AAAA;AAG1D,WAAO;AAAA;AAAA,SASM,YAAY,MAAc,UAAuB;AAC9D,WAAO,qCAAU,OAAO,CAAC,SAAS,KAAK,SAAS,MAAM;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"StepUtils.js","sources":["../../src/utils/StepUtils.ts"],"sourcesContent":["import { EStepType } from '@/constant';\nimport { IStepInfo } from '@/types/step';\n\nexport default class StepUtils {\n /**\n * 获取当前步骤的步骤配置信息,用于当前标注配置的获取\n * @export\n * @param {number} currentStep\n * @param {IStepInfo[]} stepList\n * @returns {*}\n */\n public static getCurrentStepInfo(currentStep: number, stepList: IStepInfo[]) {\n const currentStepInfo = this.getStepInfo(currentStep, stepList);\n\n const useDataSourceStep = [EStepType.QUALITY_INSPECTION, EStepType.MANUAL_CORRECTION].includes(\n currentStepInfo?.type,\n );\n\n /** 人工修正、质检获取 dataSourceStep 作为步骤配置 */\n if (useDataSourceStep) {\n return this.getStepInfo(currentStepInfo.dataSourceStep, stepList);\n }\n\n return currentStepInfo;\n }\n\n /**\n * 找到指定步骤的数据\n * @param step 获取的步骤\n * @param stepList 步骤列表\n * @returns 步骤配置\n */\n public static getStepInfo(step: number, stepList: IStepInfo[]) {\n return stepList?.filter((info) => info.step === step)[0];\n }\n}\n"],"names":[],"mappings":";;AAG+B,MAAA,SAAA,CAAA;AAAA,EAQd,OAAA,kBAAA,CAAmB,aAAqB,QAAuB,EAAA;AAC5E,IAAM,MAAA,eAAA,GAAkB,IAAK,CAAA,WAAA,CAAY,WAAa,EAAA,QAAA,CAAA,CAAA;AAEtD,IAAA,MAAM,oBAAoB,CAAC,SAAA,CAAU,oBAAoB,SAAU,CAAA,iBAAA,CAAA,CAAmB,SACpF,eAAiB,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,eAAA,CAAA,IAAA,CAAA,CAAA;AAInB,IAAA,IAAI,iBAAmB,EAAA;AACrB,MAAO,OAAA,IAAA,CAAK,WAAY,CAAA,eAAA,CAAgB,cAAgB,EAAA,QAAA,CAAA,CAAA;AAAA,KAAA;AAG1D,IAAO,OAAA,eAAA,CAAA;AAAA,GAAA;AAAA,EASM,OAAA,WAAA,CAAY,MAAc,QAAuB,EAAA;AAC9D,IAAA,OAAO,qCAAU,MAAO,CAAA,CAAC,IAAS,KAAA,IAAA,CAAK,SAAS,IAAM,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextUtils.js","sources":["../../src/utils/TextUtils.ts"],"sourcesContent":["import { ETextType } from '@/data/enums/ToolType';\n\nexport const REGEXP_NUMBER = '^[0-9]+$';\nexport const REGEXP_ENGLISH = '^[A-Za-z]+$';\n\nexport class TextUtils {\n public static checkString(textCheckType: ETextType, customFormat: string) {\n let regExpString = '';\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n regExpString = REGEXP_NUMBER;\n break;\n case ETextType.EnglishOnly:\n regExpString = REGEXP_ENGLISH;\n break;\n case ETextType.CustomFormat:\n regExpString = customFormat;\n break;\n }\n return regExpString;\n }\n\n public static getErrorNotice(textCheckType: ETextType) {\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n return '请按仅数字的格式输入';\n case ETextType.EnglishOnly:\n return '请按仅英文的格式输入';\n case ETextType.CustomFormat:\n return '请按要求的格式输入';\n default:\n return '';\n }\n }\n}\n"],"names":[],"mappings":";;MAEa,gBAAgB;MAChB,iBAAiB;gBAEP;AAAA,SACP,YAAY,eAA0B,cAAsB;AACxE,QAAI,eAAe;AACnB,YAAQ;AAAA,WACD,UAAU;AAAA,WACV,UAAU;AACb,uBAAe;AACf;AAAA,WACG,UAAU;AACb,uBAAe;AACf;AAAA,WACG,UAAU;AACb,uBAAe;AACf;AAAA;AAEJ,WAAO;AAAA;AAAA,SAGK,eAAe,eAA0B;AACrD,YAAQ;AAAA,WACD,UAAU;AAAA,WACV,UAAU;AACb,eAAO;AAAA,WACJ,UAAU;AACb,eAAO;AAAA,WACJ,UAAU;AACb,eAAO;AAAA;AAEP,eAAO;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"TextUtils.js","sources":["../../src/utils/TextUtils.ts"],"sourcesContent":["import { ETextType } from '@/data/enums/ToolType';\n\nexport const REGEXP_NUMBER = '^[0-9]+$';\nexport const REGEXP_ENGLISH = '^[A-Za-z]+$';\n\nexport class TextUtils {\n public static checkString(textCheckType: ETextType, customFormat: string) {\n let regExpString = '';\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n regExpString = REGEXP_NUMBER;\n break;\n case ETextType.EnglishOnly:\n regExpString = REGEXP_ENGLISH;\n break;\n case ETextType.CustomFormat:\n regExpString = customFormat;\n break;\n }\n return regExpString;\n }\n\n public static getErrorNotice(textCheckType: ETextType) {\n switch (textCheckType) {\n case ETextType.Order:\n case ETextType.NumberOnly:\n return '请按仅数字的格式输入';\n case ETextType.EnglishOnly:\n return '请按仅英文的格式输入';\n case ETextType.CustomFormat:\n return '请按要求的格式输入';\n default:\n return '';\n }\n }\n}\n"],"names":[],"mappings":";;AAEO,MAAM,aAAgB,GAAA,WAAA;AACtB,MAAM,cAAiB,GAAA,cAAA;AAEP,MAAA,SAAA,CAAA;AAAA,EACP,OAAA,WAAA,CAAY,eAA0B,YAAsB,EAAA;AACxE,IAAA,IAAI,YAAe,GAAA,EAAA,CAAA;AACnB,IAAQ,QAAA,aAAA;AAAA,MAAA,KACD,SAAU,CAAA,KAAA,CAAA;AAAA,MAAA,KACV,SAAU,CAAA,UAAA;AACb,QAAe,YAAA,GAAA,aAAA,CAAA;AACf,QAAA,MAAA;AAAA,MAAA,KACG,SAAU,CAAA,WAAA;AACb,QAAe,YAAA,GAAA,cAAA,CAAA;AACf,QAAA,MAAA;AAAA,MAAA,KACG,SAAU,CAAA,YAAA;AACb,QAAe,YAAA,GAAA,YAAA,CAAA;AACf,QAAA,MAAA;AAAA,KAAA;AAEJ,IAAO,OAAA,YAAA,CAAA;AAAA,GAAA;AAAA,EAAA,OAGK,eAAe,aAA0B,EAAA;AACrD,IAAQ,QAAA,aAAA;AAAA,MAAA,KACD,SAAU,CAAA,KAAA,CAAA;AAAA,MAAA,KACV,SAAU,CAAA,UAAA;AACb,QAAO,OAAA,8DAAA,CAAA;AAAA,MAAA,KACJ,SAAU,CAAA,WAAA;AACb,QAAO,OAAA,8DAAA,CAAA;AAAA,MAAA,KACJ,SAAU,CAAA,YAAA;AACb,QAAO,OAAA,wDAAA,CAAA;AAAA,MAAA;AAEP,QAAO,OAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolStyleUtils.js","sources":["../../src/utils/ToolStyleUtils.ts"],"sourcesContent":["import {\n CHANGE_COLOR,\n DEFAULT_COLOR,\n COLORS_ARRAY,\n NULL_COLOR,\n BORDER_OPACITY_LEVEL,\n FILL_OPACITY_LEVEL,\n} from '@/data/Style';\nimport _ from 'lodash';\n\nconst FILL_OPACITY = 0.8;\n\nexport class ToolStyleUtils {\n public static changeOpacity: { [a: number]: number } = {\n 1: 0.2,\n 3: 0.4,\n 5: 0.6,\n 7: 0.8,\n 9: 1.0,\n };\n\n public static colorSplit(color: string, opacity: number) {\n return color\n .split(' ')\n .join('')\n .replace(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/, `,${opacity.toFixed(2)})`);\n }\n\n public static computeOpacity(opacity: number, color: string) {\n const s =\n color\n .split(' ')\n .join('')\n .match(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/)?.[0] || '';\n let firstOpacity = s.match(/[0-9]+([.]{1}[0-9]+){0,1}/)?.[0];\n return opacity * Number(firstOpacity);\n }\n\n public static getToolColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n\n const toolColor = _.cloneDeep(CHANGE_COLOR);\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n const showColor = _.cloneDeep(DEFAULT_COLOR);\n showColor.valid.stroke = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].valid),\n );\n showColor.valid.fill = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].valid) * FILL_OPACITY,\n );\n showColor.validSelected.stroke = colorSplit(\n CHANGE_COLOR[color].select.stroke,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].select.stroke),\n );\n showColor.validSelected.fill = colorSplit(\n CHANGE_COLOR[color].select.fill,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].select.fill) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].hover),\n );\n showColor.validHover.fill = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].hover) * FILL_OPACITY,\n );\n\n // 无效的比例是一样的\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, showColor.invalid.stroke),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(fillOpacity, showColor.invalid.stroke) * FILL_OPACITY,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, showColor.invalidSelected.stroke),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, showColor.invalidSelected.fill) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, showColor.invalidHover.fill),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, showColor.invalidHover.fill) * FILL_OPACITY,\n );\n toolColor[color] = showColor;\n });\n return toolColor;\n }\n\n public static getAttributeColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n let AttributeColorList: string[] = _.cloneDeep(COLORS_ARRAY);\n AttributeColorList.unshift(NULL_COLOR);\n AttributeColorList = AttributeColorList.map((item) => {\n const showColor = JSON.parse(JSON.stringify(DEFAULT_COLOR));\n showColor.valid.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.valid.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.validSelected.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validSelected.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validHover.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n return showColor;\n });\n return AttributeColorList;\n }\n\n public static getDefaultToolLineColors() {\n const toolColor: any = {};\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n toolColor[color] = CHANGE_COLOR[color].line;\n });\n return toolColor;\n }\n\n public static initByOpacity(borderOpacity: number, fillOpacity: number) {\n return {\n toolColor: this.getToolColors(borderOpacity, fillOpacity),\n attributeColor: this.getAttributeColors(borderOpacity, fillOpacity),\n };\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolStyleUtils.js","sources":["../../src/utils/ToolStyleUtils.ts"],"sourcesContent":["import {\n CHANGE_COLOR,\n DEFAULT_COLOR,\n COLORS_ARRAY,\n NULL_COLOR,\n BORDER_OPACITY_LEVEL,\n FILL_OPACITY_LEVEL,\n} from '@/data/Style';\nimport _ from 'lodash';\n\nconst FILL_OPACITY = 0.8;\n\nexport class ToolStyleUtils {\n public static changeOpacity: { [a: number]: number } = {\n 1: 0.2,\n 3: 0.4,\n 5: 0.6,\n 7: 0.8,\n 9: 1.0,\n };\n\n public static colorSplit(color: string, opacity: number) {\n return color\n .split(' ')\n .join('')\n .replace(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/, `,${opacity.toFixed(2)})`);\n }\n\n public static computeOpacity(opacity: number, color: string) {\n const s =\n color\n .split(' ')\n .join('')\n .match(/,[0-9]+([.]{1}[0-9]+){0,1}\\)/)?.[0] || '';\n let firstOpacity = s.match(/[0-9]+([.]{1}[0-9]+){0,1}/)?.[0];\n return opacity * Number(firstOpacity);\n }\n\n public static getToolColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n\n const toolColor = _.cloneDeep(CHANGE_COLOR);\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n const showColor = _.cloneDeep(DEFAULT_COLOR);\n showColor.valid.stroke = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].valid),\n );\n showColor.valid.fill = colorSplit(\n CHANGE_COLOR[color].valid,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].valid) * FILL_OPACITY,\n );\n showColor.validSelected.stroke = colorSplit(\n CHANGE_COLOR[color].select.stroke,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].select.stroke),\n );\n showColor.validSelected.fill = colorSplit(\n CHANGE_COLOR[color].select.fill,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].select.fill) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(borderOpacity, CHANGE_COLOR[color].hover),\n );\n showColor.validHover.fill = colorSplit(\n CHANGE_COLOR[color].hover,\n computeOpacity(fillOpacity, CHANGE_COLOR[color].hover) * FILL_OPACITY,\n );\n\n // 无效的比例是一样的\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, showColor.invalid.stroke),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(fillOpacity, showColor.invalid.stroke) * FILL_OPACITY,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, showColor.invalidSelected.stroke),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, showColor.invalidSelected.fill) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, showColor.invalidHover.fill),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, showColor.invalidHover.fill) * FILL_OPACITY,\n );\n toolColor[color] = showColor;\n });\n return toolColor;\n }\n\n public static getAttributeColors(borderOpacityParam = 9, fillOpacityParam = 9) {\n const colorSplit = ToolStyleUtils.colorSplit;\n const computeOpacity = ToolStyleUtils.computeOpacity;\n const borderOpacity = BORDER_OPACITY_LEVEL[borderOpacityParam];\n const fillOpacity = FILL_OPACITY_LEVEL[fillOpacityParam];\n\n let AttributeColorList: string[] = _.cloneDeep(COLORS_ARRAY);\n AttributeColorList.unshift(NULL_COLOR);\n AttributeColorList = AttributeColorList.map((item) => {\n const showColor = JSON.parse(JSON.stringify(DEFAULT_COLOR));\n showColor.valid.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.valid.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.validSelected.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validSelected.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.validHover.stroke = colorSplit(item, computeOpacity(borderOpacity, item));\n showColor.validHover.fill = colorSplit(\n item,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalid.stroke = colorSplit(\n showColor.invalid.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalid.fill = colorSplit(\n showColor.invalid.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY * 0.5,\n );\n showColor.invalidSelected.stroke = colorSplit(\n showColor.invalidSelected.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidSelected.fill = colorSplit(\n showColor.invalidSelected.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n showColor.invalidHover.stroke = colorSplit(\n showColor.invalidHover.stroke,\n computeOpacity(borderOpacity, item),\n );\n showColor.invalidHover.fill = colorSplit(\n showColor.invalidHover.fill,\n computeOpacity(fillOpacity, item) * FILL_OPACITY,\n );\n return showColor;\n });\n return AttributeColorList;\n }\n\n public static getDefaultToolLineColors() {\n const toolColor: any = {};\n Object.keys(CHANGE_COLOR).forEach((color: any) => {\n toolColor[color] = CHANGE_COLOR[color].line;\n });\n return toolColor;\n }\n\n public static initByOpacity(borderOpacity: number, fillOpacity: number) {\n return {\n toolColor: this.getToolColors(borderOpacity, fillOpacity),\n attributeColor: this.getAttributeColors(borderOpacity, fillOpacity),\n };\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sources":["../../src/utils/data.ts"],"sourcesContent":["import { jsonParser } from '.';\nimport StepUtils from './StepUtils';\n\n/**\n * 解析结果,将图片信息注入到结果\n * @param result\n * @param basicImgInfo\n */\nexport const composeResultWithBasicImgInfo = (\n result: string,\n basicImgInfo: { [a: string]: any },\n) => {\n const newResult = JSON.stringify({ ...jsonParser(result), ...basicImgInfo });\n return newResult;\n};\n\n// 处理result\nexport const composeResult = (\n result: string,\n pos: {\n step: number;\n stepList: any[];\n },\n newData: {\n rect: any[];\n basicRectID?: string;\n },\n) => {\n const { step, stepList } = pos;\n const { rect, basicRectID } = newData;\n\n try {\n const data = jsonParser(result);\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n const { dataSourceStep } = currentStepInfo;\n\n const stepName = `step_${currentStepInfo.step}`;\n\n if (data[stepName]) {\n const info = data[stepName];\n if (info.result) {\n if (JSON.stringify(info.result) === JSON.stringify(rect)) {\n return JSON.stringify(data);\n }\n if (basicRectID) {\n info.result = [\n ...info.result.filter((v: { sourceID: string; }) => !(v.sourceID && v.sourceID === basicRectID)),\n ...rect.filter((v) => v.sourceID && v.sourceID === basicRectID),\n ];\n } else {\n info.result = rect;\n }\n return JSON.stringify(data);\n }\n return JSON.stringify({\n ...data,\n [stepName]: {\n ...data[stepName],\n result: rect,\n },\n });\n }\n // 初始化结果\n return JSON.stringify({\n ...data,\n [stepName]: {\n dataSourceStep,\n toolName: stepList[step - 1].tool,\n result: rect,\n },\n });\n } catch (e) {\n return result;\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;MAQa,gCAAgC,CAC3C,QACA,iBACG;AACH,QAAM,YAAY,KAAK,UAAU,kCAAK,WAAW,UAAY;AAC7D,SAAO;AAAA;MAII,gBAAgB,CAC3B,QACA,KAIA,YAIG;AACH,QAAM,CAAE,MAAM,YAAa;AAC3B,QAAM,CAAE,MAAM,eAAgB;AAE9B,MAAI;AACF,UAAM,OAAO,WAAW;AACxB,UAAM,kBAAkB,UAAU,mBAAmB,MAAM;AAC3D,UAAM,CAAE,kBAAmB;AAE3B,UAAM,WAAW,QAAQ,gBAAgB;AAEzC,QAAI,KAAK,WAAW;AAClB,YAAM,OAAO,KAAK;AAClB,UAAI,KAAK,QAAQ;AACf,YAAI,KAAK,UAAU,KAAK,YAAY,KAAK,UAAU,OAAO;AACxD,iBAAO,KAAK,UAAU;AAAA;AAExB,YAAI,aAAa;AACf,eAAK,SAAS;AAAA,YACZ,GAAG,KAAK,OAAO,OAAO,CAAC,MAA6B,IAAI,YAAY,EAAE,aAAa;AAAA,YACnF,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa;AAAA;AAAA,eAEhD;AACL,eAAK,SAAS;AAAA;AAEhB,eAAO,KAAK,UAAU;AAAA;AAExB,aAAO,KAAK,UAAU,iCACjB,OADiB;AAAA,SAEnB,WAAW,iCACP,KAAK,YADE;AAAA,UAEV,QAAQ;AAAA;AAAA;AAAA;AAKd,WAAO,KAAK,UAAU,iCACjB,OADiB;AAAA,OAEnB,WAAW;AAAA,QACV;AAAA,QACA,UAAU,SAAS,OAAO,GAAG;AAAA,QAC7B,QAAQ;AAAA;AAAA;AAAA,WAGL,GAAP;AACA,WAAO;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"data.js","sources":["../../src/utils/data.ts"],"sourcesContent":["import { jsonParser } from '.';\nimport StepUtils from './StepUtils';\n\n/**\n * 解析结果,将图片信息注入到结果\n * @param result\n * @param basicImgInfo\n */\nexport const composeResultWithBasicImgInfo = (\n result: string,\n basicImgInfo: { [a: string]: any },\n) => {\n const newResult = JSON.stringify({ ...jsonParser(result), ...basicImgInfo });\n return newResult;\n};\n\n// 处理result\nexport const composeResult = (\n result: string,\n pos: {\n step: number;\n stepList: any[];\n },\n newData: {\n rect: any[];\n basicRectID?: string;\n },\n) => {\n const { step, stepList } = pos;\n const { rect, basicRectID } = newData;\n\n try {\n const data = jsonParser(result);\n const currentStepInfo = StepUtils.getCurrentStepInfo(step, stepList);\n const { dataSourceStep } = currentStepInfo;\n\n const stepName = `step_${currentStepInfo.step}`;\n\n if (data[stepName]) {\n const info = data[stepName];\n if (info.result) {\n if (JSON.stringify(info.result) === JSON.stringify(rect)) {\n return JSON.stringify(data);\n }\n if (basicRectID) {\n info.result = [\n ...info.result.filter((v: { sourceID: string; }) => !(v.sourceID && v.sourceID === basicRectID)),\n ...rect.filter((v) => v.sourceID && v.sourceID === basicRectID),\n ];\n } else {\n info.result = rect;\n }\n return JSON.stringify(data);\n }\n return JSON.stringify({\n ...data,\n [stepName]: {\n ...data[stepName],\n result: rect,\n },\n });\n }\n // 初始化结果\n return JSON.stringify({\n ...data,\n [stepName]: {\n dataSourceStep,\n toolName: stepList[step - 1].tool,\n result: rect,\n },\n });\n } catch (e) {\n return result;\n }\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAQa,MAAA,6BAAA,GAAgC,CAC3C,MAAA,EACA,YACG,KAAA;AACH,EAAA,MAAM,SAAY,GAAA,IAAA,CAAK,SAAU,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,EAAK,WAAW,MAAY,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AAC7D,EAAO,OAAA,SAAA,CAAA;AAAA,EAAA;AAIF,MAAM,aAAgB,GAAA,CAC3B,MACA,EAAA,GAAA,EAIA,OAIG,KAAA;AACH,EAAM,MAAA,CAAE,MAAM,QAAa,CAAA,GAAA,GAAA,CAAA;AAC3B,EAAM,MAAA,CAAE,MAAM,WAAgB,CAAA,GAAA,OAAA,CAAA;AAE9B,EAAI,IAAA;AACF,IAAA,MAAM,OAAO,UAAW,CAAA,MAAA,CAAA,CAAA;AACxB,IAAM,MAAA,eAAA,GAAkB,SAAU,CAAA,kBAAA,CAAmB,IAAM,EAAA,QAAA,CAAA,CAAA;AAC3D,IAAA,MAAM,CAAE,cAAmB,CAAA,GAAA,eAAA,CAAA;AAE3B,IAAM,MAAA,QAAA,GAAW,QAAQ,eAAgB,CAAA,IAAA,CAAA,CAAA,CAAA;AAEzC,IAAA,IAAI,KAAK,QAAW,CAAA,EAAA;AAClB,MAAA,MAAM,OAAO,IAAK,CAAA,QAAA,CAAA,CAAA;AAClB,MAAA,IAAI,KAAK,MAAQ,EAAA;AACf,QAAA,IAAI,KAAK,SAAU,CAAA,IAAA,CAAK,MAAY,CAAA,KAAA,IAAA,CAAK,UAAU,IAAO,CAAA,EAAA;AACxD,UAAA,OAAO,KAAK,SAAU,CAAA,IAAA,CAAA,CAAA;AAAA,SAAA;AAExB,QAAA,IAAI,WAAa,EAAA;AACf,UAAA,IAAA,CAAK,MAAS,GAAA;AAAA,YACZ,GAAG,IAAK,CAAA,MAAA,CAAO,MAAO,CAAA,CAAC,MAA6B,EAAE,CAAA,CAAE,QAAY,IAAA,CAAA,CAAE,QAAa,KAAA,WAAA,CAAA,CAAA;AAAA,YACnF,GAAG,KAAK,MAAO,CAAA,CAAC,MAAM,CAAE,CAAA,QAAA,IAAY,EAAE,QAAa,KAAA,WAAA,CAAA;AAAA,WAAA,CAAA;AAAA,SAEhD,MAAA;AACL,UAAA,IAAA,CAAK,MAAS,GAAA,IAAA,CAAA;AAAA,SAAA;AAEhB,QAAA,OAAO,KAAK,SAAU,CAAA,IAAA,CAAA,CAAA;AAAA,OAAA;AAExB,MAAO,OAAA,IAAA,CAAK,SAAU,CAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACjB,IADiB,CAAA,EAAA;AAAA,QAEnB,CAAA,QAAA,GAAW,aACP,CAAA,cAAA,CAAA,EAAA,EAAA,IAAA,CAAK,QADE,CAAA,CAAA,EAAA;AAAA,UAEV,MAAQ,EAAA,IAAA;AAAA,SAAA,CAAA;AAAA,OAAA,CAAA,CAAA,CAAA;AAAA,KAAA;AAKd,IAAO,OAAA,IAAA,CAAK,SAAU,CAAA,aAAA,CAAA,cAAA,CAAA,EAAA,EACjB,IADiB,CAAA,EAAA;AAAA,MAAA,CAEnB,QAAW,GAAA;AAAA,QACV,cAAA;AAAA,QACA,QAAA,EAAU,QAAS,CAAA,IAAA,GAAO,CAAG,CAAA,CAAA,IAAA;AAAA,QAC7B,MAAQ,EAAA,IAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA,CAAA;AAAA,GAAA,CAAA,OAGL,CAAP,EAAA;AACA,IAAO,OAAA,MAAA,CAAA;AAAA,GAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sources":["../../src/utils/dom.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nexport type BasicTarget<T = HTMLElement> =\n | (() => T | null)\n | T\n | null\n | MutableRefObject<T | null | undefined>;\n\ntype TargetElement = HTMLElement | Element | Document | Window;\n\nexport function getTargetElement(\n target?: BasicTarget<TargetElement>,\n defaultElement?: TargetElement,\n): TargetElement | undefined | null {\n if (!target) {\n return defaultElement;\n }\n\n let targetElement: TargetElement | undefined | null;\n\n if (typeof target === 'function') {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n\n return targetElement;\n}"],"names":[],"mappings":"0BAWE,QACA,gBACkC;AAClC,MAAI,CAAC,QAAQ;AACX,WAAO;AAAA;AAGT,MAAI;AAEJ,MAAI,OAAO,WAAW,YAAY;AAChC,oBAAgB;AAAA,aACP,aAAa,QAAQ;AAC9B,oBAAgB,OAAO;AAAA,SAClB;AACL,oBAAgB;AAAA;AAGlB,SAAO;AAAA;;;;"}
1
+ {"version":3,"file":"dom.js","sources":["../../src/utils/dom.ts"],"sourcesContent":["import { MutableRefObject } from 'react';\n\nexport type BasicTarget<T = HTMLElement> =\n | (() => T | null)\n | T\n | null\n | MutableRefObject<T | null | undefined>;\n\ntype TargetElement = HTMLElement | Element | Document | Window;\n\nexport function getTargetElement(\n target?: BasicTarget<TargetElement>,\n defaultElement?: TargetElement,\n): TargetElement | undefined | null {\n if (!target) {\n return defaultElement;\n }\n\n let targetElement: TargetElement | undefined | null;\n\n if (typeof target === 'function') {\n targetElement = target();\n } else if ('current' in target) {\n targetElement = target.current;\n } else {\n targetElement = target;\n }\n\n return targetElement;\n}"],"names":[],"mappings":"AAUO,SAAA,gBAAA,CACL,QACA,cACkC,EAAA;AAClC,EAAA,IAAI,CAAC,MAAQ,EAAA;AACX,IAAO,OAAA,cAAA,CAAA;AAAA,GAAA;AAGT,EAAI,IAAA,aAAA,CAAA;AAEJ,EAAI,IAAA,OAAO,WAAW,UAAY,EAAA;AAChC,IAAgB,aAAA,GAAA,MAAA,EAAA,CAAA;AAAA,GAAA,MAAA,IACP,aAAa,MAAQ,EAAA;AAC9B,IAAA,aAAA,GAAgB,MAAO,CAAA,OAAA,CAAA;AAAA,GAClB,MAAA;AACL,IAAgB,aAAA,GAAA,MAAA,CAAA;AAAA,GAAA;AAGlB,EAAO,OAAA,aAAA,CAAA;AAAA;;;;"}
package/es/utils/index.js CHANGED
@@ -1 +1 @@
1
- import s from"lodash";const o=(r,t={})=>{try{return typeof r=="string"?JSON.parse(r):s.isObject(r)?r:t}catch(i){return t}},n=(r,t)=>r||s.isNull(r)?r:t,u=r=>{if(Array.isArray(r))return r.join(" ");if(s.isObject(r)){const t=[];return Object.keys(r).forEach(i=>{r[i]&&t.push(i)}),t.join(" ")}return""};export{u as classnames,n as getNewNode,o as jsonParser};
1
+ import s from"lodash";const o=(r,i={})=>{try{return typeof r=="string"?JSON.parse(r):s.isObject(r)?r:i}catch(t){return i}},n=r=>{if(Array.isArray(r))return r.join(" ");if(s.isObject(r)){const i=[];return Object.keys(r).forEach(t=>{r[t]&&i.push(t)}),i.join(" ")}return""};export{n as classnames,o as jsonParser};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport const jsonParser = (content: any, defaultValue: any = {}) => {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return _.isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n};\n\nexport const getNewNode = <T>(newNode: T, oldNode: T): T => {\n return newNode || _.isNull(newNode) ? newNode : oldNode;\n};\n\nexport const classnames = (className: { [key: string]: boolean } | string[]) => {\n if (Array.isArray(className)) {\n return className.join(' ');\n }\n\n if (_.isObject(className)) {\n const classArray: string[] = [];\n Object.keys(className).forEach((key) => {\n if (className[key]) {\n classArray.push(key);\n }\n });\n\n return classArray.join(' ');\n }\n\n return '';\n};\n"],"names":[],"mappings":";;MAEa,aAAa,CAAC,SAAc,eAAoB,OAAO;AAClE,MAAI;AACF,QAAI,OAAO,YAAY,UAAU;AAC/B,aAAO,KAAK,MAAM;AAAA;AAEpB,WAAO,EAAE,SAAS,WAAW,UAAU;AAAA,WAChC,GAAP;AACA,WAAO;AAAA;AAAA;MAIE,aAAa,CAAI,SAAY,YAAkB;AAC1D,SAAO,WAAW,EAAE,OAAO,WAAW,UAAU;AAAA;MAGrC,aAAa,CAAC,cAAqD;AAC9E,MAAI,MAAM,QAAQ,YAAY;AAC5B,WAAO,UAAU,KAAK;AAAA;AAGxB,MAAI,EAAE,SAAS,YAAY;AACzB,UAAM,aAAuB;AAC7B,WAAO,KAAK,WAAW,QAAQ,CAAC,QAAQ;AACtC,UAAI,UAAU,MAAM;AAClB,mBAAW,KAAK;AAAA;AAAA;AAIpB,WAAO,WAAW,KAAK;AAAA;AAGzB,SAAO;AAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../src/utils/index.ts"],"sourcesContent":["import _ from 'lodash';\n\nexport const jsonParser = (content: any, defaultValue: any = {}) => {\n try {\n if (typeof content === 'string') {\n return JSON.parse(content);\n }\n return _.isObject(content) ? content : defaultValue;\n } catch (e) {\n return defaultValue;\n }\n};\n\nexport const getNewNode = <T>(newNode: T, oldNode: T): T => {\n return newNode || _.isNull(newNode) ? newNode : oldNode;\n};\n\nexport const classnames = (className: { [key: string]: boolean } | string[]) => {\n if (Array.isArray(className)) {\n return className.join(' ');\n }\n\n if (_.isObject(className)) {\n const classArray: string[] = [];\n Object.keys(className).forEach((key) => {\n if (className[key]) {\n classArray.push(key);\n }\n });\n\n return classArray.join(' ');\n }\n\n return '';\n};\n"],"names":[],"mappings":";;AAEO,MAAM,UAAa,GAAA,CAAC,OAAc,EAAA,YAAA,GAAoB,EAAO,KAAA;AAClE,EAAI,IAAA;AACF,IAAI,IAAA,OAAO,YAAY,QAAU,EAAA;AAC/B,MAAA,OAAO,KAAK,KAAM,CAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAEpB,IAAO,OAAA,CAAA,CAAE,QAAS,CAAA,OAAA,CAAA,GAAW,OAAU,GAAA,YAAA,CAAA;AAAA,GAAA,CAAA,OAChC,CAAP,EAAA;AACA,IAAO,OAAA,YAAA,CAAA;AAAA,GAAA;AAAA,EAAA;AAQE,MAAA,UAAA,GAAa,CAAC,SAAqD,KAAA;AAC9E,EAAI,IAAA,KAAA,CAAM,QAAQ,SAAY,CAAA,EAAA;AAC5B,IAAA,OAAO,UAAU,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA;AAGxB,EAAI,IAAA,CAAA,CAAE,SAAS,SAAY,CAAA,EAAA;AACzB,IAAA,MAAM,UAAuB,GAAA,EAAA,CAAA;AAC7B,IAAA,MAAA,CAAO,IAAK,CAAA,SAAA,CAAA,CAAW,OAAQ,CAAA,CAAC,GAAQ,KAAA;AACtC,MAAA,IAAI,UAAU,GAAM,CAAA,EAAA;AAClB,QAAA,UAAA,CAAW,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA,CAAA,CAAA;AAIpB,IAAA,OAAO,WAAW,IAAK,CAAA,GAAA,CAAA,CAAA;AAAA,GAAA;AAGzB,EAAO,OAAA,EAAA,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- import m,{useState as E,useRef as f,useEffect as a}from"react";import{message as p,Spin as P}from"antd/es";import{connect as h}from"react-redux";import w from"lodash";import{store as j}from"../../../index.js";import A from"../../../hooks/useSize.js";import{InitToolStyleConfig as x}from"../../../store/toolStyle/actionCreators.js";import{ImgUtils as z}from"@labelbee/lb-annotation";import R from"../../../components/ImageError/index.js";import{i18n as g}from"@labelbee/lb-utils";var C=Object.defineProperty,L=Object.defineProperties,N=Object.getOwnPropertyDescriptors,u=Object.getOwnPropertySymbols,k=Object.prototype.hasOwnProperty,D=Object.prototype.propertyIsEnumerable,d=(t,e,o)=>e in t?C(t,e,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[e]=o,O=(t,e)=>{for(var o in e||(e={}))k.call(e,o)&&d(t,o,e[o]);if(u)for(var o of u(e))D.call(e,o)&&d(t,o,e[o]);return t},T=(t,e)=>L(t,N(e));const B=t=>{const[,e]=E(0),{imgAttribute:o,toolStyle:s,toolInstance:r,annotationEngine:n,loading:S,imgList:_,imgIndex:v}=t,c=f(null),y=f(null),l=A(c);a(()=>{j.dispatch(x())},[]),a(()=>{if(!!n)switch(g.language){case"cn":case"en":n.setLang(g.language);break}},[n]),a(()=>{r&&(r.singleOn("messageError",i=>{p.error(i)}),r.singleOn("messageInfo",i=>{p.info(i)}),r.singleOn("changeAnnotationShow",()=>{e(i=>i+1)}))},[r]),a(()=>{r&&r.setImgAttribute(o)},[o]),a(()=>{r&&r.setStyle(s),n&&n.setStyle(s)},[s]),a(()=>{(r==null?void 0:r.setSize)&&r.setSize(l),n&&n.setSize(l)},[l]);const I=()=>{const i=_[v];!i.url||z.load(i.url).then(b=>{n.setImgNode(b)})};return m.createElement("div",{ref:c,className:"annotationOperation"},m.createElement(P,{spinning:S,delay:500},m.createElement("div",{className:"canvas",ref:y,style:l,id:"toolContainer"})),(r==null?void 0:r.isImgError)===!0&&m.createElement(R,T(O({},l),{reloadImage:I,backgroundColor:"#e2e2e2",ignoreOffsetY:!0})))},U=t=>{const e=w.pickBy(t.annotation,(o,s)=>["imgList","imgIndex","stepList","step","toolInstance","annotationEngine","loading"].includes(s));return O({imgAttribute:t.imgAttribute,toolStyle:t.toolStyle},e)};var V=h(U)(B);export{V as default};
1
+ import c,{useState as h,useRef as g,useEffect as a}from"react";import{message as u,Spin as j}from"antd/es";import{connect as w}from"react-redux";import A from"lodash";import{store as x}from"../../../index.js";import z from"../../../hooks/useSize.js";import{InitToolStyleConfig as C}from"../../../store/toolStyle/actionCreators.js";import{ImgUtils as R}from"@labelbee/lb-annotation";import L from"../../../components/ImageError/index.js";import{i18n as d}from"@labelbee/lb-utils";var N=Object.defineProperty,D=Object.defineProperties,k=Object.getOwnPropertyDescriptors,v=Object.getOwnPropertySymbols,T=Object.prototype.hasOwnProperty,B=Object.prototype.propertyIsEnumerable,I=(t,e,n)=>e in t?N(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,O=(t,e)=>{for(var n in e||(e={}))T.call(e,n)&&I(t,n,e[n]);if(v)for(var n of v(e))B.call(e,n)&&I(t,n,e[n]);return t},U=(t,e)=>D(t,k(e));const V=t=>{const[,e]=h(0),{imgAttribute:n,toolStyle:s,toolInstance:o,annotationEngine:r,loading:S,imgList:_,imgIndex:y,dataInjectionAtCreation:m,renderEnhance:f}=t,p=g(null),b=g(null),l=z(p);a(()=>{x.dispatch(C())},[]),a(()=>{if(!!r){switch(d.language){case"cn":case"en":r.setLang(d.language);break}r==null||r.setDataInjectionAtCreation(m),r==null||r.setRenderEnhance(f)}},[r,m,f]),a(()=>{o&&(o.singleOn("messageError",i=>{u.error(i)}),o.singleOn("messageInfo",i=>{u.info(i)}),o.singleOn("changeAnnotationShow",()=>{e(i=>i+1)}))},[o]),a(()=>{o&&o.setImgAttribute(n)},[n]),a(()=>{o&&o.setStyle(s),r&&r.setStyle(s)},[s]),a(()=>{(o==null?void 0:o.setSize)&&o.setSize(l),r&&r.setSize(l)},[l]);const E=()=>{const i=_[y];!i.url||R.load(i.url).then(P=>{r.setImgNode(P)})};return c.createElement("div",{ref:p,className:"annotationOperation"},c.createElement(j,{spinning:S,delay:500},c.createElement("div",{className:"canvas",ref:b,style:l,id:"toolContainer"})),(o==null?void 0:o.isImgError)===!0&&c.createElement(L,U(O({},l),{reloadImage:E,backgroundColor:"#e2e2e2",ignoreOffsetY:!0})))},Y=t=>{const e=A.pickBy(t.annotation,(n,s)=>["imgList","imgIndex","stepList","step","toolInstance","annotationEngine","loading"].includes(s));return O({imgAttribute:t.imgAttribute,toolStyle:t.toolStyle},e)};var $=w(Y)(V);export{$ as default};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/views/MainView/annotationOperation/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Spin, message } from 'antd/es';\nimport { AppState } from 'src/store';\nimport { connect } from 'react-redux';\nimport { ImgAttributeState } from 'src/store/imgAttribute/types';\nimport _ from 'lodash';\nimport { store } from '@/index';\n\nimport useSize from '@/hooks/useSize';\nimport { IFileItem } from '@/types/data';\nimport { IStepInfo } from '@/types/step';\nimport { InitToolStyleConfig } from '@/store/toolStyle/actionCreators';\nimport { AnnotationEngine, ImgUtils } from '@labelbee/lb-annotation';\nimport ImageError from '@/components/ImageError';\nimport { i18n } from '@labelbee/lb-utils';\n\ninterface IProps extends AppState {\n imgAttribute: ImgAttributeState;\n imgList: IFileItem[];\n exportData: any[];\n config: string;\n stepList: IStepInfo[];\n step: number;\n imgIndex: number;\n annotationEngine: AnnotationEngine;\n loading: boolean;\n}\n\nconst AnnotationOperation: React.FC<IProps> = (props: IProps) => {\n const [, forceRender] = useState<number>(0);\n\n const { imgAttribute, toolStyle, toolInstance, annotationEngine, loading, imgList, imgIndex } =\n props;\n const annotationRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n // const windowSize = useContext(viewportContext);\n // const canvasSize = getFormatSize(windowSize);\n const size = useSize(annotationRef);\n\n useEffect(() => {\n store.dispatch(InitToolStyleConfig());\n }, []);\n\n useEffect(() => {\n if (!annotationEngine) {\n return;\n }\n\n // 更改 toolInstance 内部国际化语言\n switch (i18n.language) {\n case 'cn':\n case 'en':\n annotationEngine.setLang(i18n.language);\n break;\n default: {\n //\n break;\n }\n }\n }, [annotationEngine]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('messageError', (error: string) => {\n message.error(error);\n });\n\n toolInstance.singleOn('messageInfo', (info: string) => {\n message.info(info);\n });\n\n toolInstance.singleOn('changeAnnotationShow', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setImgAttribute(imgAttribute);\n }\n }, [imgAttribute]);\n\n /** 样式同步 */\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setStyle(toolStyle);\n }\n if (annotationEngine) {\n annotationEngine.setStyle(toolStyle);\n }\n }, [toolStyle]);\n\n /** 窗口大小监听 */\n useEffect(() => {\n if (toolInstance?.setSize) {\n toolInstance.setSize(size);\n }\n\n if (annotationEngine) {\n annotationEngine.setSize(size);\n }\n }, [size]);\n\n /**\n * 重新加载图片,避免网络问题导致的图片无法加载\n * @returns\n */\n const reloadImg = () => {\n const imgInfo = imgList[imgIndex];\n if (!imgInfo.url) {\n return;\n }\n\n ImgUtils.load(imgInfo.url).then((imgNode) => {\n annotationEngine.setImgNode(imgNode as HTMLImageElement);\n });\n };\n\n return (\n <div ref={annotationRef} className='annotationOperation'>\n <Spin spinning={loading} delay={500}>\n <div className='canvas' ref={containerRef} style={size} id='toolContainer' />\n </Spin>\n {toolInstance?.isImgError === true && (\n <ImageError\n {...size}\n reloadImage={reloadImg}\n backgroundColor='#e2e2e2'\n ignoreOffsetY={true}\n />\n )}\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n const annotationState = _.pickBy(state.annotation, (v, k) =>\n [\n 'imgList',\n 'imgIndex',\n 'stepList',\n 'step',\n 'toolInstance',\n 'annotationEngine',\n 'loading',\n ].includes(k),\n );\n return {\n imgAttribute: state.imgAttribute,\n toolStyle: state.toolStyle,\n ...annotationState,\n };\n};\n\nexport default connect(mapStateToProps)(AnnotationOperation);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BA,MAAM,sBAAwC,CAAC,UAAkB;AAC/D,QAAM,GAAG,eAAe,SAAiB;AAEzC,QAAM,CAAE,cAAc,WAAW,cAAc,kBAAkB,SAAS,SAAS,YACjF;AACF,QAAM,gBAAgB,OAAuB;AAC7C,QAAM,eAAe,OAAuB;AAG5C,QAAM,OAAO,QAAQ;AAErB,YAAU,MAAM;AACd,UAAM,SAAS;AAAA,KACd;AAEH,YAAU,MAAM;AACd,QAAI,CAAC,kBAAkB;AACrB;AAAA;AAIF,YAAQ,KAAK;AAAA,WACN;AAAA,WACA;AACH,yBAAiB,QAAQ,KAAK;AAC9B;AAGA;AAAA,KAGH,CAAC;AAEJ,YAAU,MAAM;AACd,QAAI,cAAc;AAChB,mBAAa,SAAS,gBAAgB,CAAC,UAAkB;AACvD,gBAAQ,MAAM;AAAA;AAGhB,mBAAa,SAAS,eAAe,CAAC,SAAiB;AACrD,gBAAQ,KAAK;AAAA;AAGf,mBAAa,SAAS,wBAAwB,MAAM;AAClD,oBAAY,CAAC,MAAM,IAAI;AAAA;AAAA;AAAA,KAG1B,CAAC;AAEJ,YAAU,MAAM;AACd,QAAI,cAAc;AAChB,mBAAa,gBAAgB;AAAA;AAAA,KAE9B,CAAC;AAGJ,YAAU,MAAM;AACd,QAAI,cAAc;AAChB,mBAAa,SAAS;AAAA;AAExB,QAAI,kBAAkB;AACpB,uBAAiB,SAAS;AAAA;AAAA,KAE3B,CAAC;AAGJ,YAAU,MAAM;AACd,QAAI,6CAAc,SAAS;AACzB,mBAAa,QAAQ;AAAA;AAGvB,QAAI,kBAAkB;AACpB,uBAAiB,QAAQ;AAAA;AAAA,KAE1B,CAAC;AAMJ,QAAM,YAAY,MAAM;AACtB,UAAM,UAAU,QAAQ;AACxB,QAAI,CAAC,QAAQ,KAAK;AAChB;AAAA;AAGF,aAAS,KAAK,QAAQ,KAAK,KAAK,CAAC,YAAY;AAC3C,uBAAiB,WAAW;AAAA;AAAA;AAIhC,6CACG,OAAD;AAAA,IAAK,KAAK;AAAA,IAAe,WAAU;AAAA,yCAChC,MAAD;AAAA,IAAM,UAAU;AAAA,IAAS,OAAO;AAAA,yCAC7B,OAAD;AAAA,IAAK,WAAU;AAAA,IAAS,KAAK;AAAA,IAAc,OAAO;AAAA,IAAM,IAAG;AAAA,OAE5D,8CAAc,gBAAe,4CAC3B,YAAD,iCACM,OADN;AAAA,IAEE,aAAa;AAAA,IACb,iBAAgB;AAAA,IAChB,eAAe;AAAA;AAAA;AAOzB,MAAM,kBAAkB,CAAC,UAAoB;AAC3C,QAAM,kBAAkB,EAAE,OAAO,MAAM,YAAY,CAAC,GAAG,MACrD;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,SAAS;AAEb,SAAO;AAAA,IACL,cAAc,MAAM;AAAA,IACpB,WAAW,MAAM;AAAA,KACd;AAAA;AAIP,4BAAe,QAAQ,iBAAiB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/views/MainView/annotationOperation/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport { Spin, message } from 'antd/es';\nimport { AppState } from 'src/store';\nimport { connect } from 'react-redux';\nimport { ImgAttributeState } from 'src/store/imgAttribute/types';\nimport _ from 'lodash';\nimport { store } from '@/index';\n\nimport useSize from '@/hooks/useSize';\nimport { InitToolStyleConfig } from '@/store/toolStyle/actionCreators';\nimport { AnnotationEngine, ImgUtils } from '@labelbee/lb-annotation';\nimport ImageError from '@/components/ImageError';\nimport { i18n } from '@labelbee/lb-utils';\nimport { AppProps } from '@/App';\n\ninterface IProps extends AppState, AppProps {\n imgAttribute: ImgAttributeState;\n imgIndex: number;\n annotationEngine: AnnotationEngine;\n loading: boolean;\n}\n\nconst AnnotationOperation: React.FC<IProps> = (props: IProps) => {\n const [, forceRender] = useState<number>(0);\n\n const {\n imgAttribute,\n toolStyle,\n toolInstance,\n annotationEngine,\n loading,\n imgList,\n imgIndex,\n dataInjectionAtCreation,\n renderEnhance,\n } = props;\n const annotationRef = useRef<HTMLDivElement>(null);\n const containerRef = useRef<HTMLDivElement>(null);\n // const windowSize = useContext(viewportContext);\n // const canvasSize = getFormatSize(windowSize);\n const size = useSize(annotationRef);\n\n useEffect(() => {\n store.dispatch(InitToolStyleConfig());\n }, []);\n\n useEffect(() => {\n if (!annotationEngine) {\n return;\n }\n\n // 更改 toolInstance 内部国际化语言\n switch (i18n.language) {\n case 'cn':\n case 'en':\n annotationEngine.setLang(i18n.language);\n break;\n default: {\n //\n break;\n }\n }\n annotationEngine?.setDataInjectionAtCreation(dataInjectionAtCreation);\n annotationEngine?.setRenderEnhance(renderEnhance);\n }, [annotationEngine, dataInjectionAtCreation, renderEnhance]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('messageError', (error: string) => {\n message.error(error);\n });\n\n toolInstance.singleOn('messageInfo', (info: string) => {\n message.info(info);\n });\n\n toolInstance.singleOn('changeAnnotationShow', () => {\n forceRender((s) => s + 1);\n });\n }\n }, [toolInstance]);\n\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setImgAttribute(imgAttribute);\n }\n }, [imgAttribute]);\n\n /** 样式同步 */\n useEffect(() => {\n if (toolInstance) {\n toolInstance.setStyle(toolStyle);\n }\n if (annotationEngine) {\n annotationEngine.setStyle(toolStyle);\n }\n }, [toolStyle]);\n\n /** 窗口大小监听 */\n useEffect(() => {\n if (toolInstance?.setSize) {\n toolInstance.setSize(size);\n }\n\n if (annotationEngine) {\n annotationEngine.setSize(size);\n }\n }, [size]);\n\n /**\n * 重新加载图片,避免网络问题导致的图片无法加载\n * @returns\n */\n const reloadImg = () => {\n const imgInfo = imgList[imgIndex];\n if (!imgInfo.url) {\n return;\n }\n\n ImgUtils.load(imgInfo.url).then((imgNode) => {\n annotationEngine.setImgNode(imgNode as HTMLImageElement);\n });\n };\n\n return (\n <div ref={annotationRef} className='annotationOperation'>\n <Spin spinning={loading} delay={500}>\n <div className='canvas' ref={containerRef} style={size} id='toolContainer' />\n </Spin>\n {toolInstance?.isImgError === true && (\n <ImageError\n {...size}\n reloadImage={reloadImg}\n backgroundColor='#e2e2e2'\n ignoreOffsetY={true}\n />\n )}\n </div>\n );\n};\n\nconst mapStateToProps = (state: AppState) => {\n const annotationState = _.pickBy(state.annotation, (v, k) =>\n [\n 'imgList',\n 'imgIndex',\n 'stepList',\n 'step',\n 'toolInstance',\n 'annotationEngine',\n 'loading',\n ].includes(k),\n );\n return {\n imgAttribute: state.imgAttribute,\n toolStyle: state.toolStyle,\n ...annotationState,\n };\n};\n\nexport default connect(mapStateToProps)(AnnotationOperation);\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import o from"react";import{ViewportProvider as c}from"../../components/customResizeHook/index.js";import u from"./toolHeader/index.js";import f from"./annotationOperation/index.js";import _ from"./sidebar/index.js";import y from"./toolFooter/index.js";import{prefix as v}from"../../constant/index.js";import{getNewNode as l}from"../../utils/index.js";import{Layout as n}from"antd/es";var E=Object.defineProperty,d=Object.getOwnPropertySymbols,x=Object.prototype.hasOwnProperty,N=Object.prototype.propertyIsEnumerable,s=(e,t,r)=>t in e?E(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,O=(e,t)=>{for(var r in t||(t={}))x.call(t,r)&&s(e,r,t[r]);if(d)for(var r of d(t))N.call(t,r)&&s(e,r,t[r]);return e};const{Sider:h,Content:j}=n,a=`${v}-layout`,w=e=>{var t,r,i,m;return o.createElement(c,null,o.createElement(n,{className:`${a} ${e.className}`,style:(t=e.style)==null?void 0:t.layout},o.createElement("header",{className:`${a}__header`,style:(r=e.style)==null?void 0:r.header},l(e.header,o.createElement(u,{headerName:e.headerName,goBack:e.goBack,exportData:e.exportData}))),o.createElement(n,null,o.createElement(j,{className:`${a}__content`},o.createElement(f,O({},e)),l(e.footer,o.createElement(y,{style:(i=e.style)==null?void 0:i.footer,mode:e.mode}))),o.createElement(h,{className:`${a}__side`,width:"auto",style:(m=e.style)==null?void 0:m.sider},l(e.sider,o.createElement(_,null))))))};export{w as default};
1
+ import{ViewportProvider as c}from"../../components/customResizeHook/index.js";import{prefix as s}from"../../constant/index.js";import{Layout as l}from"antd/es";import a from"react";import u from"./annotationOperation/index.js";import f from"./sidebar/index.js";import _ from"./toolFooter/index.js";import y from"./toolHeader/index.js";var v=Object.defineProperty,m=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,h=Object.prototype.propertyIsEnumerable,d=(e,t,r)=>t in e?v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,x=(e,t)=>{for(var r in t||(t={}))E.call(t,r)&&d(e,r,t[r]);if(m)for(var r of m(t))h.call(t,r)&&d(e,r,t[r]);return e};const{Sider:O,Content:j}=l,o=`${s}-layout`,w=e=>{var t,r,n,i;return a.createElement(c,null,a.createElement(l,{className:`${o} ${e.className}`,style:(t=e.style)==null?void 0:t.layout},a.createElement("header",{className:`${o}__header`,style:(r=e.style)==null?void 0:r.header},a.createElement(y,{header:e==null?void 0:e.header,headerName:e.headerName,goBack:e.goBack,exportData:e.exportData}),","),a.createElement(l,null,e==null?void 0:e.leftSider,a.createElement(j,{className:`${o}__content`},a.createElement(u,x({},e)),a.createElement(_,{style:(n=e.style)==null?void 0:n.footer,mode:e.mode,footer:e==null?void 0:e.footer})),a.createElement(O,{className:`${o}__side`,width:"auto",style:(i=e.style)==null?void 0:i.sider},a.createElement(f,{sider:e==null?void 0:e.sider})))))};export{w as default};
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/views/MainView/index.tsx"],"sourcesContent":["import React from 'react';\nimport { AppProps } from '@/App';\nimport { ViewportProvider } from '@/components/customResizeHook';\nimport ToolHeader from './toolHeader';\nimport AnnotationOperation from './annotationOperation';\nimport Sidebar from './sidebar';\nimport ToolFooter from './toolFooter';\nimport { prefix } from '@/constant';\nimport { getNewNode } from '@/utils';\nimport { Layout } from 'antd/es';\n\nconst { Sider, Content } = Layout;\n\nconst layoutCls = `${prefix}-layout`;\nconst MainView: React.FC<AppProps> = (props) => {\n return (\n <ViewportProvider>\n <Layout className={`${layoutCls} ${props.className}`} style={props.style?.layout}>\n <header className={`${layoutCls}__header`} style={props.style?.header}>\n {getNewNode(\n props.header,\n <ToolHeader\n headerName={props.headerName}\n goBack={props.goBack}\n exportData={props.exportData}\n />,\n )}\n </header>\n <Layout>\n <Content className={`${layoutCls}__content`}>\n <AnnotationOperation {...props} />\n {getNewNode(props.footer, <ToolFooter style={props.style?.footer} mode={props.mode} />)}\n </Content>\n <Sider className={`${layoutCls}__side`} width='auto' style={props.style?.sider}>\n {getNewNode(props.sider, <Sidebar />)}\n </Sider>\n </Layout>\n </Layout>\n </ViewportProvider>\n );\n};\n\nexport default MainView;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,MAAM,CAAE,OAAO,WAAY;AAE3B,MAAM,YAAY,GAAG;MACf,WAA+B,CAAC,UAAU;AAdhD;AAeE,6CACG,kBAAD,0CACG,QAAD;AAAA,IAAQ,WAAW,GAAG,aAAa,MAAM;AAAA,IAAa,OAAO,YAAM,UAAN,mBAAa;AAAA,yCACvE,UAAD;AAAA,IAAQ,WAAW,GAAG;AAAA,IAAqB,OAAO,YAAM,UAAN,mBAAa;AAAA,KAC5D,WACC,MAAM,4CACL,YAAD;AAAA,IACE,YAAY,MAAM;AAAA,IAClB,QAAQ,MAAM;AAAA,IACd,YAAY,MAAM;AAAA,4CAIvB,QAAD,0CACG,SAAD;AAAA,IAAS,WAAW,GAAG;AAAA,yCACpB,qBAAD,mBAAyB,SACxB,WAAW,MAAM,4CAAS,YAAD;AAAA,IAAY,OAAO,YAAM,UAAN,mBAAa;AAAA,IAAQ,MAAM,MAAM;AAAA,4CAE/E,OAAD;AAAA,IAAO,WAAW,GAAG;AAAA,IAAmB,OAAM;AAAA,IAAO,OAAO,YAAM,UAAN,mBAAa;AAAA,KACtE,WAAW,MAAM,2CAAQ,SAAD;AAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/views/MainView/index.tsx"],"sourcesContent":["import { AppProps } from '@/App';\nimport { ViewportProvider } from '@/components/customResizeHook';\nimport { prefix } from '@/constant';\nimport { Layout } from 'antd/es';\nimport React from 'react';\nimport AnnotationOperation from './annotationOperation';\nimport Sidebar from './sidebar';\nimport ToolFooter from './toolFooter';\nimport ToolHeader from './toolHeader';\n\nconst { Sider, Content } = Layout;\n\nconst layoutCls = `${prefix}-layout`;\nconst MainView: React.FC<AppProps> = (props) => {\n return (\n <ViewportProvider>\n <Layout className={`${layoutCls} ${props.className}`} style={props.style?.layout}>\n <header className={`${layoutCls}__header`} style={props.style?.header}>\n <ToolHeader\n header={props?.header}\n headerName={props.headerName}\n goBack={props.goBack}\n exportData={props.exportData}\n />\n ,\n </header>\n <Layout>\n {props?.leftSider}\n <Content className={`${layoutCls}__content`}>\n <AnnotationOperation {...props} />\n <ToolFooter style={props.style?.footer} mode={props.mode} footer={props?.footer} />\n </Content>\n <Sider className={`${layoutCls}__side`} width='auto' style={props.style?.sider}>\n <Sidebar sider={props?.sider} />\n </Sider>\n </Layout>\n </Layout>\n </ViewportProvider>\n );\n};\n\nexport default MainView;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,MAAM,CAAE,OAAO,OAAY,CAAA,GAAA,MAAA,CAAA;AAE3B,MAAM,YAAY,CAAG,EAAA,MAAA,CAAA,OAAA,CAAA,CAAA;AACf,MAAA,QAAA,GAA+B,CAAC,KAAU,KAAA;AAbhD,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAcE,EAAA,uBACG,KAAA,CAAA,aAAA,CAAA,gBAAA,EAAD,IACE,kBAAA,KAAA,CAAA,aAAA,CAAC,MAAD,EAAA;AAAA,IAAQ,SAAA,EAAW,CAAG,EAAA,SAAA,CAAA,CAAA,EAAa,KAAM,CAAA,SAAA,CAAA,CAAA;AAAA,IAAa,KAAA,EAAO,CAAM,EAAA,GAAA,KAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA;AAAA,GAAA,sCACvE,QAAD,EAAA;AAAA,IAAQ,WAAW,CAAG,EAAA,SAAA,CAAA,QAAA,CAAA;AAAA,IAAqB,KAAA,EAAO,CAAM,EAAA,GAAA,KAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA;AAAA,GAAA,sCAC5D,UAAD,EAAA;AAAA,IACE,QAAQ,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,MAAA;AAAA,IACf,YAAY,KAAM,CAAA,UAAA;AAAA,IAClB,QAAQ,KAAM,CAAA,MAAA;AAAA,IACd,YAAY,KAAM,CAAA,UAAA;AAAA,GAAA,CAAA,EAClB,sBAGH,KAAA,CAAA,aAAA,CAAA,MAAA,EAAD,MACG,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,SAAA,sCACP,OAAD,EAAA;AAAA,IAAS,WAAW,CAAG,EAAA,SAAA,CAAA,SAAA,CAAA;AAAA,GAAA,kBACpB,KAAA,CAAA,aAAA,CAAA,mBAAA,EAAD,cAAyB,CAAA,EAAA,EAAA,KAAA,CAAA,CAAA,sCACxB,UAAD,EAAA;AAAA,IAAY,KAAA,EAAO,CAAM,EAAA,GAAA,KAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA;AAAA,IAAQ,MAAM,KAAM,CAAA,IAAA;AAAA,IAAM,QAAQ,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,MAAA;AAAA,GAAA,CAAA,CAAA,sCAE1E,KAAD,EAAA;AAAA,IAAO,WAAW,CAAG,EAAA,SAAA,CAAA,MAAA,CAAA;AAAA,IAAmB,KAAM,EAAA,MAAA;AAAA,IAAO,KAAA,EAAO,CAAM,EAAA,GAAA,KAAA,CAAA,KAAA,KAAN,IAAa,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA;AAAA,GAAA,sCACtE,OAAD,EAAA;AAAA,IAAS,OAAO,KAAO,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/AnnotationText/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { message } from 'antd/es';\nimport TextAreaFormat from '@/views/MainView/sidebar/TextAreaFormat';\nimport { TextUtils } from '@/utils/TextUtils';\nimport { AppState } from '@/store';\nimport { GraphToolInstance } from '@/store/annotation/types';\nimport { connect } from 'react-redux';\n\ninterface IProps {\n toolInstance: GraphToolInstance;\n}\n\nconst AnnotationText: React.FC<IProps> = ({ toolInstance }) => {\n const [, forceRender] = useState<number>(0);\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('selectedChange', () => {\n forceRender((s) => s + 1);\n });\n toolInstance.singleOn('updateTextAttribute', () => {\n // 文本属性的更新\n\n forceRender((s) => s + 1);\n });\n\n toolInstance.singleOn('messageError', (error: string) => {\n message.error(error);\n });\n }\n }, [toolInstance]);\n\n if (!toolInstance) {\n return null;\n }\n\n const { config } = toolInstance;\n\n return (\n <div>\n {toolInstance?.config?.textConfigurable && toolInstance.selectedID && (\n <TextAreaFormat\n onChange={toolInstance.textChange}\n textValue={toolInstance.selectedText}\n checkString={TextUtils.checkString(config?.textCheckType, config?.customFormat)}\n textCheckType={config.textCheckType}\n />\n )}\n </div>\n );\n};\n\nfunction mapStateToProps(state: AppState) {\n return { toolInstance: state.annotation.toolInstance };\n}\n\nexport default connect(mapStateToProps)(AnnotationText);\n"],"names":[],"mappings":";;;;;;AAYA,MAAM,iBAAmC,CAAC,CAAE,kBAAmB;AAZ/D;AAaE,QAAM,GAAG,eAAe,SAAiB;AACzC,YAAU,MAAM;AACd,QAAI,cAAc;AAChB,mBAAa,SAAS,kBAAkB,MAAM;AAC5C,oBAAY,CAAC,MAAM,IAAI;AAAA;AAEzB,mBAAa,SAAS,uBAAuB,MAAM;AAGjD,oBAAY,CAAC,MAAM,IAAI;AAAA;AAGzB,mBAAa,SAAS,gBAAgB,CAAC,UAAkB;AACvD,gBAAQ,MAAM;AAAA;AAAA;AAAA,KAGjB,CAAC;AAEJ,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA;AAGT,QAAM,CAAE,UAAW;AAEnB,6CACG,OAAD,MACG,oDAAc,WAAd,mBAAsB,qBAAoB,aAAa,kDACrD,gBAAD;AAAA,IACE,UAAU,aAAa;AAAA,IACvB,WAAW,aAAa;AAAA,IACxB,aAAa,UAAU,YAAY,iCAAQ,eAAe,iCAAQ;AAAA,IAClE,eAAe,OAAO;AAAA;AAAA;AAOhC,yBAAyB,OAAiB;AACxC,SAAO,CAAE,cAAc,MAAM,WAAW;AAAA;AAG1C,uBAAe,QAAQ,iBAAiB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/AnnotationText/index.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport { message } from 'antd/es';\nimport TextAreaFormat from '@/views/MainView/sidebar/TextAreaFormat';\nimport { TextUtils } from '@/utils/TextUtils';\nimport { AppState } from '@/store';\nimport { GraphToolInstance } from '@/store/annotation/types';\nimport { connect } from 'react-redux';\n\ninterface IProps {\n toolInstance: GraphToolInstance;\n}\n\nconst AnnotationText: React.FC<IProps> = ({ toolInstance }) => {\n const [, forceRender] = useState<number>(0);\n useEffect(() => {\n if (toolInstance) {\n toolInstance.singleOn('selectedChange', () => {\n forceRender((s) => s + 1);\n });\n toolInstance.singleOn('updateTextAttribute', () => {\n // 文本属性的更新\n\n forceRender((s) => s + 1);\n });\n\n toolInstance.singleOn('messageError', (error: string) => {\n message.error(error);\n });\n }\n }, [toolInstance]);\n\n if (!toolInstance) {\n return null;\n }\n\n const { config } = toolInstance;\n\n return (\n <div>\n {toolInstance?.config?.textConfigurable && toolInstance.selectedID && (\n <TextAreaFormat\n onChange={toolInstance.textChange}\n textValue={toolInstance.selectedText}\n checkString={TextUtils.checkString(config?.textCheckType, config?.customFormat)}\n textCheckType={config.textCheckType}\n />\n )}\n </div>\n );\n};\n\nfunction mapStateToProps(state: AppState) {\n return { toolInstance: state.annotation.toolInstance };\n}\n\nexport default connect(mapStateToProps)(AnnotationText);\n"],"names":[],"mappings":";;;;;;AAYA,MAAM,cAAA,GAAmC,CAAC,CAAE,YAAmB,CAAA,KAAA;AAZ/D,EAAA,IAAA,EAAA,CAAA;AAaE,EAAM,MAAA,GAAG,WAAA,CAAA,GAAe,QAAiB,CAAA,CAAA,CAAA,CAAA;AACzC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,YAAc,EAAA;AAChB,MAAa,YAAA,CAAA,QAAA,CAAS,kBAAkB,MAAM;AAC5C,QAAY,WAAA,CAAA,CAAC,MAAM,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAEzB,MAAa,YAAA,CAAA,QAAA,CAAS,uBAAuB,MAAM;AAGjD,QAAY,WAAA,CAAA,CAAC,MAAM,CAAI,GAAA,CAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAGzB,MAAa,YAAA,CAAA,QAAA,CAAS,cAAgB,EAAA,CAAC,KAAkB,KAAA;AACvD,QAAA,OAAA,CAAQ,KAAM,CAAA,KAAA,CAAA,CAAA;AAAA,OAAA,CAAA,CAAA;AAAA,KAAA;AAAA,GAAA,EAGjB,CAAC,YAAA,CAAA,CAAA,CAAA;AAEJ,EAAA,IAAI,CAAC,YAAc,EAAA;AACjB,IAAO,OAAA,IAAA,CAAA;AAAA,GAAA;AAGT,EAAA,MAAM,CAAE,MAAW,CAAA,GAAA,YAAA,CAAA;AAEnB,EACE,uBAAA,KAAA,CAAA,aAAA,CAAC,KAAD,EAAA,IAAA,EACG,CAAc,CAAA,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,YAAA,CAAA,MAAA,KAAd,mBAAsB,gBAAoB,KAAA,YAAA,CAAa,UACtD,oBAAA,KAAA,CAAA,aAAA,CAAC,cAAD,EAAA;AAAA,IACE,UAAU,YAAa,CAAA,UAAA;AAAA,IACvB,WAAW,YAAa,CAAA,YAAA;AAAA,IACxB,WAAa,EAAA,SAAA,CAAU,WAAY,CAAA,MAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAQ,eAAe,MAAQ,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,MAAA,CAAA,YAAA,CAAA;AAAA,IAClE,eAAe,MAAO,CAAA,aAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAOhC,SAAA,eAAA,CAAyB,KAAiB,EAAA;AACxC,EAAO,OAAA,CAAE,YAAc,EAAA,KAAA,CAAM,UAAW,CAAA,YAAA,CAAA,CAAA;AAAA,CAAA;AAG1C,uBAAe,QAAQ,eAAiB,CAAA,CAAA,cAAA,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/ClearIcon/index.tsx"],"sourcesContent":["import { Tooltip } from 'antd/es';\nimport React, { useState } from 'react';\n\n// 图片调整的刷子\nimport clearSmall from '@/assets/annotation/common/icon_clearSmall.svg';\n// import clearSmallA from '@//assets/annotation/common/icon_clearSmall_a.svg';\nimport { InitImgAttribute } from '@/store/imgAttribute/actionCreators';\nimport { store } from '@/index';\nimport clearSmallA from '@//assets/annotation/common/icon_clearSmall_a.svg';\nimport { useTranslation } from 'react-i18next';\n\nconst clearIcon = () => {\n const [hoverDelete, setHoverDelete] = useState(false);\n\n const clearAttribute = () => {\n store.dispatch(InitImgAttribute());\n };\n const { t } = useTranslation();\n\n return (\n <Tooltip placement='bottom' title={t('RestoreImageAttributes')}>\n <img\n onMouseEnter={() => setHoverDelete(true)}\n onMouseLeave={() => setHoverDelete(false)}\n style={{ marginLeft: 6 }}\n src={hoverDelete ? clearSmallA : clearSmall}\n onClick={(e) => {\n e.stopPropagation();\n clearAttribute();\n }}\n />\n </Tooltip>\n );\n};\n\nexport default clearIcon;\n"],"names":["clearSmallA","clearSmall"],"mappings":";;;;;;;;MAWM,YAAY,MAAM;AACtB,QAAM,CAAC,aAAa,kBAAkB,SAAS;AAE/C,QAAM,iBAAiB,MAAM;AAC3B,UAAM,SAAS;AAAA;AAEjB,QAAM,CAAE,KAAM;AAEd,6CACG,SAAD;AAAA,IAAS,WAAU;AAAA,IAAS,OAAO,EAAE;AAAA,yCAClC,OAAD;AAAA,IACE,cAAc,MAAM,eAAe;AAAA,IACnC,cAAc,MAAM,eAAe;AAAA,IACnC,OAAO,CAAE,YAAY;AAAA,IACrB,KAAK,cAAcA,MAAcC;AAAA,IACjC,SAAS,CAAC,MAAM;AACd,QAAE;AACF;AAAA;AAAA;AAAA;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/ClearIcon/index.tsx"],"sourcesContent":["import { Tooltip } from 'antd/es';\nimport React, { useState } from 'react';\n\n// 图片调整的刷子\nimport clearSmall from '@/assets/annotation/common/icon_clearSmall.svg';\n// import clearSmallA from '@//assets/annotation/common/icon_clearSmall_a.svg';\nimport { InitImgAttribute } from '@/store/imgAttribute/actionCreators';\nimport { store } from '@/index';\nimport clearSmallA from '@//assets/annotation/common/icon_clearSmall_a.svg';\nimport { useTranslation } from 'react-i18next';\n\nconst clearIcon = () => {\n const [hoverDelete, setHoverDelete] = useState(false);\n\n const clearAttribute = () => {\n store.dispatch(InitImgAttribute());\n };\n const { t } = useTranslation();\n\n return (\n <Tooltip placement='bottom' title={t('RestoreImageAttributes')}>\n <img\n onMouseEnter={() => setHoverDelete(true)}\n onMouseLeave={() => setHoverDelete(false)}\n style={{ marginLeft: 6 }}\n src={hoverDelete ? clearSmallA : clearSmall}\n onClick={(e) => {\n e.stopPropagation();\n clearAttribute();\n }}\n />\n </Tooltip>\n );\n};\n\nexport default clearIcon;\n"],"names":["clearSmallA","clearSmall"],"mappings":";;;;;;;;AAWA,MAAM,YAAY,MAAM;AACtB,EAAM,MAAA,CAAC,WAAa,EAAA,cAAA,CAAA,GAAkB,QAAS,CAAA,KAAA,CAAA,CAAA;AAE/C,EAAA,MAAM,iBAAiB,MAAM;AAC3B,IAAA,KAAA,CAAM,QAAS,CAAA,gBAAA,EAAA,CAAA,CAAA;AAAA,GAAA,CAAA;AAEjB,EAAA,MAAM,CAAE,CAAM,CAAA,GAAA,cAAA,EAAA,CAAA;AAEd,EAAA,2CACG,OAAD,EAAA;AAAA,IAAS,SAAU,EAAA,QAAA;AAAA,IAAS,OAAO,CAAE,CAAA,wBAAA,CAAA;AAAA,GAAA,sCAClC,KAAD,EAAA;AAAA,IACE,YAAA,EAAc,MAAM,cAAe,CAAA,IAAA,CAAA;AAAA,IACnC,YAAA,EAAc,MAAM,cAAe,CAAA,KAAA,CAAA;AAAA,IACnC,KAAA,EAAO,CAAE,UAAY,EAAA,CAAA,CAAA;AAAA,IACrB,GAAA,EAAK,cAAcA,GAAc,GAAAC,KAAA;AAAA,IACjC,OAAA,EAAS,CAAC,CAAM,KAAA;AACd,MAAE,CAAA,CAAA,eAAA,EAAA,CAAA;AACF,MAAA,cAAA,EAAA,CAAA;AAAA,KAAA;AAAA,GAAA,CAAA,CAAA,CAAA;AAAA;;;;"}
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,MAAM,WAAW,CAAC,MAAc,KAAa,MAAW;AACtD,6CAAQ,OAAD;AAAA,IAAK;AAAA,KAAW,GAAG,EAAE,eAAe,KAAK,MAAM;AAAA;AAGxD,MAAM,YAAY,CAAC,SAA2B;AAC5C,MAAI,OAAO,SAAS,UAAU;AAC5B,+CAAQ,OAAD;AAAA,MAAK,OAAO;AAAA,MAAI,QAAQ;AAAA,MAAI,KAAK;AAAA;AAAA;AAE1C,SAAO;AAAA;AAUT,MAAM,sBAAwC,CAAC,CAAE,cAAc,UAAU,SAAS,cAAe;AAC/F,QAAM,CAAC,SAAS,YAAY,SAAwB;AACpD,QAAM,CAAE,KAAM;AACd,QAAM,eAAe;AAAA,IACnB;AAAA,MACE,MAAM,EAAE;AAAA,MACR,KAAK;AAAA,MACL,QAAQA;AAAA,MACR,UAAUC;AAAA,MACV,SAAS,MAAM;AACb,qDAAc;AAAA;AAAA;AAAA;AAKpB,QAAM,SAAS,WAAW,qCAAU;AACpC,MAAI,sCAAU,oBAAmB,GAAG;AAClC,UAAM,YAAY;AAAA,MAChB,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,gBAAgB;AAAA,MAChB,YAAY;AAAA;AAEd,iBAAa,KAAK;AAAA,MAChB,MAAM,EAAE,aAAa,UAAU,OAAO,iBAAiB;AAAA,MACvD,KAAK;AAAA,MACL,4CAAS,cAAD;AAAA,QAAc,OAAO;AAAA;AAAA,MAC7B,8CAAW,cAAD;AAAA,QAAc,OAAO,gBAAE,OAAO,YAAc;AAAA;AAAA,MACtD,SAAS,MAAM;AACb,qBAAa,SAAS,CAAC,aAAa;AAAA;AAAA;AAAA;AAK1C,MAAI,iCAAQ,oBAAoB;AAC9B,iBAAa,QAAQ;AAAA,MACnB,MAAM,EAAE;AAAA,MACR,KAAK;AAAA,MACL,QAAQC;AAAA,MACR,UAAUC;AAAA,MACV,SAAS,MAAM;AACb,cAAM,SAAS;AAAA;AAAA;AAAA;AAKrB,QAAM,mBAAmB,KAAK,MAAM,KAAK,aAAa;AAEtD,6CACG,OAAD;AAAA,IAAK,WAAU;AAAA,KACZ,aAAa,IAAI,CAAC,MAAM,8CACtB,KAAD;AAAA,IAAK,MAAM;AAAA,IAAkB,KAAK;AAAA,yCAC/B,OAAD;AAAA,IACE,KAAK,KAAK;AAAA,IACV,WAAU;AAAA,IACV,cAAc,MAAM;AAClB,eAAS,KAAK;AAAA;AAAA,IAEhB,cAAc,MAAM;AAClB,eAAS;AAAA;AAAA,yCAGV,YAAD;AAAA,IACE,OAAO,KAAK,IAAI,WAAW,UAAU,SAAS,KAAK,MAAM,KAAK,KAAK,KAAK,KAAK;AAAA,IAC7E,UAAU,CAAC,KAAK,IAAI,WAAW;AAAA,IAC/B,WAAU;AAAA,IACV,QAAQ,EAAE;AAAA,IACV,YAAY,EAAE;AAAA,IACd,WAAW,KAAK;AAAA,yCAEf,OAAD;AAAA,IAAK,WAAU;AAAA,KACZ,UAAU,KAAK,QAAQ,UAAU,KAAK,WAAW,KAAK,8CAExD,OAAD;AAAA,IAAK,WAAU;AAAA,IAAW,OAAO,CAAE,OAAO,KAAK,QAAQ,UAAU,YAAY;AAAA,KAC1E,KAAK;AAAA;AAUtB,MAAM,kBAAkB,CAAC,UAAoB;AA1H7C;AA2HE,QAAM,WAAW,UAAU,mBAAmB,YAAM,eAAN,mBAAkB,MAAM,YAAM,eAAN,mBAAkB;AAExF,SAAO;AAAA,IACL,cAAc,MAAM,WAAW;AAAA,IAC/B;AAAA,IACA,SAAS,MAAM,WAAW;AAAA,IAC1B,UAAU,MAAM,WAAW;AAAA;AAAA;AAI/B,uBAAe,QAAQ,iBAAiB;;;;"}
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 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/ImgAttributeInfo/index.tsx"],"sourcesContent":["import { Col, Row, Slider, Switch, Input } from 'antd/es';\nimport { connect } from 'react-redux';\nimport { throttle } from 'lodash';\nimport React, { useEffect } from 'react';\nimport { ImgAttributeState } from '@/store/imgAttribute/types';\nimport ImgAttribute from '@/store/imgAttribute/actionCreators';\nimport { store } from '@/index';\n\nimport saturationSvg from '@/assets/annotation/image/saturation.svg';\nimport contrastSvg from '@/assets/annotation/image/contrast.svg';\nimport brightnessSvg from '@/assets/annotation/image/brightness.svg';\nimport ZoomUpSvg from '@/assets/attributeIcon/zoomUp.svg';\nimport originalPic from '@/assets/annotation/image/icon_yuantu.svg';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n imgAttribute: ImgAttributeState;\n}\n\nconst ImgAttributeInfo = (props: IProps) => {\n const {\n imgAttribute: { contrast, saturation, brightness, zoomRatio, isOriginalSize },\n } = props;\n\n const { t } = useTranslation();\n\n const imgAttributeChange = throttle(\n (payload: Partial<ImgAttributeState>) => {\n store.dispatch(ImgAttribute.UpdateImgAttribute(payload as ImgAttributeState));\n },\n 60,\n { trailing: true },\n );\n\n const imgAttributeInfo = [\n {\n name: 'Saturation',\n min: -100,\n max: 500,\n step: 2,\n onChange: (v: number) => imgAttributeChange({ saturation: v }),\n value: saturation,\n svg: saturationSvg,\n },\n {\n name: 'Contrast',\n min: -100,\n max: 300,\n step: 2,\n onChange: (v: number) => imgAttributeChange({ contrast: v }),\n value: contrast,\n svg: contrastSvg,\n },\n {\n name: 'Exposure',\n min: -100,\n max: 400,\n step: 2,\n onChange: (v: number) => imgAttributeChange({ brightness: v }),\n value: brightness,\n svg: brightnessSvg,\n },\n {\n name: 'ScreenRatio',\n min: 0.1,\n max: 10,\n step: 0.1,\n onChange: (v: number) => imgAttributeChange({ zoomRatio: v }),\n value: zoomRatio,\n svg: ZoomUpSvg,\n },\n ];\n\n useEffect(() => {\n return () => {\n store.dispatch(ImgAttribute.InitImgAttribute());\n };\n }, []);\n\n return (\n <div>\n {imgAttributeInfo.map((info: any, index: number) => (\n <div className='imgAttributeController' key={`option_${index}`}>\n <Row className='tools' style={{ padding: '0px 0' }}>\n <Col span={24}>\n <span className='singleTool'>\n <img width={12} height={12} src={info.svg} />\n <span className='toolName'>{t(info.name)}</span>\n </span>\n </Col>\n </Row>\n <Row>\n <Col span={20}>\n <Slider\n min={info.min}\n max={info.max}\n step={info.step}\n value={info.value}\n onChange={info.onChange}\n trackStyle={{ background: '#666fff' }}\n />\n </Col>\n <Col span={4}>\n <Input\n value={info.value}\n disabled\n style={{\n fontSize: 12,\n marginBottom: 23,\n padding: '0px 2px',\n textAlign: 'center',\n }}\n />\n </Col>\n </Row>\n </div>\n ))}\n <div className='imgAttributeController'>\n <Row className='tools' style={{ padding: '10px 0' }}>\n <Col span={18}>\n <span className='singleTool'>\n <img src={originalPic} width={16} style={{ marginTop: '-2px' }} />\n <span className='toolName'>{t('OriginalScale')}</span>\n </span>\n </Col>\n <Col>\n <Switch\n checked={isOriginalSize}\n onChange={(v: boolean) => imgAttributeChange({ isOriginalSize: v })}\n />\n </Col>\n </Row>\n </div>\n </div>\n );\n};\n\nfunction mapStateToProps({ imgAttribute }: any) {\n return { imgAttribute };\n}\n\nexport default connect(mapStateToProps)(ImgAttributeInfo);\n"],"names":["saturationSvg","contrastSvg","brightnessSvg","ZoomUpSvg","originalPic"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../../src/views/MainView/sidebar/ImgAttributeInfo/index.tsx"],"sourcesContent":["import { Col, Row, Slider, Switch, Input } from 'antd/es';\nimport { connect } from 'react-redux';\nimport { throttle } from 'lodash';\nimport React, { useEffect } from 'react';\nimport { ImgAttributeState } from '@/store/imgAttribute/types';\nimport ImgAttribute from '@/store/imgAttribute/actionCreators';\nimport { store } from '@/index';\n\nimport saturationSvg from '@/assets/annotation/image/saturation.svg';\nimport contrastSvg from '@/assets/annotation/image/contrast.svg';\nimport brightnessSvg from '@/assets/annotation/image/brightness.svg';\nimport ZoomUpSvg from '@/assets/attributeIcon/zoomUp.svg';\nimport originalPic from '@/assets/annotation/image/icon_yuantu.svg';\nimport { useTranslation } from 'react-i18next';\n\ninterface IProps {\n imgAttribute: ImgAttributeState;\n}\n\nconst ImgAttributeInfo = (props: IProps) => {\n const {\n imgAttribute: { contrast, saturation, brightness, zoomRatio, isOriginalSize },\n } = props;\n\n const { t } = useTranslation();\n\n const imgAttributeChange = throttle(\n (payload: Partial<ImgAttributeState>) => {\n store.dispatch(ImgAttribute.UpdateImgAttribute(payload as ImgAttributeState));\n },\n 60,\n { trailing: true },\n );\n\n const imgAttributeInfo = [\n {\n name: 'Saturation',\n min: -100,\n max: 500,\n step: 2,\n onChange: (v: number) => imgAttributeChange({ saturation: v }),\n value: saturation,\n svg: saturationSvg,\n },\n {\n name: 'Contrast',\n min: -100,\n max: 300,\n step: 2,\n onChange: (v: number) => imgAttributeChange({ contrast: v }),\n value: contrast,\n svg: contrastSvg,\n },\n {\n name: 'Exposure',\n min: -100,\n max: 400,\n step: 2,\n onChange: (v: number) => imgAttributeChange({ brightness: v }),\n value: brightness,\n svg: brightnessSvg,\n },\n {\n name: 'ScreenRatio',\n min: 0.1,\n max: 10,\n step: 0.1,\n onChange: (v: number) => imgAttributeChange({ zoomRatio: v }),\n value: zoomRatio,\n svg: ZoomUpSvg,\n },\n ];\n\n useEffect(() => {\n return () => {\n store.dispatch(ImgAttribute.InitImgAttribute());\n };\n }, []);\n\n return (\n <div>\n {imgAttributeInfo.map((info: any, index: number) => (\n <div className='imgAttributeController' key={`option_${index}`}>\n <Row className='tools' style={{ padding: '0px 0' }}>\n <Col span={24}>\n <span className='singleTool'>\n <img width={12} height={12} src={info.svg} />\n <span className='toolName'>{t(info.name)}</span>\n </span>\n </Col>\n </Row>\n <Row>\n <Col span={20}>\n <Slider\n min={info.min}\n max={info.max}\n step={info.step}\n value={info.value}\n onChange={info.onChange}\n trackStyle={{ background: '#666fff' }}\n />\n </Col>\n <Col span={4}>\n <Input\n value={info.value}\n disabled\n style={{\n fontSize: 12,\n marginBottom: 23,\n padding: '0px 2px',\n textAlign: 'center',\n }}\n />\n </Col>\n </Row>\n </div>\n ))}\n <div className='imgAttributeController'>\n <Row className='tools' style={{ padding: '10px 0' }}>\n <Col span={18}>\n <span className='singleTool'>\n <img src={originalPic} width={16} style={{ marginTop: '-2px' }} />\n <span className='toolName'>{t('OriginalScale')}</span>\n </span>\n </Col>\n <Col>\n <Switch\n checked={isOriginalSize}\n onChange={(v: boolean) => imgAttributeChange({ isOriginalSize: v })}\n />\n </Col>\n </Row>\n </div>\n </div>\n );\n};\n\nfunction mapStateToProps({ imgAttribute }: any) {\n return { imgAttribute };\n}\n\nexport default connect(mapStateToProps)(ImgAttributeInfo);\n"],"names":["saturationSvg","contrastSvg","brightnessSvg","ZoomUpSvg","originalPic"],"mappings":"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"}