@gientech/modual 2.0.5 → 2.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/README.md +118 -0
  2. package/{dist/chat.js → chat.js} +98 -98
  3. package/package.json +41 -103
  4. package/.editorconfig +0 -38
  5. package/.prettierignore +0 -16
  6. package/.prettierrc +0 -17
  7. package/USAGE.md +0 -247
  8. package/bash.exe.stackdump +0 -40
  9. package/components.json +0 -21
  10. package/dist/README.md +0 -643
  11. package/dist/package.json +0 -68
  12. package/doc_assets/2.png +0 -0
  13. package/doc_assets/demo.md +0 -27
  14. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +0 -2
  15. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +0 -23699
  16. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +0 -1
  17. package/doc_assets/demos/dist-app/index.html +0 -14
  18. package/doc_assets/demos/dist-app/vite.svg +0 -1
  19. package/doc_assets/images/1.png +0 -0
  20. package/doc_assets/images/3.png +0 -0
  21. package/doc_assets/images/component-screenshot.png +0 -1
  22. package/doc_assets/install.md +0 -5
  23. package/doc_assets//346/226/271/346/241/210//344/274/230/345/214/226/346/226/271/346/241/210-/345/244/232/344/274/232/350/257/235SSE/350/277/236/346/216/245/347/256/241/347/220/206.md +0 -504
  24. package/eslint.config.js +0 -92
  25. package/index.html +0 -13
  26. package/package.json.demo-backup +0 -109
  27. package/postcss.config.cjs +0 -19
  28. package/public/icons/answerAwartar.png +0 -0
  29. package/public/icons/docx-file.png +0 -0
  30. package/public/icons/folder.png +0 -0
  31. package/public/icons/html.png +0 -0
  32. package/public/icons/image.png +0 -0
  33. package/public/icons/jpg-file.png +0 -0
  34. package/public/icons/json.png +0 -0
  35. package/public/icons/md.png +0 -0
  36. package/public/icons/pdf.png +0 -0
  37. package/public/icons/pptx.png +0 -0
  38. package/public/icons/questionAwartar.png +0 -0
  39. package/public/icons/sheets.png +0 -0
  40. package/public/icons/txt.png +0 -0
  41. package/public/icons/xlsx.png +0 -0
  42. package/public/vite.svg +0 -1
  43. package/public/worker/pdf.worker.min.js +0 -22
  44. package/scripts/README.md +0 -133
  45. package/scripts/build-demo.js +0 -88
  46. package/scripts/decrypt-api-key.js +0 -95
  47. package/scripts/demo-selector.js +0 -216
  48. package/scripts/dev-demo.js +0 -76
  49. package/scripts/preview-demo.js +0 -130
  50. package/scripts/run-demo.bat +0 -34
  51. package/src/assets/img/close.png +0 -0
  52. package/src/assets/img/database.png +0 -0
  53. package/src/assets/img/downArrow.png +0 -0
  54. package/src/assets/img/downLoad.png +0 -0
  55. package/src/assets/img/excel.png +0 -0
  56. package/src/assets/img/graphIcon.png +0 -0
  57. package/src/assets/img/img.png +0 -0
  58. package/src/assets/img/pdf.png +0 -0
  59. package/src/assets/img/ppt.png +0 -0
  60. package/src/assets/img/singleQa.png +0 -0
  61. package/src/assets/img/txt.png +0 -0
  62. package/src/assets/img/webSearch.png +0 -0
  63. package/src/assets/img/word.png +0 -0
  64. package/src/assets/login/homeBg.png +0 -0
  65. package/src/assets/login/left.jpg +0 -0
  66. package/src/assets/login/logoImg.png +0 -0
  67. package/src/examples/ConversationAssistantPage/index.tsx +0 -41
  68. package/src/examples/Demo/index.tsx +0 -12
  69. package/src/examples/LoginPage/index.tsx +0 -18
  70. package/src/examples/chat/components/DrawerGraphPreview.tsx +0 -78
  71. package/src/examples/chat/index.tsx +0 -154
  72. package/src/examples/chat/logo03.png +0 -0
  73. package/src/examples/gientechStreamFilesReader/index.tsx +0 -951
  74. package/src/examples/headlessChat/index.tsx +0 -234
  75. package/src/examples/ragDatabaseDataPage/index.tsx +0 -40
  76. package/src/examples/ragDatabaseIdPage/index.tsx +0 -47
  77. package/src/examples/ragDatabasePage/index.tsx +0 -36
  78. package/src/examples/ragModelManagePage/index.tsx +0 -38
  79. package/src/examples/ragSearchPage/index.tsx +0 -0
  80. package/src/examples/ragSensitiveWordsPage/index.tsx +0 -32
  81. package/src/examples/streamFiles/index.tsx +0 -417
  82. package/src/lib_enter.ts +0 -43
  83. package/src/main.tsx +0 -5
  84. package/src/main.tsx.backup +0 -5
  85. package/src/modules/CHAT_UNIFICATION_PLAN.md +0 -324
  86. package/src/modules/assistantConfig/assets/databse.svg +0 -6
  87. package/src/modules/assistantConfig/assets/empty.png +0 -0
  88. package/src/modules/assistantConfig/assets/graph.svg +0 -4
  89. package/src/modules/assistantConfig/assets/knowledge.svg +0 -4
  90. package/src/modules/assistantConfig/assets/sensitive.svg +0 -5
  91. package/src/modules/assistantConfig/components/Database.tsx +0 -171
  92. package/src/modules/assistantConfig/components/Graph.tsx +0 -177
  93. package/src/modules/assistantConfig/components/Knowledge.tsx +0 -276
  94. package/src/modules/assistantConfig/components/NotFoundContent.tsx +0 -21
  95. package/src/modules/assistantConfig/components/Paragraph.tsx +0 -51
  96. package/src/modules/assistantConfig/components/ParamsItem.tsx +0 -39
  97. package/src/modules/assistantConfig/components/ResourceBinderItem.tsx +0 -133
  98. package/src/modules/assistantConfig/components/SearchableSelector.tsx +0 -500
  99. package/src/modules/assistantConfig/components/Sensitive.tsx +0 -221
  100. package/src/modules/assistantConfig/components/SliderInput.tsx +0 -65
  101. package/src/modules/assistantConfig/constants.tsx +0 -75
  102. package/src/modules/assistantConfig/index.tsx +0 -710
  103. package/src/modules/assistantConfig/server.ts +0 -262
  104. package/src/modules/chat/Conversations/Item.tsx +0 -167
  105. package/src/modules/chat/Conversations/List.tsx +0 -210
  106. package/src/modules/chat/Conversations/groupByTime.ts +0 -39
  107. package/src/modules/chat/Conversations/index.tsx +0 -252
  108. package/src/modules/chat/ReferenceBar.tsx +0 -622
  109. package/src/modules/chat/constants.tsx +0 -52
  110. package/src/modules/chat/data.txt +0 -82
  111. package/src/modules/chat/index.tsx +0 -2054
  112. package/src/modules/chat/referenceCom/DeleteModal.tsx +0 -75
  113. package/src/modules/chat/referenceCom/DrawerContent.tsx +0 -136
  114. package/src/modules/chat/referenceCom/DrawerDatabase.tsx +0 -102
  115. package/src/modules/chat/referenceCom/DrawerGraphPreview.tsx +0 -86
  116. package/src/modules/chat/referenceCom/DrawerPreview.tsx +0 -73
  117. package/src/modules/chat/referenceCom/DrawerTitle.tsx +0 -26
  118. package/src/modules/chat/referenceCom/RenameModal.tsx +0 -86
  119. package/src/modules/chat/referenceCom/TagCom.tsx +0 -30
  120. package/src/modules/chat/style.less +0 -3
  121. package/src/modules/chat/types.ts +0 -17
  122. package/src/modules/chat/utils/index.ts +0 -348
  123. package/src/modules/database/CreateModal.tsx +0 -403
  124. package/src/modules/database/assets/Doris.png +0 -0
  125. package/src/modules/database/assets/PostgreSQL.png +0 -0
  126. package/src/modules/database/assets/SQLServer.png +0 -0
  127. package/src/modules/database/assets/database.svg +0 -11
  128. package/src/modules/database/assets/database_add.svg +0 -53
  129. package/src/modules/database/assets/database_connect.svg +0 -66
  130. package/src/modules/database/assets/database_upload.svg +0 -29
  131. package/src/modules/database/assets/empty.png +0 -0
  132. package/src/modules/database/assets/mysql.svg +0 -14
  133. package/src/modules/database/index.tsx +0 -477
  134. package/src/modules/database/server.ts +0 -196
  135. package/src/modules/databaseId/CustomCom.tsx +0 -156
  136. package/src/modules/databaseId/EditConfig.tsx +0 -280
  137. package/src/modules/databaseId/UploadDrawer.tsx +0 -535
  138. package/src/modules/databaseId/assets/aiOptimize.svg +0 -10
  139. package/src/modules/databaseId/assets/empty.png +0 -0
  140. package/src/modules/databaseId/assets/template.svg +0 -6
  141. package/src/modules/databaseId/assets/upload.svg +0 -9
  142. package/src/modules/databaseId/assets/useTemp.svg +0 -6
  143. package/src/modules/databaseId/index.tsx +0 -769
  144. package/src/modules/databaseId/server.ts +0 -286
  145. package/src/modules/databaseId/style.css +0 -5
  146. package/src/modules/databaseTable/EditRowDrawer.tsx +0 -124
  147. package/src/modules/databaseTable/index.tsx +0 -359
  148. package/src/modules/databaseTable/server.ts +0 -180
  149. package/src/modules/headlessChat/ReferenceBar.tsx +0 -783
  150. package/src/modules/headlessChat/constants.tsx +0 -54
  151. package/src/modules/headlessChat/index.tsx +0 -1706
  152. package/src/modules/headlessChat/referenceCom/DeleteModal.tsx +0 -75
  153. package/src/modules/headlessChat/referenceCom/DrawerContent.tsx +0 -136
  154. package/src/modules/headlessChat/referenceCom/DrawerDatabase.tsx +0 -102
  155. package/src/modules/headlessChat/referenceCom/DrawerGraphPreview.tsx +0 -86
  156. package/src/modules/headlessChat/referenceCom/DrawerPreview.tsx +0 -73
  157. package/src/modules/headlessChat/referenceCom/DrawerTitle.tsx +0 -26
  158. package/src/modules/headlessChat/referenceCom/RenameModal.tsx +0 -86
  159. package/src/modules/headlessChat/referenceCom/TagCom.tsx +0 -30
  160. package/src/modules/headlessChat/style.less +0 -3
  161. package/src/modules/headlessChat/types.ts +0 -23
  162. package/src/modules/headlessChat/utils/index.ts +0 -348
  163. package/src/modules/login/components/Login/LoginBox/index.tsx +0 -102
  164. package/src/modules/login/components/Login/RegisterBox/index.tsx +0 -180
  165. package/src/modules/login/components/Login/index.tsx +0 -100
  166. package/src/modules/login/index.tsx +0 -106
  167. package/src/modules/login/style.css +0 -3
  168. package/src/modules/login/useServices.ts +0 -53
  169. package/src/modules/login/utils.ts +0 -42
  170. package/src/modules/modelManage/ConfigDrawer.tsx +0 -249
  171. package/src/modules/modelManage/ReplaceModal.tsx +0 -124
  172. package/src/modules/modelManage/assets/empty.png +0 -0
  173. package/src/modules/modelManage/const.ts +0 -51
  174. package/src/modules/modelManage/index.tsx +0 -606
  175. package/src/modules/modelManage/server.ts +0 -223
  176. package/src/modules/nodegraph/index.tsx +0 -1
  177. package/src/modules/search/assets/Icon-history.svg +0 -8
  178. package/src/modules/search/assets/answerAwartar.png +0 -0
  179. package/src/modules/search/assets/doc.png +0 -0
  180. package/src/modules/search/assets/genera.gif +0 -0
  181. package/src/modules/search/assets/icon-robot.svg +0 -9
  182. package/src/modules/search/assets/icon-search-bar.svg +0 -14
  183. package/src/modules/search/assets/icon-sub-title.svg +0 -3
  184. package/src/modules/search/assets/icon-title.svg +0 -9
  185. package/src/modules/search/assets/icon-zoomOut.svg +0 -9
  186. package/src/modules/search/assets/iconAi.svg +0 -9
  187. package/src/modules/search/assets/pdf.png +0 -0
  188. package/src/modules/search/assets/ppt.png +0 -0
  189. package/src/modules/search/assets/search.svg +0 -3
  190. package/src/modules/search/assets/selected.svg +0 -4
  191. package/src/modules/search/assets/txt.png +0 -0
  192. package/src/modules/search/assets/xls.png +0 -0
  193. package/src/modules/search/components/AssisSelect.tsx +0 -137
  194. package/src/modules/search/components/Editor/ChatViewEditor.tsx +0 -261
  195. package/src/modules/search/components/Editor/aichat.css +0 -1
  196. package/src/modules/search/components/Editor/constant.ts +0 -13
  197. package/src/modules/search/components/Editor/index.tsx +0 -113
  198. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +0 -332
  199. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +0 -20
  200. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +0 -38
  201. package/src/modules/search/components/Editor/plugins/displayer.ts +0 -298
  202. package/src/modules/search/components/Editor/plugins/imageClick.tsx +0 -32
  203. package/src/modules/search/components/Editor/plugins/myplugin.tsx +0 -98
  204. package/src/modules/search/components/Editor/ui/avatar.tsx +0 -19
  205. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +0 -21
  206. package/src/modules/search/components/Editor/ui/button.tsx +0 -58
  207. package/src/modules/search/components/Editor/ui/calendar.tsx +0 -68
  208. package/src/modules/search/components/Editor/ui/caption.tsx +0 -46
  209. package/src/modules/search/components/Editor/ui/checkbox.tsx +0 -27
  210. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +0 -188
  211. package/src/modules/search/components/Editor/ui/code-block-element.css +0 -434
  212. package/src/modules/search/components/Editor/ui/code-block-element.tsx +0 -39
  213. package/src/modules/search/components/Editor/ui/code-leaf.tsx +0 -24
  214. package/src/modules/search/components/Editor/ui/code-line-element.tsx +0 -10
  215. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +0 -21
  216. package/src/modules/search/components/Editor/ui/column-element.tsx +0 -30
  217. package/src/modules/search/components/Editor/ui/column-group-element.tsx +0 -94
  218. package/src/modules/search/components/Editor/ui/command.tsx +0 -75
  219. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +0 -22
  220. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +0 -37
  221. package/src/modules/search/components/Editor/ui/comment-item.tsx +0 -74
  222. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +0 -49
  223. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +0 -42
  224. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +0 -22
  225. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +0 -32
  226. package/src/modules/search/components/Editor/ui/comment-value.tsx +0 -34
  227. package/src/modules/search/components/Editor/ui/comments-popover.tsx +0 -63
  228. package/src/modules/search/components/Editor/ui/date-element.tsx +0 -83
  229. package/src/modules/search/components/Editor/ui/dialog.tsx +0 -63
  230. package/src/modules/search/components/Editor/ui/draggable.tsx +0 -177
  231. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +0 -180
  232. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +0 -85
  233. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +0 -28
  234. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +0 -76
  235. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +0 -8
  236. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +0 -51
  237. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +0 -77
  238. package/src/modules/search/components/Editor/ui/heading-element.tsx +0 -48
  239. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +0 -17
  240. package/src/modules/search/components/Editor/ui/hr-element.tsx +0 -30
  241. package/src/modules/search/components/Editor/ui/icons.tsx +0 -267
  242. package/src/modules/search/components/Editor/ui/image-element.tsx +0 -74
  243. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +0 -368
  244. package/src/modules/search/components/Editor/ui/input.tsx +0 -25
  245. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +0 -218
  246. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +0 -20
  247. package/src/modules/search/components/Editor/ui/link-element.tsx +0 -29
  248. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +0 -161
  249. package/src/modules/search/components/Editor/ui/list-element.tsx +0 -30
  250. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +0 -24
  251. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +0 -133
  252. package/src/modules/search/components/Editor/ui/media-popover.tsx +0 -97
  253. package/src/modules/search/components/Editor/ui/mention-element.tsx +0 -43
  254. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +0 -141
  255. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +0 -93
  256. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +0 -67
  257. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +0 -4
  258. package/src/modules/search/components/Editor/ui/placeholder.tsx +0 -52
  259. package/src/modules/search/components/Editor/ui/popover.tsx +0 -32
  260. package/src/modules/search/components/Editor/ui/resizable.tsx +0 -66
  261. package/src/modules/search/components/Editor/ui/separator.tsx +0 -25
  262. package/src/modules/search/components/Editor/ui/style.less +0 -12
  263. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +0 -143
  264. package/src/modules/search/components/Editor/ui/table-element.tsx +0 -243
  265. package/src/modules/search/components/Editor/ui/table-row-element.tsx +0 -22
  266. package/src/modules/search/components/Editor/ui/tableValue.tsx +0 -135
  267. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +0 -43
  268. package/src/modules/search/components/Editor/ui/toggle-element.tsx +0 -31
  269. package/src/modules/search/components/Editor/ui/toolbar.tsx +0 -157
  270. package/src/modules/search/components/Editor/ui/tooltip.tsx +0 -65
  271. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +0 -160
  272. package/src/modules/search/components/Editor/ui/with-draggables.tsx +0 -175
  273. package/src/modules/search/components/FileList.tsx +0 -287
  274. package/src/modules/search/components/ImageGroupView/index.tsx +0 -85
  275. package/src/modules/search/components/ResultContent.tsx +0 -232
  276. package/src/modules/search/components/SearchInput.tsx +0 -232
  277. package/src/modules/search/components/SearchLanding.tsx +0 -74
  278. package/src/modules/search/components/SearchView.tsx +0 -563
  279. package/src/modules/search/components/SimpleEditor.tsx +0 -158
  280. package/src/modules/search/components/SimpleFileList.tsx +0 -215
  281. package/src/modules/search/index.tsx +0 -10
  282. package/src/modules/search/reademe.md +0 -1
  283. package/src/modules/search/servers/apis.tsx +0 -19
  284. package/src/modules/search/servers/index.ts +0 -184
  285. package/src/modules/search/style.less +0 -503
  286. package/src/modules/search/type.ts +0 -22
  287. package/src/modules/search/utils.ts +0 -34
  288. package/src/modules/sensitive/index.tsx +0 -313
  289. package/src/modules/sensitive/server.ts +0 -122
  290. package/src/modules/streamFilesReader/GientechStreamReader.tsx +0 -1625
  291. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  292. package/src/modules/streamFilesReader/components/Header/index.tsx +0 -297
  293. package/src/modules/streamFilesReader/index.tsx +0 -3
  294. package/src/style.css +0 -6
  295. package/src/type.d.ts +0 -0
  296. package/src/utils/commonFn.tsx +0 -111
  297. package/src/utils/decryptApiKey.ts +0 -40
  298. package/src/utils/gientechCommon/components/AppError.tsx +0 -32
  299. package/src/utils/gientechCommon/components/AppLoading.tsx +0 -75
  300. package/src/utils/gientechCommon/components/DeleteModal.tsx +0 -75
  301. package/src/utils/gientechCommon/components/DisplayError.tsx +0 -33
  302. package/src/utils/gientechCommon/components/DisplayLoading.tsx +0 -38
  303. package/src/utils/gientechCommon/components/FeedBackModal.tsx +0 -319
  304. package/src/utils/gientechCommon/components/FileCardCommon.tsx +0 -82
  305. package/src/utils/gientechCommon/components/FileManager/index.tsx +0 -400
  306. package/src/utils/gientechCommon/components/FileManager/style.css +0 -5
  307. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +0 -581
  308. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +0 -359
  309. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +0 -245
  310. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +0 -209
  311. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  312. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +0 -148
  313. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +0 -14
  314. package/src/utils/gientechCommon/components/RenameModal.tsx +0 -86
  315. package/src/utils/gientechCommon/components/style.less +0 -11
  316. package/src/utils/gientechCommon/configs/commonConfig.ts +0 -2
  317. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  318. package/src/utils/gientechCommon/configs/stylesConfig.ts +0 -142
  319. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +0 -417
  320. package/src/utils/gientechCommon/hooks/useFileDisplayTools.tsx +0 -204
  321. package/src/utils/gientechCommon/hooks/useFileManager.ts +0 -193
  322. package/src/utils/gientechCommon/slate/converters/deserializers.ts +0 -763
  323. package/src/utils/gientechCommon/slate/converters/mockData.ts +0 -232
  324. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +0 -258
  325. package/src/utils/gientechCommon/slate/richElements/index.tsx +0 -499
  326. package/src/utils/gientechCommon/utils/fileUtils.ts +0 -86
  327. package/src/utils/gientechCommon/utils/request.ts +0 -37
  328. package/src/utils/gientechCommon/utils/serverFn.ts +0 -172
  329. package/src/utils/index.tsx +0 -142
  330. package/src/utils/testconfigs/demologin/index.tsx +0 -32
  331. package/src/utils/testconfigs/index.ts +0 -59
  332. package/src/vite-env.d.ts +0 -42
  333. package/stats.html +0 -4949
  334. package/tailwind.config.js +0 -170
  335. package/tsconfig.app.json +0 -30
  336. package/tsconfig.app.tsbuildinfo +0 -11
  337. package/tsconfig.json +0 -13
  338. package/tsconfig.node.json +0 -22
  339. package/tsconfig.node.tsbuildinfo +0 -1
  340. package/vite.config.app.ts +0 -93
  341. package/vite.config.ts +0 -232
  342. package/workflows/release.yml +0 -60
  343. package//346/215/242/350/241/214/346/240/274/345/274/217/344/277/235/346/214/201/344/274/230/345/214/226/346/226/271/346/241/210.md +0 -359
  344. /package/{dist/assets → assets}/Doris.png +0 -0
  345. /package/{dist/assets → assets}/GientechStreamReader-DUCq-O5X.js +0 -0
  346. /package/{dist/assets → assets}/PostgreSQL.png +0 -0
  347. /package/{dist/assets → assets}/SQLServer.png +0 -0
  348. /package/{dist/assets → assets}/database.svg +0 -0
  349. /package/{dist/assets → assets}/database_add.svg +0 -0
  350. /package/{dist/assets → assets}/database_connect.svg +0 -0
  351. /package/{dist/assets → assets}/database_upload.svg +0 -0
  352. /package/{dist/assets → assets}/databse.svg +0 -0
  353. /package/{dist/assets → assets}/defaultWeLogo.svg +0 -0
  354. /package/{dist/assets → assets}/empty.png +0 -0
  355. /package/{dist/assets → assets}/graph.svg +0 -0
  356. /package/{dist/assets → assets}/homeBg.png +0 -0
  357. /package/{dist/assets → assets}/index-B2yNvzjy.js +0 -0
  358. /package/{dist/assets → assets}/index-BKe5FgcC.js +0 -0
  359. /package/{dist/assets → assets}/index-CpW6Dhpp.js +0 -0
  360. /package/{dist/assets → assets}/index-D72cKELw.js +0 -0
  361. /package/{dist/assets → assets}/index-DdVFXD_y.js +0 -0
  362. /package/{dist/assets → assets}/index-DrkSoKz6.js +0 -0
  363. /package/{dist/assets → assets}/index-KCfkkJKb.js +0 -0
  364. /package/{dist/assets → assets}/index-QI9biQrR.js +0 -0
  365. /package/{dist/assets → assets}/index-ZopkeZtI.js +0 -0
  366. /package/{dist/assets → assets}/index-g-SUxfJH.js +0 -0
  367. /package/{dist/assets → assets}/index-j0kQJd0a.js +0 -0
  368. /package/{dist/assets → assets}/knowledge.svg +0 -0
  369. /package/{dist/assets → assets}/left.jpg +0 -0
  370. /package/{dist/assets → assets}/logoImg.png +0 -0
  371. /package/{dist/assets → assets}/mysql.svg +0 -0
  372. /package/{dist/assets → assets}/plus-V9zUoSq6.js +0 -0
  373. /package/{dist/assets → assets}/sensitive.svg +0 -0
  374. /package/{dist/assets → assets}/style-CGmZ5osp.js +0 -0
  375. /package/{dist/assets → assets}/style.css +0 -0
  376. /package/{dist/assets → assets}/style2.css +0 -0
  377. /package/{dist/assets → assets}/style3.css +0 -0
  378. /package/{dist/assets → assets}/style4.css +0 -0
  379. /package/{dist/assets → assets}/worker-BbpylX7l.js +0 -0
  380. /package/{dist/assets → assets}/x-CnaaLGJF.js +0 -0
  381. /package/{dist/assistantConfig.d.ts → assistantConfig.d.ts} +0 -0
  382. /package/{dist/assistantConfig.js → assistantConfig.js} +0 -0
  383. /package/{dist/chat.d.ts → chat.d.ts} +0 -0
  384. /package/{dist/database.d.ts → database.d.ts} +0 -0
  385. /package/{dist/database.js → database.js} +0 -0
  386. /package/{dist/databaseId.d.ts → databaseId.d.ts} +0 -0
  387. /package/{dist/databaseId.js → databaseId.js} +0 -0
  388. /package/{dist/databaseTable.d.ts → databaseTable.d.ts} +0 -0
  389. /package/{dist/databaseTable.js → databaseTable.js} +0 -0
  390. /package/{dist/icons → icons}/answerAwartar.png +0 -0
  391. /package/{dist/icons → icons}/docx-file.png +0 -0
  392. /package/{dist/icons → icons}/folder.png +0 -0
  393. /package/{dist/icons → icons}/html.png +0 -0
  394. /package/{dist/icons → icons}/image.png +0 -0
  395. /package/{dist/icons → icons}/jpg-file.png +0 -0
  396. /package/{dist/icons → icons}/json.png +0 -0
  397. /package/{dist/icons → icons}/md.png +0 -0
  398. /package/{dist/icons → icons}/pdf.png +0 -0
  399. /package/{dist/icons → icons}/pptx.png +0 -0
  400. /package/{dist/icons → icons}/questionAwartar.png +0 -0
  401. /package/{dist/icons → icons}/sheets.png +0 -0
  402. /package/{dist/icons → icons}/txt.png +0 -0
  403. /package/{dist/icons → icons}/xlsx.png +0 -0
  404. /package/{dist/index.d.ts → index.d.ts} +0 -0
  405. /package/{dist/index.js → index.js} +0 -0
  406. /package/{dist/modelManage.d.ts → modelManage.d.ts} +0 -0
  407. /package/{dist/modelManage.js → modelManage.js} +0 -0
  408. /package/{dist/sensitive.d.ts → sensitive.d.ts} +0 -0
  409. /package/{dist/sensitive.js → sensitive.js} +0 -0
  410. /package/{dist/streamFilesReader.d.ts → streamFilesReader.d.ts} +0 -0
  411. /package/{dist/streamFilesReader.js → streamFilesReader.js} +0 -0
  412. /package/{dist/vite.svg → vite.svg} +0 -0
  413. /package/{dist/worker → worker}/pdf.worker.min.js +0 -0
