@gientech/modual 1.4.2 → 1.4.3

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 (317) hide show
  1. package/.editorconfig +38 -0
  2. package/.prettierignore +16 -0
  3. package/.prettierrc +17 -0
  4. package/README.md +129 -129
  5. package/USAGE.md +191 -0
  6. package/bash.exe.stackdump +40 -0
  7. package/components.json +21 -0
  8. package/dist/README.md +129 -0
  9. package/{assets → dist/assets}/database.svg +11 -11
  10. package/{assets → dist/assets}/database_add.svg +53 -53
  11. package/{assets → dist/assets}/database_connect.svg +66 -66
  12. package/{assets → dist/assets}/database_upload.svg +29 -29
  13. package/{assets → dist/assets}/defaultWeLogo.svg +14 -14
  14. package/{assets → dist/assets}/mysql.svg +14 -14
  15. package/dist/database.js +20 -0
  16. package/dist/package.json +63 -0
  17. package/{worker → dist/worker}/pdf.worker.min.js +21 -21
  18. package/doc_assets/2.png +0 -0
  19. package/doc_assets/demo.md +27 -0
  20. package/doc_assets/demos/dist-app/assets/index.Dh-ZAS9Z.css +2 -0
  21. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js +23699 -0
  22. package/doc_assets/demos/dist-app/assets/index.Dv8KVW18.js.map +1 -0
  23. package/doc_assets/demos/dist-app/index.html +14 -0
  24. package/doc_assets/demos/dist-app/vite.svg +1 -0
  25. package/doc_assets/images/1.png +0 -0
  26. package/doc_assets/images/3.png +0 -0
  27. package/doc_assets/images/component-screenshot.png +1 -0
  28. package/doc_assets/install.md +5 -0
  29. package/eslint.config.js +92 -0
  30. package/index.html +13 -0
  31. package/package.json +99 -44
  32. package/package.json.demo-backup +109 -0
  33. package/postcss.config.cjs +19 -0
  34. package/public/vite.svg +1 -0
  35. package/public/worker/pdf.worker.min.js +22 -0
  36. package/scripts/README.md +133 -0
  37. package/scripts/build-demo.js +88 -0
  38. package/scripts/demo-selector.js +216 -0
  39. package/scripts/dev-demo.js +76 -0
  40. package/scripts/preview-demo.js +130 -0
  41. package/scripts/run-demo.bat +34 -0
  42. package/src/assets/img/downArrow.png +0 -0
  43. package/src/assets/img/excel.png +0 -0
  44. package/src/assets/img/img.png +0 -0
  45. package/src/assets/img/pdf.png +0 -0
  46. package/src/assets/img/ppt.png +0 -0
  47. package/src/assets/img/txt.png +0 -0
  48. package/src/assets/img/word.png +0 -0
  49. package/src/assets/login/homeBg.png +0 -0
  50. package/src/assets/login/left.jpg +0 -0
  51. package/src/assets/login/logoImg.png +0 -0
  52. package/src/examples/LoginPage/index.tsx +18 -0
  53. package/src/examples/chat/components/DrawerGraphPreview.tsx +78 -0
  54. package/src/examples/chat/index.tsx +190 -0
  55. package/src/examples/gientechStreamFilesReader/index.tsx +950 -0
  56. package/src/examples/ragDatabaseDataPage/index.tsx +36 -0
  57. package/src/examples/ragDatabaseIdPage/index.tsx +44 -0
  58. package/src/examples/ragDatabasePage/index.tsx +36 -0
  59. package/src/examples/ragModelManagePage/index.tsx +37 -0
  60. package/src/examples/ragSearchPage/index.tsx +0 -0
  61. package/src/examples/ragSensitiveWordsPage/index.tsx +32 -0
  62. package/src/examples/streamFiles/index.tsx +384 -0
  63. package/src/lib_enter.ts +40 -0
  64. package/src/main.tsx +5 -0
  65. package/src/main.tsx.backup +5 -0
  66. package/src/modules/chat/Conversations/Item.tsx +167 -0
  67. package/src/modules/chat/Conversations/List.tsx +206 -0
  68. package/src/modules/chat/Conversations/groupByTime.ts +39 -0
  69. package/src/modules/chat/Conversations/index.tsx +217 -0
  70. package/src/modules/chat/constants.tsx +33 -0
  71. package/src/modules/chat/data.txt +82 -0
  72. package/src/modules/chat/index.tsx +1941 -0
  73. package/src/modules/chat/types.ts +17 -0
  74. package/src/modules/database/CreateModal.tsx +398 -0
  75. package/src/modules/database/assets/Doris.png +0 -0
  76. package/src/modules/database/assets/PostgreSQL.png +0 -0
  77. package/src/modules/database/assets/SQLServer.png +0 -0
  78. package/src/modules/database/assets/database.svg +11 -0
  79. package/src/modules/database/assets/database_add.svg +53 -0
  80. package/src/modules/database/assets/database_connect.svg +66 -0
  81. package/src/modules/database/assets/database_upload.svg +29 -0
  82. package/src/modules/database/assets/empty.png +0 -0
  83. package/src/modules/database/assets/mysql.svg +14 -0
  84. package/src/modules/database/index.tsx +466 -0
  85. package/src/modules/database/server.ts +196 -0
  86. package/src/modules/databaseId/CustomCom.tsx +156 -0
  87. package/src/modules/databaseId/EditConfig.tsx +268 -0
  88. package/src/modules/databaseId/UploadDrawer.tsx +520 -0
  89. package/src/modules/databaseId/assets/aiOptimize.svg +10 -0
  90. package/src/modules/databaseId/assets/empty.png +0 -0
  91. package/src/modules/databaseId/assets/template.svg +6 -0
  92. package/src/modules/databaseId/assets/upload.svg +9 -0
  93. package/src/modules/databaseId/assets/useTemp.svg +6 -0
  94. package/src/modules/databaseId/index.tsx +734 -0
  95. package/src/modules/databaseId/server.ts +286 -0
  96. package/src/modules/databaseId/style.css +5 -0
  97. package/src/modules/databaseTable/EditRowDrawer.tsx +119 -0
  98. package/src/modules/databaseTable/index.tsx +357 -0
  99. package/src/modules/databaseTable/server.ts +180 -0
  100. package/src/modules/headlessChat/constants.tsx +32 -0
  101. package/src/modules/headlessChat/index.tsx +1063 -0
  102. package/src/modules/headlessChat/types.ts +23 -0
  103. package/src/modules/login/components/Login/LoginBox/index.tsx +102 -0
  104. package/src/modules/login/components/Login/RegisterBox/index.tsx +180 -0
  105. package/src/modules/login/components/Login/index.tsx +100 -0
  106. package/src/modules/login/index.tsx +106 -0
  107. package/src/modules/login/style.css +3 -0
  108. package/src/modules/login/useServices.ts +53 -0
  109. package/src/modules/login/utils.ts +42 -0
  110. package/src/modules/modelManage/ConfigDrawer.tsx +249 -0
  111. package/src/modules/modelManage/assets/empty.png +0 -0
  112. package/src/modules/modelManage/const.ts +50 -0
  113. package/src/modules/modelManage/index.tsx +439 -0
  114. package/src/modules/modelManage/server.ts +185 -0
  115. package/src/modules/nodegraph/index.tsx +1 -0
  116. package/src/modules/search/assets/Icon-history.svg +8 -0
  117. package/src/modules/search/assets/answerAwartar.png +0 -0
  118. package/src/modules/search/assets/doc.png +0 -0
  119. package/src/modules/search/assets/genera.gif +0 -0
  120. package/src/modules/search/assets/icon-robot.svg +9 -0
  121. package/src/modules/search/assets/icon-search-bar.svg +14 -0
  122. package/src/modules/search/assets/icon-sub-title.svg +3 -0
  123. package/src/modules/search/assets/icon-title.svg +9 -0
  124. package/src/modules/search/assets/icon-zoomOut.svg +9 -0
  125. package/src/modules/search/assets/iconAi.svg +9 -0
  126. package/src/modules/search/assets/pdf.png +0 -0
  127. package/src/modules/search/assets/ppt.png +0 -0
  128. package/src/modules/search/assets/search.svg +3 -0
  129. package/src/modules/search/assets/selected.svg +4 -0
  130. package/src/modules/search/assets/txt.png +0 -0
  131. package/src/modules/search/assets/xls.png +0 -0
  132. package/src/modules/search/components/AssisSelect.tsx +137 -0
  133. package/src/modules/search/components/Editor/ChatViewEditor.tsx +261 -0
  134. package/src/modules/search/components/Editor/aichat.css +1 -0
  135. package/src/modules/search/components/Editor/constant.ts +13 -0
  136. package/src/modules/search/components/Editor/index.tsx +113 -0
  137. package/src/modules/search/components/Editor/plugins/autofomatRules.ts +332 -0
  138. package/src/modules/search/components/Editor/plugins/convertImgPlugins.tsx +20 -0
  139. package/src/modules/search/components/Editor/plugins/createIndexes.tsx +38 -0
  140. package/src/modules/search/components/Editor/plugins/displayer.ts +298 -0
  141. package/src/modules/search/components/Editor/plugins/imageClick.tsx +32 -0
  142. package/src/modules/search/components/Editor/plugins/myplugin.tsx +98 -0
  143. package/src/modules/search/components/Editor/ui/avatar.tsx +19 -0
  144. package/src/modules/search/components/Editor/ui/blockquote-element.tsx +21 -0
  145. package/src/modules/search/components/Editor/ui/button.tsx +58 -0
  146. package/src/modules/search/components/Editor/ui/calendar.tsx +68 -0
  147. package/src/modules/search/components/Editor/ui/caption.tsx +46 -0
  148. package/src/modules/search/components/Editor/ui/checkbox.tsx +27 -0
  149. package/src/modules/search/components/Editor/ui/code-block-combobox.tsx +188 -0
  150. package/src/modules/search/components/Editor/ui/code-block-element.css +434 -0
  151. package/src/modules/search/components/Editor/ui/code-block-element.tsx +39 -0
  152. package/src/modules/search/components/Editor/ui/code-leaf.tsx +24 -0
  153. package/src/modules/search/components/Editor/ui/code-line-element.tsx +10 -0
  154. package/src/modules/search/components/Editor/ui/code-syntax-leaf.tsx +21 -0
  155. package/src/modules/search/components/Editor/ui/column-element.tsx +30 -0
  156. package/src/modules/search/components/Editor/ui/column-group-element.tsx +94 -0
  157. package/src/modules/search/components/Editor/ui/command.tsx +75 -0
  158. package/src/modules/search/components/Editor/ui/comment-avatar.tsx +22 -0
  159. package/src/modules/search/components/Editor/ui/comment-create-form.tsx +37 -0
  160. package/src/modules/search/components/Editor/ui/comment-item.tsx +74 -0
  161. package/src/modules/search/components/Editor/ui/comment-leaf.tsx +49 -0
  162. package/src/modules/search/components/Editor/ui/comment-more-dropdown.tsx +42 -0
  163. package/src/modules/search/components/Editor/ui/comment-reply-items.tsx +22 -0
  164. package/src/modules/search/components/Editor/ui/comment-resolve-button.tsx +32 -0
  165. package/src/modules/search/components/Editor/ui/comment-value.tsx +34 -0
  166. package/src/modules/search/components/Editor/ui/comments-popover.tsx +63 -0
  167. package/src/modules/search/components/Editor/ui/date-element.tsx +83 -0
  168. package/src/modules/search/components/Editor/ui/dialog.tsx +63 -0
  169. package/src/modules/search/components/Editor/ui/draggable.tsx +177 -0
  170. package/src/modules/search/components/Editor/ui/dropdown-menu.tsx +180 -0
  171. package/src/modules/search/components/Editor/ui/emoji-input-element.tsx +85 -0
  172. package/src/modules/search/components/Editor/ui/excalidraw-element.tsx +28 -0
  173. package/src/modules/search/components/Editor/ui/fixed-toolbar-buttons.tsx +76 -0
  174. package/src/modules/search/components/Editor/ui/fixed-toolbar.tsx +8 -0
  175. package/src/modules/search/components/Editor/ui/floating-toolbar-buttons.tsx +51 -0
  176. package/src/modules/search/components/Editor/ui/floating-toolbar.tsx +77 -0
  177. package/src/modules/search/components/Editor/ui/heading-element.tsx +48 -0
  178. package/src/modules/search/components/Editor/ui/highlight-leaf.tsx +17 -0
  179. package/src/modules/search/components/Editor/ui/hr-element.tsx +30 -0
  180. package/src/modules/search/components/Editor/ui/icons.tsx +267 -0
  181. package/src/modules/search/components/Editor/ui/image-element.tsx +74 -0
  182. package/src/modules/search/components/Editor/ui/inline-combobox.tsx +368 -0
  183. package/src/modules/search/components/Editor/ui/input.tsx +25 -0
  184. package/src/modules/search/components/Editor/ui/insert-dropdown-menu.tsx +218 -0
  185. package/src/modules/search/components/Editor/ui/kbd-leaf.tsx +20 -0
  186. package/src/modules/search/components/Editor/ui/link-element.tsx +29 -0
  187. package/src/modules/search/components/Editor/ui/link-floating-toolbar.tsx +161 -0
  188. package/src/modules/search/components/Editor/ui/list-element.tsx +30 -0
  189. package/src/modules/search/components/Editor/ui/mark-toolbar-button.tsx +24 -0
  190. package/src/modules/search/components/Editor/ui/media-embed-element.tsx +133 -0
  191. package/src/modules/search/components/Editor/ui/media-popover.tsx +97 -0
  192. package/src/modules/search/components/Editor/ui/mention-element.tsx +43 -0
  193. package/src/modules/search/components/Editor/ui/mention-input-element.tsx +141 -0
  194. package/src/modules/search/components/Editor/ui/mode-dropdown-menu.tsx +93 -0
  195. package/src/modules/search/components/Editor/ui/more-dropdown-menu.tsx +67 -0
  196. package/src/modules/search/components/Editor/ui/paragraph-element.tsx +4 -0
  197. package/src/modules/search/components/Editor/ui/placeholder.tsx +52 -0
  198. package/src/modules/search/components/Editor/ui/popover.tsx +32 -0
  199. package/src/modules/search/components/Editor/ui/resizable.tsx +66 -0
  200. package/src/modules/search/components/Editor/ui/separator.tsx +25 -0
  201. package/src/modules/search/components/Editor/ui/style.less +12 -0
  202. package/src/modules/search/components/Editor/ui/table-cell-element.tsx +143 -0
  203. package/src/modules/search/components/Editor/ui/table-element.tsx +243 -0
  204. package/src/modules/search/components/Editor/ui/table-row-element.tsx +22 -0
  205. package/src/modules/search/components/Editor/ui/tableValue.tsx +135 -0
  206. package/src/modules/search/components/Editor/ui/todo-list-element.tsx +43 -0
  207. package/src/modules/search/components/Editor/ui/toggle-element.tsx +31 -0
  208. package/src/modules/search/components/Editor/ui/toolbar.tsx +157 -0
  209. package/src/modules/search/components/Editor/ui/tooltip.tsx +65 -0
  210. package/src/modules/search/components/Editor/ui/turn-into-dropdown-menu.tsx +160 -0
  211. package/src/modules/search/components/Editor/ui/with-draggables.tsx +175 -0
  212. package/src/modules/search/components/FileList.tsx +287 -0
  213. package/src/modules/search/components/ImageGroupView/index.tsx +85 -0
  214. package/src/modules/search/components/ResultContent.tsx +232 -0
  215. package/src/modules/search/components/SearchInput.tsx +232 -0
  216. package/src/modules/search/components/SearchLanding.tsx +74 -0
  217. package/src/modules/search/components/SearchView.tsx +563 -0
  218. package/src/modules/search/components/SimpleEditor.tsx +158 -0
  219. package/src/modules/search/components/SimpleFileList.tsx +215 -0
  220. package/src/modules/search/index.tsx +10 -0
  221. package/src/modules/search/reademe.md +1 -0
  222. package/src/modules/search/servers/apis.tsx +19 -0
  223. package/src/modules/search/servers/index.ts +184 -0
  224. package/src/modules/search/style.less +503 -0
  225. package/src/modules/search/type.ts +22 -0
  226. package/src/modules/search/utils.ts +34 -0
  227. package/src/modules/sensitive/index.tsx +313 -0
  228. package/src/modules/sensitive/server.ts +122 -0
  229. package/src/modules/streamFilesReader/GientechStreamReader.tsx +1619 -0
  230. package/src/modules/streamFilesReader/components/Header/Toolbar.tsx +0 -0
  231. package/src/modules/streamFilesReader/components/Header/index.tsx +297 -0
  232. package/src/modules/streamFilesReader/index.tsx +3 -0
  233. package/src/style.css +6 -0
  234. package/src/type.d.ts +0 -0
  235. package/src/utils/commonFn.tsx +111 -0
  236. package/src/utils/gientechCommon/components/AppError.tsx +32 -0
  237. package/src/utils/gientechCommon/components/AppLoading.tsx +75 -0
  238. package/src/utils/gientechCommon/components/DeleteModal.tsx +75 -0
  239. package/src/utils/gientechCommon/components/DisplayError.tsx +33 -0
  240. package/src/utils/gientechCommon/components/DisplayLoading.tsx +38 -0
  241. package/src/utils/gientechCommon/components/FeedBackModal.tsx +310 -0
  242. package/src/utils/gientechCommon/components/FileCardCommon.tsx +82 -0
  243. package/src/utils/gientechCommon/components/FileManager/index.tsx +390 -0
  244. package/src/utils/gientechCommon/components/FileManager/style.css +5 -0
  245. package/src/utils/gientechCommon/components/Messages/GientechNewChatWelcome.tsx +296 -0
  246. package/src/utils/gientechCommon/components/Messages/ReferenceCard.tsx +339 -0
  247. package/src/utils/gientechCommon/components/Messages/RetriveItem.tsx +245 -0
  248. package/src/utils/gientechCommon/components/Messages/WebRetriveItem.tsx +209 -0
  249. package/src/utils/gientechCommon/components/Messages/defaultBot.png +0 -0
  250. package/src/utils/gientechCommon/components/Messages/defaultStyleSet.tsx +148 -0
  251. package/src/utils/gientechCommon/components/Messages/defaultWeLogo.svg +14 -0
  252. package/src/utils/gientechCommon/components/RenameModal.tsx +86 -0
  253. package/src/utils/gientechCommon/components/style.less +11 -0
  254. package/src/utils/gientechCommon/configs/commonConfig.ts +2 -0
  255. package/src/utils/gientechCommon/configs/senderConfig.ts +0 -0
  256. package/src/utils/gientechCommon/configs/stylesConfig.ts +142 -0
  257. package/src/utils/gientechCommon/hooks/AichatUseController.tsx +345 -0
  258. package/src/utils/gientechCommon/slate/converters/deserializers.ts +763 -0
  259. package/src/utils/gientechCommon/slate/converters/mockData.ts +232 -0
  260. package/src/utils/gientechCommon/slate/converters/slateConverters.ts +258 -0
  261. package/src/utils/gientechCommon/slate/richElements/index.tsx +499 -0
  262. package/src/utils/gientechCommon/utils/request.ts +37 -0
  263. package/src/utils/gientechCommon/utils/serverFn.ts +172 -0
  264. package/src/utils/index.tsx +126 -0
  265. package/src/utils/testconfigs/demologin/index.tsx +32 -0
  266. package/src/utils/testconfigs/index.ts +53 -0
  267. package/src/vite-env.d.ts +11 -0
  268. package/stats.html +4949 -0
  269. package/tailwind.config.js +170 -0
  270. package/tsconfig.app.json +30 -0
  271. package/tsconfig.app.tsbuildinfo +11 -0
  272. package/tsconfig.json +13 -0
  273. package/tsconfig.node.json +22 -0
  274. package/tsconfig.node.tsbuildinfo +1 -0
  275. package/vite.config.ts +216 -0
  276. package/workflows/release.yml +60 -0
  277. package/database.js +0 -20
  278. /package/{assets → dist/assets}/AppLoading-BCu9TPs5.js +0 -0
  279. /package/{assets → dist/assets}/Doris.png +0 -0
  280. /package/{assets → dist/assets}/GientechStreamReader-A8zHypyu.js +0 -0
  281. /package/{assets → dist/assets}/LeftOutlined-BdBZ6FSD.js +0 -0
  282. /package/{assets → dist/assets}/PostgreSQL.png +0 -0
  283. /package/{assets → dist/assets}/SQLServer.png +0 -0
  284. /package/{assets → dist/assets}/empty.png +0 -0
  285. /package/{assets → dist/assets}/homeBg.png +0 -0
  286. /package/{assets → dist/assets}/index-B7u9FawR.js +0 -0
  287. /package/{assets → dist/assets}/index-CFlRqq2H.js +0 -0
  288. /package/{assets → dist/assets}/index-CNJZ9j4J.js +0 -0
  289. /package/{assets → dist/assets}/index-CpW6Dhpp.js +0 -0
  290. /package/{assets → dist/assets}/index-DfSHCQcq.js +0 -0
  291. /package/{assets → dist/assets}/index-DiQ4Me9J.js +0 -0
  292. /package/{assets → dist/assets}/index-EcdpegTC.js +0 -0
  293. /package/{assets → dist/assets}/index-rydP_SDR.js +0 -0
  294. /package/{assets → dist/assets}/left.jpg +0 -0
  295. /package/{assets → dist/assets}/logoImg.png +0 -0
  296. /package/{assets → dist/assets}/plus-ufD39rmY.js +0 -0
  297. /package/{assets → dist/assets}/style.css +0 -0
  298. /package/{assets → dist/assets}/style2.css +0 -0
  299. /package/{assets → dist/assets}/style3.css +0 -0
  300. /package/{assets → dist/assets}/style4.css +0 -0
  301. /package/{assets → dist/assets}/x-_1-UpSBt.js +0 -0
  302. /package/{chat.d.ts → dist/chat.d.ts} +0 -0
  303. /package/{chat.js → dist/chat.js} +0 -0
  304. /package/{database.d.ts → dist/database.d.ts} +0 -0
  305. /package/{databaseId.d.ts → dist/databaseId.d.ts} +0 -0
  306. /package/{databaseId.js → dist/databaseId.js} +0 -0
  307. /package/{databaseTable.d.ts → dist/databaseTable.d.ts} +0 -0
  308. /package/{databaseTable.js → dist/databaseTable.js} +0 -0
  309. /package/{index.d.ts → dist/index.d.ts} +0 -0
  310. /package/{index.js → dist/index.js} +0 -0
  311. /package/{modelManage.d.ts → dist/modelManage.d.ts} +0 -0
  312. /package/{modelManage.js → dist/modelManage.js} +0 -0
  313. /package/{sensitive.d.ts → dist/sensitive.d.ts} +0 -0
  314. /package/{sensitive.js → dist/sensitive.js} +0 -0
  315. /package/{streamFilesReader.d.ts → dist/streamFilesReader.d.ts} +0 -0
  316. /package/{streamFilesReader.js → dist/streamFilesReader.js} +0 -0
  317. /package/{vite.svg → dist/vite.svg} +0 -0