@@ -1,769 +0,0 @@
1
- import React, { useMemo, useState, useEffect, useRef } from 'react';
2
- import { message, Modal, theme } from 'antd';
3
- import { uid } from 'uid';
4
- import { TriangleAlert, Upload } from 'lucide-react';
5
- import { DashboardContainer, defaultTheme, type Styles } from '@mxmweb/zui';
6
- import { Xviwer, CustomComponents } from '@mxmweb/xviewer';
7
- import '@mxmweb/rtext/style.css';
8
- import '@mxmweb/zui/style.css';
9
- import UploadDrawer from './UploadDrawer';
10
- import EditConfigDrawer from './EditConfig';
11
-
12
- import AxiosInstance from './server';
13
- import {
14
- StatusComponent,
15
- TableMetaDescriptionCom,
16
- statusArr,
17
- EmptyData,
18
- OPT_BTN,
19
- DescStatus,
20
- } from './CustomCom';
21
- const { confirm } = Modal;
22
-
23
- interface DatabaseViewAdopterProps {
24
- url?: string;
25
- token?: string;
26
- role?: string;
27
- id: string;
28
- styles?: Styles;
29
- dbType: 'DataTable' | 'DirectDB';
30
- uploadUrl: string;
31
- CustomComponents?: CustomComponents;
32
- eventsEmit?: (name: string, data: any) => void;
33
- getBtnDisabled?: (type: OPT_BTN, permission: number) => boolean;
34
- }
35
-
36
- const DatabaseViewAdopter: React.FC<DatabaseViewAdopterProps> = props => {
37
- const { url, token, role, id, dbType, CustomComponents, getBtnDisabled, uploadUrl } = props;
38
-
39
- const [status, setStatus] = useState<any>({
40
- container: 'ready',
41
- content: 'ready',
42
- });
43
- // 创建ref来访问核心组件实例
44
- const coreRef = useRef<any>(null);
45
- // 轮询定时器引用,避免重复定时与内存泄漏
46
- const pollTimerRef = useRef<any>(null);
47
- //表数据
48
- const [tableData, setTableData] = useState<
49
- {
50
- id: string;
51
- data?: any[];
52
- children?: {
53
- [key: string]: {
54
- id: string;
55
- data?: any[];
56
- }[];
57
- };
58
- expanded?: boolean;
59
- }[]
60
- >();
61
-
62
- // 管理子table的pending状态,用于动画
63
- const [subTablePendingIds, setSubTablePendingIds] = useState<{ [viewKey: string]: string[] }>({});
64
-
65
- // 数据库信息
66
- const [dbInfo, setDBInfo] = useState<any>();
67
-
68
- // 抽屉状态管理
69
- const [drawerVisible, setDrawerVisible] = useState(false);
70
- const [drawerTitle, setDrawerTitle] = useState('');
71
- const [tableInfo, setTableInfo] = useState<any>();
72
-
73
- // 修改数据配置
74
- const [configDrawerVisible, setConfigDrawerVisible] = useState(false);
75
- const [configDrawerTitle, setConfigDrawerTitle] = useState('');
76
-
77
- const {
78
- getTableList,
79
- delTableById,
80
- delFileById,
81
- updateTableInfo,
82
- optimizeDesc,
83
- getTableTreeList,
84
- reParseFile,
85
- getDBDetailById,
86
- } = AxiosInstance({
87
- url,
88
- token,
89
- role,
90
- eventsEmit: props.eventsEmit,
91
- });
92
-
93
- // 模拟应用初始化过程
94
- useEffect(() => {
95
- if (id && dbType) {
96
- setStatus((prev: any) => ({ ...prev, container: 'loading' }));
97
- getDatabaseDetail();
98
- }
99
- return () => {
100
- if (pollTimerRef.current) {
101
- clearTimeout(pollTimerRef.current);
102
- pollTimerRef.current = null;
103
- }
104
- };
105
- }, [id, dbType]);
106
-
107
- const getDatabaseDetail = async () => {
108
- try {
109
- const res = await getDBDetailById(id, dbType);
110
- if (res) {
111
- setDBInfo(res);
112
- setStatus((prev: any) => ({ ...prev, container: 'ready', content: 'loading' }));
113
- }
114
- } catch (e) {
115
- console.log('[TableApiError] getDBInfo:', e);
116
- }
117
- // 获取详情后开始轮询拉取列表
118
- await pollFetchList();
119
- };
120
-
121
- const handleFetchList = async (): Promise<any[] | undefined> => {
122
- try {
123
- if (dbType == 'DirectDB') {
124
- const res = await getTableList(id);
125
- if (res) {
126
- const _data = generateDirectDBDatas(res);
127
- setTableData(_data || []);
128
- setStatus((prev: any) => ({ ...prev, content: 'ready' }));
129
- return _data || [];
130
- } else {
131
- setStatus((prev: any) => ({ ...prev, content: 'error' }));
132
- }
133
- } else {
134
- const res = await getTableTreeList(id);
135
- if (res) {
136
- const _data = generateDataTableDatas(res);
137
- setTableData(_data || []);
138
- setStatus((prev: any) => ({ ...prev, content: 'ready' }));
139
- return _data || [];
140
- } else {
141
- setStatus((prev: any) => ({ ...prev, content: 'error' }));
142
- }
143
- }
144
- } catch (e) {
145
- console.log('[TableApiError] getTableList:', e);
146
- }
147
- return undefined;
148
- };
149
-
150
- // 处理 上传数据库类型 的 表list数据
151
- function generateDataTableDatas(data: any[]) {
152
- return (data || []).map((_t, i) => {
153
- let status = statusArr.find((s: any) => s.status == _t.status);
154
-
155
- const importStatus = _t.children.some((c: any) => c.status == '00'); // 子列表于一个导入失败,父表显示追加失败
156
-
157
- return {
158
- id: _t.fileId.toString(),
159
- tableId: _t.tableId,
160
- data: [
161
- { columnId: 'name', value: _t?.originalFilename || '-', type: 'label' },
162
- {
163
- columnId: 'description',
164
- value: _t?.tableMeta?.description,
165
- type: 'customized',
166
- tableMeta: _t?.tableMeta,
167
- },
168
- { columnId: 'count', value: `${_t.rowCount}行,${_t.columnCount}列`, type: 'text' },
169
- { columnId: 'status', ...status, type: 'customized', errorMsg: _t.errorMsg },
170
- { columnId: 'importstatus', value: importStatus, type: 'customized' },
171
- {
172
- columnId: 'createdAt',
173
- value: _t.gmtCreate,
174
- type: 'date',
175
- },
176
- {
177
- columnId: 'updatedAt',
178
- value: _t.gmtModified,
179
- type: 'date',
180
- },
181
- ...(_t.status == '30'
182
- ? [
183
- {
184
- columnId: 'actions',
185
- value: 'view',
186
- label: '查看',
187
- type: 'action',
188
- disabled: getBtnDisabled && getBtnDisabled(OPT_BTN.VIEW, _t.permission),
189
- },
190
- {
191
- columnId: 'actions',
192
- value: 'edit',
193
- label: '修改配置',
194
- type: 'action',
195
- disabled: getBtnDisabled && getBtnDisabled(OPT_BTN.EDIT, _t.permission),
196
- },
197
- {
198
- columnId: 'actions',
199
- value: 'addData',
200
- label: '追加数据',
201
- type: 'action',
202
- disabled: getBtnDisabled && getBtnDisabled(OPT_BTN.EDIT, _t.permission),
203
- },
204
- ]
205
- : []),
206
- ...(_t.status == '00'
207
- ? [
208
- {
209
- columnId: 'actions',
210
- value: 'reValidate',
211
- label: '重新导入',
212
- type: 'action',
213
- },
214
- ]
215
- : []),
216
- {
217
- columnId: 'actions',
218
- value: 'delete',
219
- label: '删除',
220
- type: 'action',
221
- disabled: getBtnDisabled && getBtnDisabled(OPT_BTN.DELETE, _t.permission),
222
- },
223
- ],
224
- expanded: false,
225
- ...(_t.children &&
226
- _t.children?.length > 0 && {
227
- children: [
228
- ...(_t.children || []).map((_c: any) => {
229
- const c_status = statusArr.find((s: any) => s.status == _c.status);
230
-
231
- const data = [
232
- { columnId: 'name', value: _c.originalFilename, type: 'text' },
233
- {
234
- columnId: 'count',
235
- value: `${_c.rowCount}行,${_c.columnCount}列`,
236
- type: 'text',
237
- },
238
- {
239
- columnId: 'status',
240
- ...c_status,
241
-
242
- errorMsg: _c.errorMsg,
243
- type: 'customized',
244
- },
245
- {
246
- columnId: 'createdAt',
247
- value: _c.gmtCreate,
248
- type: 'date',
249
- },
250
- {
251
- columnId: 'updatedAt',
252
- value: _c.gmtModified,
253
- type: 'date',
254
- },
255
- ...(_c.status == '30'
256
- ? [
257
- {
258
- columnId: 'actions',
259
- value: 'view',
260
- label: '查看',
261
- type: 'action',
262
- disabled: getBtnDisabled && getBtnDisabled(OPT_BTN.VIEW, _c.permission),
263
- },
264
- ]
265
- : []),
266
- ...(_c.status == '00'
267
- ? [
268
- {
269
- columnId: 'actions',
270
- value: 'reValidate',
271
- label: '重新导入',
272
- type: 'action',
273
- disabled: getBtnDisabled && getBtnDisabled(OPT_BTN.ADD, _c.permission),
274
- },
275
- ]
276
- : []),
277
- {
278
- columnId: 'actions',
279
- value: 'delete_sub',
280
- label: '删除',
281
- type: 'action',
282
- disabled: getBtnDisabled && getBtnDisabled(OPT_BTN.DELETE, _c.permission),
283
- },
284
- ];
285
- return {
286
- id: _c.fileId.toString(),
287
- tableId: _c.tableId,
288
- data: data,
289
- };
290
- }),
291
- ],
292
- }),
293
- };
294
- });
295
- }
296
-
297
- // 处理 直连数据库类型 的 表list数据
298
- function generateDirectDBDatas(data: any[]) {
299
- return (data || []).map((_t, i) => {
300
- return {
301
- id: _t.id || uid(8),
302
- data: [
303
- { columnId: 'name', value: _t.physicalName },
304
- {
305
- columnId: 'cnname',
306
- value: _t.businessName,
307
- },
308
- { columnId: 'colcount', value: _t.columnCount },
309
-
310
- { columnId: 'count', value: `${_t.rowCount}行,${_t.columnCount}列` },
311
- {
312
- columnId: 'actions',
313
- value: 'view',
314
- label: '查看',
315
- disabled: getBtnDisabled && getBtnDisabled(OPT_BTN.VIEW, _t.permission),
316
- },
317
- ],
318
- };
319
- });
320
- }
321
-
322
- // 事件分流函数,先处理核心层UI/动画,再决定是否向上透传
323
- async function handleEventsEmit(name: string, data: any, appFn: any) {
324
- console.log('[adopter] mergedEventsEmit', name, data, appFn);
325
- // 1. 先处理核心层UI/动画/数据
326
- switch (name) {
327
- case 'table_action_delete': {
328
- try {
329
- console.log('[delete] 删除事件数据:', data);
330
- // 确保 data 有 tableId 和 id
331
- if (!data || (!data.tableId && !data.id)) {
332
- console.error('[delete] 删除事件数据不完整:', data);
333
- message.error('删除失败:数据不完整');
334
- return;
335
- }
336
- const tableId = data.tableId || data.id;
337
- const rowId = data.id;
338
-
339
- confirm({
340
- title: '确认删除数据库?',
341
- content: '该数据表及其追加数据都将被删除且无法恢复',
342
- icon: <TriangleAlert color="#FF4D4F" className="mr-[8px]" />,
343
- okText: '删除',
344
- cancelText: '取消',
345
- async onOk() {
346
- const res = await delTableById(tableId, dbType);
347
- if (res && coreRef?.current) {
348
- coreRef?.current.appFn.removeItem(rowId);
349
- message.success(`删除成功`);
350
- } else {
351
- message.error('删除失败');
352
- }
353
- },
354
- });
355
- } catch (e) {
356
- console.error('删除表数据失败:', e);
357
- message.error('删除失败');
358
- }
359
- break;
360
- }
361
- case 'table_action_edit': {
362
- setConfigDrawerTitle('修改数据配置');
363
- setConfigDrawerVisible(true);
364
- setTableInfo(data);
365
- break;
366
- }
367
- //上传
368
- case 'toolbar_upload': {
369
- setDrawerTitle('上传数据文件');
370
- setDrawerVisible(true);
371
- break;
372
- }
373
- //追加
374
- case 'table_action_addData': {
375
- setDrawerTitle('追加数据');
376
- setDrawerVisible(true);
377
- setTableInfo(data);
378
- break;
379
- }
380
-
381
- //重新导入
382
- case 'table_action_reValidate': {
383
- const res = await reParseFile(data.id);
384
- if (res) {
385
- if (pollTimerRef.current) {
386
- clearTimeout(pollTimerRef.current);
387
- pollTimerRef.current = null;
388
- }
389
- await pollFetchList();
390
- }
391
- break;
392
- }
393
-
394
- //修改表配置
395
- case 'table_info:update': {
396
- try {
397
- if (tableInfo?.id) {
398
- const tbTitle = tableInfo?.data.find((d: any) => d.columnId == 'name').value || '-';
399
- const res = await updateTableInfo({
400
- tableId: tableInfo.tableId,
401
- description: data,
402
- businessName: tbTitle,
403
- });
404
- if (res && coreRef?.current) {
405
- const patch = {
406
- ...tableInfo,
407
- data: tableInfo.data.map((d: any) => {
408
- if (d.columnId == 'description') {
409
- return {
410
- ...d,
411
- value: data,
412
- };
413
- } else {
414
- return d;
415
- }
416
- }),
417
- };
418
- coreRef?.current.appFn.updateItem(patch, tableInfo.id);
419
- message.success('修改配置成功');
420
- }
421
- }
422
- } catch (e) {
423
- console.error('修改配置失败', e);
424
- } finally {
425
- handleDrawerClose();
426
- }
427
- break;
428
- }
429
-
430
- //子表删除
431
- case 'table_action_delete_sub': {
432
- try {
433
- confirm({
434
- title: '确认删除数据?',
435
- content: '删除后,该数据将无法恢复',
436
- okText: '删除',
437
- cancelText: '取消',
438
- async onOk() {
439
- const { id, tableId } = data;
440
-
441
- const res = await delFileById(data.id);
442
- if (res && coreRef?.current) {
443
- setSubTablePendingIds(prev => ({
444
- ...prev,
445
- [tableId]: [...(prev[tableId] || []), id],
446
- }));
447
- if (data.data.find((d: any) => d.status == '00')) {
448
- // 如果子表有导入失败的,删除之后刷新
449
- if (pollTimerRef.current) {
450
- clearTimeout(pollTimerRef.current);
451
- pollTimerRef.current = null;
452
- }
453
- pollFetchList();
454
- }
455
- appFn.removeItem(id, tableId);
456
-
457
- message.success('追加文件数据删除成功');
458
- }
459
- },
460
- });
461
- } catch (e) {
462
- console.log('删除表数据失败');
463
- }
464
- break;
465
- }
466
-
467
- case 'toolbar_auth': {
468
- if (typeof props.eventsEmit === 'function') {
469
- // 兼容只传2个参数的业务层eventsEmit
470
-
471
- props.eventsEmit('toolbar_auth', dbInfo);
472
- }
473
- break;
474
- }
475
-
476
- default:
477
- // 2. 透传到业务层(如有需要)
478
- if (typeof props.eventsEmit === 'function') {
479
- // 兼容只传2个参数的业务层eventsEmit
480
-
481
- props.eventsEmit(name, data);
482
- }
483
- break;
484
- }
485
- }
486
- // 根据数据库类型动态生成views配置
487
- const directDBViewConfig = useMemo(
488
- () => ({
489
- label: '数据表管理',
490
- model: null,
491
- defaultActiveId: 'direct-table-view',
492
- views: [
493
- {
494
- label: '我的数据库',
495
- id: 'direct-table-view',
496
- type: 'table' as const,
497
- viewBehavior: 'pagination' as const, //or pagination
498
- allowMultiSelect: false,
499
- columns: [
500
- { id: 'name', title: '数据表英文名称', type: 'label' },
501
- { id: 'cnname', title: '数据表中文名称', type: 'label' },
502
- { id: 'colcount', title: '字段数', type: 'text' },
503
- { id: 'count', title: '数据量', type: 'text' },
504
- { id: 'actions', title: '操作', type: 'action' },
505
- ],
506
-
507
- toolbar: [
508
- {
509
- type: 'fuzzy_search' as const,
510
- key: 'search',
511
- label: '搜索',
512
- searchKeys: ['name', 'description'],
513
- position: 'right',
514
- },
515
- {
516
- type: 'button',
517
- key: 'auth',
518
- label: '配置',
519
- btnType: 'default' as const,
520
- position: 'right',
521
- },
522
- ],
523
- },
524
- ],
525
- }),
526
- [tableData, dbType]
527
- );
528
-
529
- const dataTableViewConfig = useMemo(
530
- () => ({
531
- label: '数据表管理',
532
- model: null,
533
- defaultActiveId: 'data-table-view',
534
- views: [
535
- {
536
- label: '上传数据列表',
537
- id: 'data-table-view',
538
- type: 'table' as const,
539
- viewBehavior: 'pagination' as const, //or pagination
540
- allowMultiSelect: false,
541
- viewPageSize: 10,
542
- columns: [
543
- { id: 'name', title: '文件名', type: 'label', tip: '文件名' },
544
- {
545
- id: 'description',
546
- title: '描述',
547
- type: 'customized',
548
- component: <TableMetaDescriptionCom />,
549
- helpText:
550
- '打开自动生成描述开关后,若描述未正常生成,则描述内容为空,如您仍然需要描述,则需要手动添加',
551
- },
552
- { id: 'count', title: '数据量', type: 'text', tip: '数据量' },
553
- {
554
- id: 'status',
555
- title: '导入状态',
556
- type: 'customized',
557
- component: <StatusComponent />,
558
- },
559
- {
560
- id: 'importstatus',
561
- title: '追加提示',
562
- type: 'customized',
563
- component: <StatusComponent />,
564
- },
565
- { id: 'createdAt', title: '创建时间', type: 'date', tip: '创建时间' },
566
- { id: 'updatedAt', title: '更新时间', type: 'date', tip: '更新时间' },
567
- { id: 'actions', title: '操作', type: 'action' },
568
- ],
569
-
570
- toolbar: [
571
- {
572
- type: 'button' as const,
573
- key: 'upload',
574
- label: '上传数据文件',
575
- btnType: 'primary' as const,
576
- disabled: getBtnDisabled && getBtnDisabled(OPT_BTN.ADD, dbInfo?.permission),
577
- icon: <Upload size={12} />,
578
- },
579
- {
580
- type: 'fuzzy_search' as const,
581
- key: 'search',
582
- label: '搜索',
583
- searchKeys: ['name', 'description', ['name']],
584
- position: 'right',
585
- },
586
- {
587
- type: 'button',
588
- key: 'auth',
589
- label: '配置',
590
- btnType: 'default' as const,
591
- position: 'right',
592
- },
593
- ],
594
- },
595
- ],
596
- subTableConfig: {
597
- type: 'table' as const,
598
- allowMultiSelect: false,
599
- viewBehavior: 'pagination' as const, //or pagination
600
- viewPageSize: 5,
601
- columns: [
602
- { title: '追加文件名', id: 'name', type: 'text', tip: '追加文件名' },
603
- { title: '数据量', id: 'count', type: 'text', tip: '数据量' },
604
- {
605
- id: 'status',
606
- title: '导入状态',
607
- type: 'customized',
608
- tip: '导入状态',
609
- component: <StatusComponent />,
610
- },
611
- { title: '创建时间', id: 'createdAt', type: 'date', tip: '创建时间' },
612
- { title: '更改时间', id: 'updatedAt', type: 'date', tip: '更改时间' },
613
- { title: '操作', id: 'actions', type: 'action' },
614
- ],
615
- },
616
- // 传递子table的pending状态
617
- subTablePendingIds: subTablePendingIds,
618
- // 子table动画完成回调
619
- onSubTableRowAnimationComplete: (viewKey: string, rowId: string) => {
620
- // 清除pending状态
621
- setSubTablePendingIds(prev => ({
622
- ...prev,
623
- [viewKey]: (prev[viewKey] || []).filter(id => id !== rowId),
624
- }));
625
- },
626
- }),
627
- [subTablePendingIds, tableData, dbType, dbInfo]
628
- );
629
-
630
- // 抽屉相关处理函数
631
- const handleDrawerClose = (type?: 'refresh') => {
632
- setDrawerVisible(false);
633
- setConfigDrawerVisible(false);
634
- setTableInfo(undefined);
635
- if (type == 'refresh') {
636
- // 关闭抽屉后静默轮询刷新列表
637
- if (pollTimerRef.current) {
638
- clearTimeout(pollTimerRef.current);
639
- pollTimerRef.current = null;
640
- }
641
- pollFetchList();
642
- }
643
- };
644
-
645
- // 检查所有数据及其 children 的 status 是否都不是 '11' 或 '20'
646
- function isAllFinished(data: any[]): boolean {
647
- if (!Array.isArray(data)) return true;
648
-
649
- for (const item of data) {
650
- if (item.data) {
651
- const statusCell = item.data.find((d: any) => d.columnId === 'status');
652
- const descCell = item.data.find((d: any) => d.columnId === 'description');
653
- // 导入中 20,导入中未建表 11,自动生成描述生成中,这三个状态时,轮询
654
- console.log(
655
- '+++++',
656
- statusCell.status === '20' ||
657
- statusCell.status === '11' ||
658
- descCell?.tableMeta?.generateDescriptionStatus == DescStatus.GENERATING
659
- );
660
- if (
661
- statusCell &&
662
- (statusCell.status === '20' ||
663
- statusCell.status === '11' ||
664
- descCell?.tableMeta?.generateDescriptionStatus == DescStatus.GENERATING)
665
- ) {
666
- return false;
667
- }
668
- }
669
- if (Array.isArray(item.children)) {
670
- for (const child of item.children) {
671
- if (child.data) {
672
- const statusCell = child.data.find((d: any) => d.columnId === 'status');
673
- // 子表无需生成描述
674
- if (statusCell && (statusCell.status === '20' || statusCell.status === '11')) {
675
- return false;
676
- }
677
- }
678
- }
679
- }
680
- }
681
- return true;
682
- }
683
-
684
- // 轮询 handleFetchList,直到所有 status 完成
685
- const pollFetchList = async () => {
686
- const latest = await handleFetchList();
687
- const finished = isAllFinished(latest || []);
688
- if (!finished) {
689
- if (pollTimerRef.current) {
690
- clearTimeout(pollTimerRef.current);
691
- pollTimerRef.current = null;
692
- }
693
- pollTimerRef.current = setTimeout(() => {
694
- pollFetchList();
695
- }, 5000);
696
- } else {
697
- if (pollTimerRef.current) {
698
- clearTimeout(pollTimerRef.current);
699
- pollTimerRef.current = null;
700
- }
701
- }
702
- };
703
-
704
- return (
705
- <DashboardContainer
706
- title={dbInfo?.name}
707
- description={dbInfo?.description || '-'}
708
- goBack={() => {
709
- props.eventsEmit?.('goBack', {});
710
- }}
711
- >
712
- <Xviwer
713
- dataSource={tableData}
714
- ref={coreRef}
715
- eventsEmit={handleEventsEmit}
716
- status={status}
717
- styles={{
718
- theme: {
719
- ...defaultTheme,
720
- colors: {
721
- ...defaultTheme.colors,
722
- tableFirstColumnBg: '#ffffff',
723
- tableLastColumnBg: '#ffffff',
724
- paginationBackground: '#ffffff',
725
- subTableBackground: '#F5F5F5',
726
- tableHeaderBg: '#F5F5F5',
727
- },
728
- },
729
- mode: 'light',
730
- }}
731
- CustomComponents={{
732
- EmptyData: () => (
733
- <EmptyData
734
- dbInfo={dbInfo}
735
- setDrawerTitle={setDrawerTitle}
736
- setDrawerVisible={setDrawerVisible}
737
- getBtnDisabled={getBtnDisabled}
738
- />
739
- ),
740
-
741
- ...CustomComponents,
742
- }}
743
- {...(dbType == 'DataTable' ? dataTableViewConfig : directDBViewConfig)}
744
- />
745
- {/* 右侧抽屉 - 添加数据库连接 */}
746
- <UploadDrawer
747
- drawerTitle={drawerTitle}
748
- drawerVisible={drawerVisible}
749
- handleDrawerClose={handleDrawerClose}
750
- dbId={id}
751
- token={token}
752
- url={url}
753
- uploadUrl={uploadUrl}
754
- role={role}
755
- tableInfo={tableInfo}
756
- />
757
- <EditConfigDrawer
758
- drawerTitle={configDrawerTitle}
759
- drawerVisible={configDrawerVisible}
760
- handleDrawerClose={handleDrawerClose}
761
- tableInfo={tableInfo}
762
- optimizeDesc={optimizeDesc}
763
- eventsEmit={handleEventsEmit}
764
- />
765
- </DashboardContainer>
766
- );
767
- };
768
-
769
- export default DatabaseViewAdopter;