@@ -0,0 +1,170 @@
1
+ /** @type {import('tailwindcss').Config} */
2
+ import typography from '@tailwindcss/typography';
3
+ export default {
4
+ darkMode: ['class'],
5
+ mode: 'jit',
6
+ corePlugins: {
7
+ preflight: false,
8
+ aspectRatio: true,
9
+ divideStyle: true,
10
+ },
11
+ content: ['./src/**/*.{html,ts,tsx,mdx}'],
12
+ theme: {
13
+ extend: {
14
+ colors: {
15
+ border: 'hsl(var(--border))',
16
+ input: 'hsl(var(--input))',
17
+ ring: 'hsl(var(--ring))',
18
+ background: 'hsl(var(--background))',
19
+ foreground: 'hsl(var(--foreground))',
20
+ primary: {
21
+ DEFAULT: 'hsl(var(--primary))',
22
+ foreground: 'hsl(var(--primary-foreground))',
23
+ },
24
+ secondary: {
25
+ DEFAULT: 'hsl(var(--secondary))',
26
+ foreground: 'hsl(var(--secondary-foreground))',
27
+ },
28
+ destructive: {
29
+ DEFAULT: 'hsl(var(--destructive))',
30
+ foreground: 'hsl(var(--destructive-foreground))',
31
+ },
32
+ muted: {
33
+ DEFAULT: 'hsl(var(--muted))',
34
+ foreground: 'hsl(var(--muted-foreground))',
35
+ },
36
+ accent: {
37
+ DEFAULT: 'hsl(var(--accent))',
38
+ foreground: 'hsl(var(--accent-foreground))',
39
+ },
40
+ popover: {
41
+ DEFAULT: 'hsl(var(--popover))',
42
+ foreground: 'hsl(var(--popover-foreground))',
43
+ },
44
+ card: {
45
+ DEFAULT: 'hsl(var(--card))',
46
+ foreground: 'hsl(var(--card-foreground))',
47
+ },
48
+ chart: {
49
+ 1: 'hsl(var(--chart-1))',
50
+ 2: 'hsl(var(--chart-2))',
51
+ 3: 'hsl(var(--chart-3))',
52
+ 4: 'hsl(var(--chart-4))',
53
+ 5: 'hsl(var(--chart-5))',
54
+ },
55
+ },
56
+ borderRadius: {
57
+ lg: 'var(--radius)',
58
+ md: 'calc(var(--radius) - 2px)',
59
+ sm: 'calc(var(--radius) - 4px)',
60
+ },
61
+ keyframes: {
62
+ 'accordion-down': {
63
+ from: {
64
+ height: '0',
65
+ },
66
+ to: {
67
+ height: 'var(--radix-accordion-content-height)',
68
+ },
69
+ },
70
+ 'accordion-up': {
71
+ from: {
72
+ height: 'var(--radix-accordion-content-height)',
73
+ },
74
+ to: {
75
+ height: '0',
76
+ },
77
+ },
78
+ dot: {
79
+ '0%, 20%': {
80
+ color: 'rgba(0,0,0,0)',
81
+ textShadow: '.25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0)',
82
+ },
83
+ '40%': {
84
+ color: 'black',
85
+ textShadow: '.25em 0 0 rgba(0,0,0,0), .5em 0 0 rgba(0,0,0,0)',
86
+ },
87
+ '60%': {
88
+ textShadow: '.25em 0 0 black, .5em 0 0 rgba(0,0,0,0)',
89
+ },
90
+ '80%, 100%': {
91
+ textShadow: '.25em 0 0 black, .5em 0 0 black',
92
+ },
93
+ },
94
+ slideDownAndFade: {
95
+ from: {
96
+ opacity: '0',
97
+ transform: 'translateY(-2px)',
98
+ },
99
+ to: {
100
+ opacity: '1',
101
+ transform: 'translateY(0)',
102
+ },
103
+ },
104
+ slideLeftAndFade: {
105
+ from: {
106
+ opacity: '0',
107
+ transform: 'translateX(2px)',
108
+ },
109
+ to: {
110
+ opacity: '1',
111
+ transform: 'translateX(0)',
112
+ },
113
+ },
114
+ slideUpAndFade: {
115
+ from: {
116
+ opacity: '0',
117
+ transform: 'translateY(2px)',
118
+ },
119
+ to: {
120
+ opacity: '1',
121
+ transform: 'translateY(0)',
122
+ },
123
+ },
124
+ slideRightAndFade: {
125
+ from: {
126
+ opacity: '0',
127
+ transform: 'translateX(-2px)',
128
+ },
129
+ to: {
130
+ opacity: '1',
131
+ transform: 'translateX(0)',
132
+ },
133
+ },
134
+ },
135
+ animation: {
136
+ 'accordion-down': 'accordion-down 0.2s ease-out',
137
+ 'accordion-up': 'accordion-up 0.2s ease-out',
138
+ dot: 'dot 1.5s infinite',
139
+ slideDownAndFade: 'slideDownAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
140
+ slideLeftAndFade: 'slideLeftAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
141
+ slideUpAndFade: 'slideUpAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
142
+ slideRightAndFade: 'slideRightAndFade 400ms cubic-bezier(0.16, 1, 0.3, 1)',
143
+ },
144
+ fontFamily: {
145
+ sans: ['PingFang SC', 'Arial', 'Helvetica', 'sans-serif'],
146
+ },
147
+ fontSize: {
148
+ xs: ['12px', '20px'],
149
+ sm: ['14px', '22px'],
150
+ base: ['16px', '24px'],
151
+ lg: ['18px', '26px'],
152
+ xl: ['24px', '32px'],
153
+ '2xl': ['30px', '38px'],
154
+ '3xl': ['38px', '46px'],
155
+ '4xl': ['46px', '54px'],
156
+ },
157
+ typography: {
158
+ DEFAULT: {
159
+ css: {
160
+ maxWidth: '720px',
161
+ },
162
+ },
163
+ },
164
+ },
165
+ },
166
+ variants: {
167
+ extend: {},
168
+ },
169
+ plugins: [typography, require('tailwindcss-animate')],
170
+ };
@@ -0,0 +1,30 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2020",
4
+ "useDefineForClassFields": true,
5
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
6
+ "module": "ESNext",
7
+ "skipLibCheck": true,
8
+
9
+ /* Bundler mode */
10
+ "moduleResolution": "bundler",
11
+ // "allowImportingTsExtensions": false,
12
+ "isolatedModules": true,
13
+ "moduleDetection": "force",
14
+ "noEmit": false,
15
+ "jsx": "react-jsx",
16
+
17
+ /* Linting */
18
+ "strict": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "noFallthroughCasesInSwitch": true,
22
+
23
+ "forceConsistentCasingInFileNames": true,
24
+ "declaration": true, // 确保生成类型声明文件
25
+ "outDir": "./dist/types" // 输出类型声明文件的目录
26
+ },
27
+ "include": ["src", "type.d.ts"],
28
+ "exclude": ["node_modules", "dist"],
29
+
30
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "root": [
3
+ "./src/preview.tsx",
4
+ "./src/main.tsx",
5
+ "./src/type.d.ts",
6
+ "./src/vite-env.d.ts",
7
+ "./src/application/index.tsx",
8
+ "./src/application/@types/system.ts"
9
+ ],
10
+ "version": "5.6.3"
11
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "files": [],
3
+ "references": [
4
+ { "path": "./tsconfig.app.json" },
5
+ { "path": "./tsconfig.node.json" }
6
+ ],
7
+ "compilerOptions": {
8
+ "baseUrl": ".",
9
+ "paths": {
10
+ "@/*": ["./src/*"]
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2022",
4
+ "lib": ["ES2023"],
5
+ "module": "ESNext",
6
+ "skipLibCheck": true,
7
+
8
+ /* Bundler mode */
9
+ "moduleResolution": "bundler",
10
+ "allowImportingTsExtensions": true,
11
+ "isolatedModules": true,
12
+ "moduleDetection": "force",
13
+ "noEmit": true,
14
+
15
+ /* Linting */
16
+ "strict": true,
17
+ "noUnusedLocals": true,
18
+ "noUnusedParameters": true,
19
+ "noFallthroughCasesInSwitch": true
20
+ },
21
+ "include": ["vite.config.ts", "/src/type.d.ts"]
22
+ }
@@ -0,0 +1 @@
1
+ {"root":["./vite.config.ts"],"version":"5.6.3"}
package/vite.config.ts ADDED
@@ -0,0 +1,216 @@
1
+ import { defineConfig, loadEnv } from 'vite';
2
+ import resolve from '@rollup/plugin-node-resolve';
3
+ import commonjs from 'vite-plugin-commonjs';
4
+ import svgr from 'vite-plugin-svgr';
5
+ import path from 'path';
6
+ import react from '@vitejs/plugin-react';
7
+ import generatePackageJson from 'rollup-plugin-generate-package-json';
8
+ import dts from 'vite-plugin-dts';
9
+ import version from 'vite-plugin-package-version';
10
+ import pkg from './package.json';
11
+ import copy from 'rollup-plugin-copy';
12
+ import { visualizer } from 'rollup-plugin-visualizer';
13
+
14
+ export default ({ mode }: { mode: string }) => {
15
+ const env = loadEnv(mode, process.cwd());
16
+ const inline = process.env.VITE_INLINE_DEPS === 'true';
17
+ return defineConfig({
18
+ base: './',
19
+ plugins: [
20
+ resolve(),
21
+ commonjs(),
22
+ svgr(),
23
+ react(),
24
+ version(),
25
+ visualizer({
26
+ filename: 'stats.html',
27
+ open: true,
28
+ gzipSize: true,
29
+ brotliSize: true,
30
+ }),
31
+ dts({
32
+ tsconfigPath: './tsconfig.app.json',
33
+ insertTypesEntry: false,
34
+ include: ['src/**/*.ts', 'src/**/*.tsx'],
35
+ rollupTypes: true,
36
+ }),
37
+ generatePackageJson({
38
+ outputFolder: 'dist',
39
+ baseContents: {
40
+ name: env.VITE_PUBLISH_NAME || pkg.name,
41
+ license: 'MIT',
42
+ // @ts-expect-error 样式文件可能没有类型定义
43
+ style: 'assets/style.css',
44
+ private: false,
45
+ version: pkg.version,
46
+ author: pkg.author,
47
+ type: 'module',
48
+ main: 'index.js',
49
+ types: 'index.d.ts',
50
+ scripts: {
51
+ test: 'yarn link',
52
+ disconnect: 'yarn unlink',
53
+ },
54
+ // 根据打包模式设置 peerDependencies
55
+ peerDependencies: inline
56
+ ? {
57
+ react: '>=18',
58
+ 'react-dom': '>=18',
59
+ }
60
+ : {
61
+ react: '>=18',
62
+ 'react-dom': '>=18',
63
+ '@mxmweb/fviewer': '^1.5.1',
64
+ '@mxmweb/rtext': '^1.1.53',
65
+ '@mxmweb/zui': '^1.3.9',
66
+ '@mxmweb/aichat': '^1.8.0',
67
+ '@mxmweb/xviewer': '^1.1.42',
68
+ antd: '^5.18.0',
69
+ axios: '^1.7.2',
70
+ },
71
+ exports: {
72
+ '.': {
73
+ types: './index.d.ts',
74
+ import: './index.js',
75
+ default: './index.js',
76
+ },
77
+ './chat': {
78
+ types: './chat.d.ts',
79
+ import: './chat.js',
80
+ default: './chat.js',
81
+ },
82
+ './database': {
83
+ types: './database.d.ts',
84
+ import: './database.js',
85
+ default: './database.js',
86
+ },
87
+ './databaseId': {
88
+ types: './databaseId.d.ts',
89
+ import: './databaseId.js',
90
+ default: './databaseId.js',
91
+ },
92
+ './modelManage': {
93
+ types: './modelManage.d.ts',
94
+ import: './modelManage.js',
95
+ default: './modelManage.js',
96
+ },
97
+ './databaseTable': {
98
+ types: './databaseTable.d.ts',
99
+ import: './databaseTable.js',
100
+ default: './databaseTable.js',
101
+ },
102
+ './sensitive': {
103
+ types: './sensitive.d.ts',
104
+ import: './sensitive.js',
105
+ default: './sensitive.js',
106
+ },
107
+ './streamFilesReader': {
108
+ types: './streamFilesReader.d.ts',
109
+ import: './streamFilesReader.js',
110
+ default: './streamFilesReader.js',
111
+ },
112
+ './style.css': './assets/style.css',
113
+ // 兼容历史写法:允许从 @gientech/modual/assets/style.css 直接引入
114
+ './assets/style.css': './assets/style.css',
115
+ },
116
+ },
117
+ }),
118
+ copy({
119
+ targets: [
120
+ { src: 'README.md', dest: 'dist', rename: 'README.md' },
121
+ // ensure database module asset images are included in the build output
122
+ { src: 'src/modules/database/assets/*', dest: 'dist/assets' },
123
+ ],
124
+ hook: 'writeBundle',
125
+ }),
126
+ ],
127
+ resolve: {
128
+ alias: {
129
+ '@': path.resolve(__dirname, './src'),
130
+ },
131
+ dedupe: ['react', 'react-dom', '@mxmweb/rtext', '@mxmweb/fviewer'],
132
+ },
133
+ esbuild: {
134
+ charset: 'ascii',
135
+ },
136
+ optimizeDeps: {
137
+ include: ['@mxmweb/rtext'],
138
+ esbuildOptions: {
139
+ define: {
140
+ 'process.env.NODE_ENV': '"development"',
141
+ },
142
+ mainFields: ['module', 'main'],
143
+ format: 'esm',
144
+ },
145
+ },
146
+ build: {
147
+ outDir: 'dist',
148
+ rollupOptions: {
149
+ preserveEntrySignatures: 'strict',
150
+ external: inline
151
+ ? [
152
+ 'react',
153
+ 'react-dom',
154
+ 'react/jsx-runtime',
155
+ 'react/jsx-dev-runtime',
156
+ ]
157
+ : [
158
+ 'react',
159
+ 'react-dom',
160
+ 'react/jsx-runtime',
161
+ 'react/jsx-dev-runtime',
162
+ 'antd',
163
+ 'axios',
164
+ '@mxmweb/xviewer',
165
+ '@mxmweb/fviewer',
166
+ '@mxmweb/rtext',
167
+ '@mxmweb/zui',
168
+ '@mxmweb/aichat',
169
+ ],
170
+ input: {
171
+ index: path.resolve(__dirname, 'src/lib_enter.ts'),
172
+ chat: path.resolve(__dirname, 'src/modules/chat/index.tsx'),
173
+ database: path.resolve(__dirname, 'src/modules/database/index.tsx'),
174
+ databaseId: path.resolve(__dirname, 'src/modules/databaseId/index.tsx'),
175
+ databaseTable: path.resolve(__dirname, 'src/modules/databaseTable/index.tsx'),
176
+ modelManage: path.resolve(__dirname, 'src/modules/modelManage/index.tsx'),
177
+ sensitive: path.resolve(__dirname, 'src/modules/sensitive/index.tsx'),
178
+ streamFilesReader: path.resolve(__dirname, 'src/modules/streamFilesReader/index.tsx'),
179
+ //gientechStreamFilesReader: path.resolve(__dirname, 'src/examples/gientechStreamFilesReader/index.tsx'),
180
+ },
181
+ output: {
182
+ dir: 'dist',
183
+ exports: 'auto',
184
+ entryFileNames: ({ name }) => `${name}.js`,
185
+ assetFileNames: assetInfo => {
186
+ if (assetInfo.name && assetInfo.name.endsWith('.css')) {
187
+ return 'assets/style.css';
188
+ }
189
+ return 'assets/[name].[ext]';
190
+ },
191
+ globals: {
192
+ react: 'React',
193
+ },
194
+ },
195
+ // treeshake: true, // 启用 tree-shaking,减少无用代码
196
+ },
197
+ },
198
+ server: {
199
+ cors: true,
200
+ proxy: {
201
+ '/proxy': {
202
+ // target: "http://10.64.17.78:9001",
203
+ target: 'http://10.15.12.13:8888',
204
+ changeOrigin: true,
205
+ rewrite: path => path.replace(/^\/proxy/, ''),
206
+ },
207
+ '/api_proxy': {
208
+ target: 'http://10.15.12.13:9005',
209
+ changeOrigin: true,
210
+ secure: false,
211
+ rewrite: path => path.replace(/^\/api_proxy/, '/proxy'),
212
+ },
213
+ },
214
+ },
215
+ });
216
+ };
@@ -0,0 +1,60 @@
1
+ name: Release
2
+ on:
3
+ push:
4
+ branches:
5
+ - main
6
+ pull_request:
7
+ branches:
8
+ - main
9
+
10
+ jobs:
11
+ release:
12
+ name: Release
13
+ runs-on: ubuntu-latest
14
+ permissions:
15
+ contents: write
16
+ issues: write
17
+ pull-requests: write
18
+ packages: write
19
+
20
+ steps:
21
+ - name: Checkout
22
+ uses: actions/checkout@v4
23
+ with:
24
+ fetch-depth: 0
25
+
26
+ - name: Setup Node.js
27
+ uses: actions/setup-node@v4
28
+ with:
29
+ node-version: '18'
30
+ registry-url: 'https://registry.npmjs.org'
31
+
32
+ - name: Install pnpm
33
+ uses: pnpm/action-setup@v2
34
+ with:
35
+ version: 8
36
+
37
+ - name: Get pnpm store directory
38
+ shell: bash
39
+ run: |
40
+ echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
41
+
42
+ - name: Setup pnpm cache
43
+ uses: actions/cache@v3
44
+ with:
45
+ path: ${{ env.STORE_PATH }}
46
+ key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
47
+ restore-keys: |
48
+ ${{ runner.os }}-pnpm-store-
49
+
50
+ - name: Install dependencies
51
+ run: pnpm install
52
+
53
+ - name: Build
54
+ run: pnpm build
55
+
56
+ - name: Release
57
+ env:
58
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
59
+ NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
60
+ run: pnpm release
package/database.js DELETED
@@ -1,20 +0,0 @@
1
- import{jsxs as Z,jsx as l,Fragment as de}from"react/jsx-runtime";import{useState as y,useMemo as T,useRef as q,useEffect as De}from"react";import{b as me,J as Q,T as be,Z as ge,$ as ye,m as Ee}from"./assets/index-DiQ4Me9J.js";import{M as K}from"./assets/index-CFlRqq2H.js";/* empty css */import{M as $,s as H}from"./assets/index-rydP_SDR.js";import"react-dom";const Fe=({url:m,token:z,role:B,eventsEmit:F})=>{const c=me.create({baseURL:m,timeout:1e6});return c.interceptors.request.use(e=>{let t=z;return!t&&!["user/login","user/kaptcha","user/regist"].some(u=>e.url.includes(u))?(F&&F("request:error_auth",{errorMsg:"\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F",redirect:"/login"}),Promise.reject(new Error("\u672A\u767B\u5F55\u6216token\u5DF2\u8FC7\u671F"))):(e.headers.Authorization=t||"",e.headers.userName=B==="\u672A\u767B\u5F55\u7528\u6237"?"":B,e)}),c.interceptors.response.use(e=>{const t=["user/kaptcha"],r=e.data;if(t.some(p=>e.config.url&&e.config.url.includes(p))||r.size&&r.type)return r;const{success:u,errorMsg:b,errorCode:D}=r;return u?r:(F&&F("request:error_business",{errorCode:D,errorMsg:b||"\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",response:r}),!1)},async e=>{var t,r,u,b,D,p,C,h,N;if(e.message==="canceled")return Promise.reject(e);if(F){let d="request:error_network",v={errorMsg:"\u7F51\u7EDC\u8BF7\u6C42\u5931\u8D25",error:e};((t=e==null?void 0:e.response)==null?void 0:t.status)===401?(d="request:error_auth",v={errorMsg:"\u6CA1\u6709\u8DB3\u591F\u6743\u9650",error:e,redirect:"/login"}):(((u=(r=e==null?void 0:e.response)==null?void 0:r.data)==null?void 0:u.errorCode)==="30013"||((D=(b=e==null?void 0:e.response)==null?void 0:b.data)==null?void 0:D.errorCode)==="30023")&&(d="request:error_business",v={errorCode:(C=(p=e==null?void 0:e.response)==null?void 0:p.data)==null?void 0:C.errorCode,errorMsg:((N=(h=e==null?void 0:e.response)==null?void 0:h.data)==null?void 0:N.errorMsg)||"\u8BF7\u6C42\u51FA\u9519\uFF0C\u8BF7\u7A0D\u540E\u518D\u8BD5",error:e}),F(d,v)}return console.log("Error occurs",e),Promise.reject(e)}),{getDatabaseList:async e=>{try{const t=await c.get(`/queryPageDBList?${new URLSearchParams(e).toString()}`),{success:r,data:u}=t;if(r)return u}catch(t){console.log("getDatabaseList error:",t)}},getShareDatabaseList:async e=>{try{const t=await c.get(`/queryShareDBList?${new URLSearchParams(e).toString()}`),{success:r,data:u}=t;if(r)return u}catch(t){console.log("getShareDatabaseList error:",t)}},delDatabaseById:async(e,t)=>{const r=O(t);try{const u=await c.delete(`/${r}/deleteDB/${e}`),{success:b,data:D}=u;if(b)return D}catch(u){console.log("delDatabaseById error:",u)}},saveDatabase:async(e,t)=>{const r=O(t);try{const u=await c.post(`/${r}/saveDBInfo`,e),{success:b,data:D}=u;if(b)return D}catch(u){console.log("saveDatabase error:",u)}},testConnection:async e=>{try{const t=await c.post("/directDB/testConnect",e),{success:r,data:u}=t;if(r)return u}catch(t){console.log("testConnection error:",t)}},syncSchema:async e=>{try{const t=await c.get(`/directDB/syncSchema/${e}`),{success:r,data:u}=t;if(r)return u}catch(t){console.log("syncSchema error:",t)}}}},O=m=>m=="DataTable"?"dataTable":"directDB",pe="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzYiIGhlaWdodD0iMzYiIHZpZXdCb3g9IjAgMCAzNiAzNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE0IDEyQzE0IDEwLjg5NTQgMTQuODk1NCAxMCAxNiAxMEgyOUMzMS4yMDkxIDEwIDMzIDExLjc5MDkgMzMgMTRWMjZDMzMgMzAuNDE4MyAyOS40MTgzIDM0IDI1IDM0SDE2QzE0Ljg5NTQgMzQgMTQgMzMuMTA0NiAxNCAzMlYxMloiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl80NDcyXzE4MDUyKSIvPgo8Zm9yZWlnbk9iamVjdCB4PSItMSIgeT0iLTEiIHdpZHRoPSIzMiIgaGVpZ2h0PSIzNiI+PGRpdiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgc3R5bGU9ImJhY2tkcm9wLWZpbHRlcjpibHVyKDJweCk7Y2xpcC1wYXRoOnVybCgjYmdibHVyXzBfNDQ3Ml8xODA1Ml9jbGlwX3BhdGgpO2hlaWdodDoxMDAlO3dpZHRoOjEwMCUiPjwvZGl2PjwvZm9yZWlnbk9iamVjdD48ZyBkYXRhLWZpZ21hLWJnLWJsdXItcmFkaXVzPSI0Ij4KPHBhdGggZD0iTTMgN0MzIDQuNzkwODYgNC43OTA4NiAzIDcgM0gyM0MyNS4yMDkxIDMgMjcgNC43OTA4NiAyNyA3VjE5QzI3IDI1LjYyNzQgMjEuNjI3NCAzMSAxNSAzMUg3QzQuNzkwODYgMzEgMyAyOS4yMDkxIDMgMjdWN1oiIGZpbGw9IndoaXRlIiBmaWxsLW9wYWNpdHk9IjAuNDYiLz4KPHBhdGggZD0iTTcgMy4yNUgyM0MyNS4wNzExIDMuMjUgMjYuNzUgNC45Mjg5MyAyNi43NSA3VjE5QzI2Ljc1IDI1LjQ4OTMgMjEuNDg5MyAzMC43NSAxNSAzMC43NUg3QzQuOTI4OTMgMzAuNzUgMy4yNSAyOS4wNzExIDMuMjUgMjdWN0MzLjI1IDQuOTI4OTMgNC45Mjg5MyAzLjI1IDcgMy4yNVoiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS1vcGFjaXR5PSIwLjM0IiBzdHJva2Utd2lkdGg9IjAuNSIvPgo8L2c+CjxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxX2RfNDQ3Ml8xODA1MikiPgo8cGF0aCBkPSJNMTQgMTlWMTEuNjY2NyIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjgzOTcyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTExIDE0TDEyIDEzTDE0IDExTDE2IDEzTDE3IDE0IiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMTAgMjJIMTgiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+CjwvZz4KPGRlZnM+CjxjbGlwUGF0aCBpZD0iYmdibHVyXzBfNDQ3Ml8xODA1Ml9jbGlwX3BhdGgiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEgMSkiPjxwYXRoIGQ9Ik0zIDdDMyA0Ljc5MDg2IDQuNzkwODYgMyA3IDNIMjNDMjUuMjA5MSAzIDI3IDQuNzkwODYgMjcgN1YxOUMyNyAyNS42Mjc0IDIxLjYyNzQgMzEgMTUgMzFIN0M0Ljc5MDg2IDMxIDMgMjkuMjA5MSAzIDI3VjdaIi8+CjwvY2xpcFBhdGg+PGZpbHRlciBpZD0iZmlsdGVyMV9kXzQ0NzJfMTgwNTIiIHg9IjUiIHk9IjYiIHdpZHRoPSIxOCIgaGVpZ2h0PSIyMSIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9InNSR0IiPgo8ZmVGbG9vZCBmbG9vZC1vcGFjaXR5PSIwIiByZXN1bHQ9IkJhY2tncm91bmRJbWFnZUZpeCIvPgo8ZmVDb2xvck1hdHJpeCBpbj0iU291cmNlQWxwaGEiIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAxMjcgMCIgcmVzdWx0PSJoYXJkQWxwaGEiLz4KPGZlT2Zmc2V0Lz4KPGZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0iMiIvPgo8ZmVDb21wb3NpdGUgaW4yPSJoYXJkQWxwaGEiIG9wZXJhdG9yPSJvdXQiLz4KPGZlQ29sb3JNYXRyaXggdHlwZT0ibWF0cml4IiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAuMzk2MDc4IDAgMCAwIDAgMC45ODQzMTQgMCAwIDAgMC40IDAiLz4KPGZlQmxlbmQgbW9kZT0ibm9ybWFsIiBpbjI9IkJhY2tncm91bmRJbWFnZUZpeCIgcmVzdWx0PSJlZmZlY3QxX2Ryb3BTaGFkb3dfNDQ3Ml8xODA1MiIvPgo8ZmVCbGVuZCBtb2RlPSJub3JtYWwiIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImVmZmVjdDFfZHJvcFNoYWRvd180NDcyXzE4MDUyIiByZXN1bHQ9InNoYXBlIi8+CjwvZmlsdGVyPgo8bGluZWFyR3JhZGllbnQgaWQ9InBhaW50MF9saW5lYXJfNDQ3Ml8xODA1MiIgeDE9IjIzLjUiIHkxPSIxMCIgeDI9IjIzLjUiIHkyPSIzNCIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgo8c3RvcCBzdG9wLWNvbG9yPSIjNjRBMEZEIi8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzAxNUFGRiIvPgo8L2xpbmVhckdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=",Ie=""+new URL("assets/database_connect.svg",import.meta.url).href,Me=""+new URL("assets/mysql.svg",import.meta.url).href,fe=""+new URL("assets/SQLServer.png",import.meta.url).href,Ae=""+new URL("assets/PostgreSQL.png",import.meta.url).href,Ce=""+new URL("assets/Doris.png",import.meta.url).href,he=[{label:"MySQL",value:"MySQL",icon:Me},{label:"PostgreSQL",value:"PostgreSQL",icon:Ae},{label:"SQLServer",value:"SQLServer",icon:fe},{label:"Doris",value:"Doris",icon:Ce}],Be=({drawerTitle:m,drawerVisible:z,isConnectSuccess:B,handleDrawerClose:F,dbInfo:c,dbType:n,eventsEmit:M})=>{const[G,W]=y(!1),[R,w]=y(!1),[e,t]=y({}),[r,u]=y(!1),b=T(()=>({id:n,layout:"vertical",formWidth:"500px",fields:[{id:"name",name:"name",label:"\u6570\u636E\u5E93\u540D\u79F0",type:"input",required:!0,placeholder:"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7",validate:a=>{if(!a)return"\u6570\u636E\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A";if(!/[\u4E00-\u9FA5A-Za-z0-9\W]/.test(a))return"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7"},counter:100},{id:"description",name:"description",label:"\u6570\u636E\u5E93\u63CF\u8FF0",type:"textarea",counter:150,required:!1,placeholder:"\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u63CF\u8FF0,\u6B64\u63CF\u8FF0\u4EC5\u7528\u4E8E\u533A\u5206\u4E0D\u540C\u6570\u636E\u5E93,\u4E0D\u4F1A\u5F71\u54CD\u6570\u636E\u5E93\u8C03\u7528",defaultValue:""}]}),[n,c]),D=T(()=>({id:n,layout:"vertical",formWidth:"470px",fields:[{id:"name",name:"name",label:"\u6570\u636E\u5E93\u540D\u79F0",type:"input",required:!0,placeholder:"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7",validate:a=>{if(!a)return"\u6570\u636E\u5E93\u540D\u79F0\u4E0D\u80FD\u4E3A\u7A7A";if(!/[\u4E00-\u9FA5A-Za-z0-9\W]/.test(a))return"\u4EC5\u652F\u6301\u6C49\u5B57\u3001\u6570\u5B57\u3001\u82F1\u6587\u3001\u7B26\u53F7"},counter:100},{id:"description",name:"description",label:"\u6570\u636E\u5E93\u63CF\u8FF0",type:"textarea",required:!1,counter:150,placeholder:"\u8BF7\u8F93\u5165\u6570\u636E\u5E93\u63CF\u8FF0,\u6B64\u63CF\u8FF0\u4EC5\u7528\u4E8E\u533A\u5206\u4E0D\u540C\u6570\u636E\u5E93,\u4E0D\u4F1A\u5F71\u54CD\u6570\u636E\u5E93\u8C03\u7528",defaultValue:""},{id:"db-info",label:"\u76F4\u8FDE\u6570\u636E\u6E90\u4FE1\u606F",type:"title",level:2},{id:"dbType",name:"dbType",label:"\u6570\u636E\u6E90\u7C7B\u578B",type:"select",disabled:!!c,required:!0,options:he.map(a=>{const{label:i,value:I,icon:x}=a;return{label:i,value:I,render:()=>Z("div",{className:"flex items-center gap-2",children:[l("img",{src:x,width:24}),l("span",{children:i})]})}})},{id:"dbHost",name:"dbHost",label:"\u4E3B\u673A\u5730\u5740",type:"input",required:!0,disabled:!!c,placeholder:"\u8BF7\u8F93\u5165IP\u5730\u5740\u6216\u8005\u57DF\u540D"},{id:"dbPort",name:"dbPort",label:"\u7AEF\u53E3\u53F7",type:"number",required:!0,disabled:!!c,placeholder:"\u8BF7\u8F93\u5165\u7AEF\u53E3\u540D\u79F0"},{id:"dbDatabase",name:"dbDatabase",label:"\u8FDE\u63A5\u6570\u636E\u5E93\u540D",disabled:!!c,placeholder:"\u8BF7\u8F93\u5165\u8FDE\u63A5\u6570\u636E\u5E93\u540D",required:!0,type:"input"},{type:"col",children:[{id:"dbUser",type:"input",name:"dbUser",label:"\u7528\u6237\u540D",disabled:!!c,placeholder:"\u8BF7\u8F93\u5165\u7528\u6237\u540D",required:!0},{id:"dbPassword",type:"password",name:"dbPassword",label:"\u5BC6\u7801",placeholder:"\u8BF7\u8F93\u5165\u5BC6\u7801",required:!0,disabled:r?!1:!!c}]}]}),[n,c,r]),p=q(null),C=(a,i,I)=>{switch(console.log("[Form] eventsEmit:",a,i,I),a){case"form:ready":i.formRef&&(p.current=i.formRef);break;case"form_field_change":console.log("\u5B57\u6BB5\u503C\u53D8\u5316:",i),t(x=>({...x,[i.fieldId]:i.value}));break;case"form_validation_error":console.log("\u8868\u5355\u9A8C\u8BC1\u9519\u8BEF:",i);break;default:console.log("\u672A\u5904\u7406\u7684\u4E8B\u4EF6:",a,i)}M==null||M(a,i,I)},h=async()=>{try{W(!0);const a=await p.current.getAllData();a.isValid&&(console.log(a,"==="),n=="DirectDB"&&m=="\u7F16\u8F91\u6570\u636E\u5E93"&&!r&&(a.fields=a.fields.filter(i=>i.name=="name"||i.name=="description")),await M("form_submitted",a,void 0),u(!1))}catch(a){console.error("\u274C \u63D0\u4EA4\u8868\u5355\u6570\u636E\u5931\u8D25:",a)}finally{W(!1)}},N=async()=>{try{w(!0);const a=await p.current.getAllData();if(a.isValid){const i=a.fields.reduce((I,x)=>(I[x.name]=x.value,I),{});await M("form:connect_test",i,void 0)}}catch{w(!1)}finally{w(!1)}},d=T(()=>{const a=n=="DataTable"?b:D;return{label:"\u52A8\u6001\u8868\u5355\u793A\u4F8B",defaultActiveId:a.id,model:null,views:[{label:"\u7528\u6237\u6CE8\u518C\u8868\u5355",id:a.id,type:"form",size:"md",formWidth:a.formWidth,formConfig:{layout:a.layout,showReset:!1,showSubmit:!1,formWidth:a.formWidth,getFormData:()=>({...e,timestamp:new Date().toISOString(),formId:a.id}),onFieldChange:(i,I)=>{C("form_field_change",{fieldId:i,value:I},void 0)},onValidationError:i=>{C("form_validation_error",i,void 0)}}}],dataSource:[{id:a.id,fields:a.fields,defaultValues:{...c}}],eventsEmit:C}},[n,b,D,z,c]),v=T(()=>n=="DirectDB"?c?r&&!B:!B:!1,[n,B,r,z]);return Z($,{title:m,width:620,onCancel:()=>{F(),u(!1)},open:z,destroyOnHidden:!0,footer:Z("div",{className:"flex justify-end gap-3",children:[l(Q,{mode:"default",label:"\u53D6\u6D88",onClick:()=>{F(),u(!1)}}),l(Q,{mode:"primary",label:"\u786E\u8BA4",loading:G,disabled:v,onClick:h})]}),children:[l(K,{...d},"example-form"),n==="DirectDB"&&l(de,{children:m=="\u7F16\u8F91\u6570\u636E\u5E93"&&!r?l(Q,{mode:"primary",className:"mt-[10px]",label:"\u4FEE\u6539\u5BC6\u7801",onClick:()=>{u(!0),p.current.setValues({dbPassword:void 0})}}):l(be,{title:"\u9700\u901A\u8FC7\u6D4B\u8BD5\u624D\u53EF\u521B\u5EFA\u6210\u529F",children:l(Q,{mode:"primary",className:"mt-[10px]",label:"\u8FDE\u63A5\u6D4B\u8BD5",loading:R,onClick:N})})})]})},we=""+new URL("assets/empty.png",import.meta.url).href,{confirm:Ne}=$,ve=ge.div`
2
- width: 282px;
3
- height: 81px;
4
- display: flex;
5
- flex-direction: row;
6
- justify-space:between;
7
- align-items: center;
8
- border-radius: 4px;
9
- padding:12px;
10
-
11
- flexD
12
- color: #2a2a2a;
13
- background-color: #ffffff;
14
- &:hover {
15
- color: #055aff;
16
- border: 1px solid #2b69ff;
17
- background-color: #F1F5FF;
18
- };
19
- border: 1px solid #EBEBEB
20
- `,xe=[{key:"add_file_db",label:"\u4E0A\u4F20\u6570\u636E\u5E93",dsc:"\u901A\u8FC7\u4E0A\u4F20Excel\u3001csv\u7B49\u683C\u5F0F\u6570\u636E\u8868\u521B\u5EFA\u6570\u636E\u5E93\u3002",icon:pe},{key:"add_direct_db",label:"\u76F4\u8FDE\u6570\u636E\u5E93",dsc:"\u901A\u8FC7\u4E0E\u5DF2\u6709\u4E1A\u52A1\u5EFA\u7ACB\u8FDE\u63A5\u521B\u5EFA\u6570\u636E\u5E93\u3002",icon:Ie}],Ge=m=>{const{url:z,token:B,role:F,CustomComponents:c,getBtnDisabled:n}=m,[M,G]=y("my-db"),[W,R]=y({app:"ready",container:"ready",content:"ready"}),[w,e]=y(!1),[t,r]=y([{id:"my-db",data:[]},{id:"shared-db",data:[]}]),u=q(null),[b,D]=y(!1),[p,C]=y(""),[h,N]=y("DataTable"),[d,v]=y(),[a,i]=y(!1),{getDatabaseList:I,delDatabaseById:x,saveDatabase:ee,testConnection:ue,getShareDatabaseList:te,syncSchema:ae}=Fe({url:z,token:B,role:F,eventsEmit:m.eventsEmit}),J=T(()=>[{label:"\u6211\u7684\u6570\u636E\u5E93",id:"my-db",type:"card",cardType:"database",rowHeight:220,viewPageSize:12,viewBehavior:"pagination",actions:[{label:"\u7F16\u8F91",key:"edit"},{label:"\u5220\u9664",key:"delete"}],toolbar:[{type:"customized",key:"add",render:()=>l(ye,{mode:"primary",label:"\u521B\u5EFA\u6570\u636E\u5E93",actions:xe.map(o=>({key:o.key,component:l(ve,{children:Z("div",{className:"flex flex-grow",children:[l("div",{className:"mr-[6px]",children:l("img",{src:o.icon})}),Z("div",{children:[l("div",{className:"text-base font-bold mb-1 text-[14px]",children:o.label}),l("div",{className:"text-[#888] text-[10px]",children:o.dsc})]})]})},o.key)})),eventEmit:_})},{type:"fuzzy_search",key:"search",label:"\u8F93\u5165\u540D\u79F0\u641C\u7D22",searchKeys:["name","description"],position:"right"}]},{label:"\u5171\u4EAB\u6570\u636E\u5E93",id:"shared-db",type:"card",cardType:"database",rowHeight:240,toolbar:[{type:"fuzzy_search",key:"search",label:"\u641C\u7D22",position:"right"}],actions:[{label:"\u7F16\u8F91",key:"edit"},{label:"\u5220\u9664",key:"delete"}]}],[t]);De(()=>{R(o=>({...o,content:"loading"})),se()},[]);const se=async()=>{var o,s,f,g;try{const[A,j]=await Promise.allSettled([I({pageNo:1,pageSize:999}),te({pageNo:1,pageSize:999})]);let P=[];if(A.status==="fulfilled"&&A.value&&(o=A.value)!=null&&o.records){const S=Y((s=A.value)==null?void 0:s.records);P.push({id:"my-db",data:S||[]})}if(j.status==="fulfilled"&&j.value&&(f=j.value)!=null&&f.records){const S=Y((g=j.value)==null?void 0:g.records);P.push({id:"shared-db",data:S||[]})}r(P),R(S=>({...S,content:"ready"}))}catch(A){console.log("[DatabaseApiError] getDatabaseList:",A)}},Y=o=>(o||[]).map(s=>{const f=U("shared-db").map((g,A)=>({...g,key:g.type==="divider"?`${g.key}_${s.id}`:g.key,disabled:n&&n(g.key=="edit"?7:4,s.permission)}));return s.datasourceType=="DirectDB"&&f.push({label:"\u540C\u6B65\u8868\u7ED3\u6784",key:"sync_schema",disabled:n&&n(7,s.permission)}),console.log("[DatabaseViewAdopter] actions:",f),{...s,actions:f||[]}}),re="admin",ie=()=>Z("div",{className:"flex flex-col items-center justify-center h-full",children:[l("div",{className:"text-xl font-semibold mb-3",style:{color:"#374151"},children:l("img",{src:we,width:120})}),l("div",{className:"text-base mb-6",style:{color:"#6b7280"},children:"\u6682\u65E0\u6570\u636E\uFF0C\u8BF7\u5148\u6DFB\u52A0\u6570\u636E\u5E93"})]}),U=o=>{const s=J.find(g=>g.id===o);return(s==null?void 0:s.actions)||[]},oe=T(()=>{var s;const o=((s=t==null?void 0:t.find(f=>f.id===M))==null?void 0:s.data)||[];return w?[]:o},[M,t,w]),X=()=>{D(!1),i(!1),v(void 0)},ce=async o=>{console.log("[DatabaseViewAdopter] \u6D4B\u8BD5\u8FDE\u63A5:",o);const s=await ue(o);return s&&(i(!0),H.success("\u8FDE\u63A5\u6D4B\u8BD5\u6210\u529F\uFF01")),s};async function _(o,s,f){var g,A,j,P,S;switch(console.log("[DatabaseViewAdopter] mergedEventsEmit",o,s),o){case"card_delete":Ne({title:"\u786E\u8BA4\u5220\u9664\u6570\u636E\u5E93\uFF1F",content:"\u5220\u9664\u540E\uFF0C\u8BE5\u6570\u636E\u5E93\u5C06\u65E0\u6CD5\u6062\u590D",okText:"\u5220\u9664",cancelText:"\u53D6\u6D88",async onOk(){await x(s.id,s.datasourceType)&&(u!=null&&u.current)&&(u==null||u.current.appFn.removeItem(s.id))},onCancel(){console.log("Cancel")}});break;case"card_edit":C("\u7F16\u8F91\u6570\u636E\u5E93"),D(!0),N(s.datasourceType),delete s.render,v(s);break;case"select":G(s.id);break;case"filesDir_clicked":G(s.id);break;case"dropdown_action":C("\u521B\u5EFA\u6570\u636E\u5E93"),D(!0),s.key=="add_file_db"?N("DataTable"):N("DirectDB");break;case"form_submitted":try{const k=s.fields.reduce((L,E)=>(L[E.name]=E.value,L),{}),le=d?{id:d==null?void 0:d.id,...k}:k,V=await ee(le,h);if(V){if(d){const L={...d,...k,datasourceType:h,actions:U("my-db").map((E,ne)=>({...E,key:E.type==="divider"?`${E.key}_${V}`:E.key,allow:!0}))};(A=(g=u==null?void 0:u.current)==null?void 0:g.appFn)==null||A.updateItem(L,d==null?void 0:d.id),H.success("\u6570\u636E\u5E93\u7F16\u8F91\u6210\u529F\uFF01")}else{const L={...k,...V,createBy:re,datasourceType:h,actions:U("my-db").map((E,ne)=>({...E,key:E.type==="divider"?`${E.key}_${V}`:E.key,allow:!0}))};(P=(j=u==null?void 0:u.current)==null?void 0:j.appFn)==null||P.addItem(L,{animate:!0,position:"start"}),H.success("\u6570\u636E\u5E93\u521B\u5EFA\u6210\u529F\uFF01")}return V}}catch(k){console.error("\u4FDD\u5B58\u5931\u8D25\uFF01",k)}finally{X()}break;case"form:connect_test":return await ce(s);case"toolbar_test_empty":console.log("[DatabaseViewAdopter] toolbar_test_empty \u4E8B\u4EF6\u89E6\u53D1"),e(!w);break;case"card_sync_schema":await ae(s.id)&&(i(!0),H.success("\u540C\u6B65\u8868\u7ED3\u6784\u6210\u529F\uFF01"));break;default:(S=m.eventsEmit)==null||S.call(m,o,s);break}}return Z(Ee,{title:"\u6570\u636E\u5E93\u7BA1\u7406",children:[l(K,{ref:u,label:"",model:"tabs",defaultActiveId:M,views:J,dataSource:oe,eventsEmit:_,status:W,CustomComponents:{EmptyData:ie,...c},styles:m.styles},"db"),l(Be,{drawerTitle:p,drawerVisible:b,isConnectSuccess:a,dbType:h,dbInfo:d,handleDrawerClose:X,eventsEmit:_})]})};export{Ge as default};
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes