@gadmin2n/schematics 0.0.68 → 0.0.70

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 (223) hide show
  1. package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/canvas.prisma +45 -0
  2. package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/example.prisma +24 -23
  3. package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/system.prisma +93 -90
  4. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Audit.ts +70 -0
  5. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Event.ts +3 -3
  6. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Page.ts +70 -0
  7. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/PageResource.ts +70 -0
  8. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Resource.ts +70 -0
  9. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/RolePages.ts +70 -0
  10. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/RoleResource.ts +70 -0
  11. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/SavedQuery.ts +70 -0
  12. package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/User.ts +70 -0
  13. package/dist/lib/application/files/gadmin2-game-angle-demo/readme.md +95 -2
  14. package/dist/lib/application/files/gadmin2-game-angle-demo/server/.eslintrc.js +4 -2
  15. package/dist/lib/application/files/gadmin2-game-angle-demo/server/.prettierignore +7 -1
  16. package/dist/lib/application/files/gadmin2-game-angle-demo/server/config/index.ts +1 -3
  17. package/dist/lib/application/files/gadmin2-game-angle-demo/server/gadmin-cli.json +2 -2
  18. package/dist/lib/application/files/gadmin2-game-angle-demo/server/package.json +6 -5
  19. package/dist/lib/application/files/gadmin2-game-angle-demo/server/scripts/lib/page-helpers.ts +157 -0
  20. package/dist/lib/application/files/gadmin2-game-angle-demo/server/scripts/page-manage.ts +290 -0
  21. package/dist/lib/application/files/gadmin2-game-angle-demo/server/scripts/permission-manage.ts +184 -0
  22. package/dist/lib/application/files/gadmin2-game-angle-demo/server/scripts/prismaModels.ts +143 -0
  23. package/dist/lib/application/files/gadmin2-game-angle-demo/server/scripts/sync-resources.ts +100 -0
  24. package/dist/lib/application/files/gadmin2-game-angle-demo/server/scripts/syncDataMngtPages.ts +119 -0
  25. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/index.ts +1 -3
  26. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/permissions.ts +109 -143
  27. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/main.ts +5 -2
  28. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.controller.spec.ts +20 -0
  29. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.controller.ts +81 -0
  30. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.dto.ts +49 -0
  31. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.module.ts +11 -0
  32. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.service.spec.ts +334 -0
  33. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.service.ts +249 -0
  34. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/index.ts +2 -1
  35. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.service.ts +2 -2
  36. package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.service.ts +17 -4
  37. package/dist/lib/application/files/gadmin2-game-angle-demo/server/yarn.lock +7737 -0
  38. package/dist/lib/application/files/gadmin2-game-angle-demo/web/.env +1 -0
  39. package/dist/lib/application/files/gadmin2-game-angle-demo/web/.eslintrc.json +38 -0
  40. package/dist/lib/application/files/gadmin2-game-angle-demo/web/.prettierignore +2 -0
  41. package/dist/lib/application/files/gadmin2-game-angle-demo/web/dev-shell-entry.html +49 -0
  42. package/dist/lib/application/files/gadmin2-game-angle-demo/web/package.json +13 -2
  43. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/App.tsx +137 -111
  44. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/auditLogProvider.ts +46 -44
  45. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/authProvider.ts +32 -12
  46. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/BulkActions.tsx +74 -23
  47. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/ListPageHeader.tsx +9 -9
  48. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/RowActions.tsx +57 -31
  49. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/SearchBar.tsx +53 -24
  50. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/SqlModal.tsx +148 -72
  51. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/AgentContext.tsx +190 -16
  52. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/ElementInspector.tsx +914 -63
  53. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/agentAttributes.ts +17 -8
  54. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/index.ts +0 -10
  55. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/inspectorActions.ts +969 -46
  56. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/pagePathUtils.ts +66 -0
  57. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/promptGenerator.ts +85 -25
  58. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/propPatcher.ts +84 -0
  59. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/eventList/index.tsx +16 -20
  60. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/index.ts +4 -4
  61. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logButton/index.tsx +13 -13
  62. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logList/index.tsx +15 -16
  63. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/modalDiffViewer/index.tsx +15 -15
  64. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/index.tsx +2 -2
  65. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/BarChart/index.tsx +896 -0
  66. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/ChartSwitcher/index.tsx +219 -0
  67. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/ChartViewer/index.tsx +159 -0
  68. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/Filter/index.tsx +192 -0
  69. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/LineChart/index.tsx +1034 -0
  70. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumCard/NumCard.module.css +8 -0
  71. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumCard/index.tsx +509 -0
  72. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumLineCard/index.tsx +66 -0
  73. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/PieChart/index.tsx +552 -0
  74. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/RadarChart/index.tsx +263 -0
  75. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/Section/index.tsx +35 -0
  76. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/Table/index.tsx +207 -0
  77. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/TreemapChart/index.tsx +382 -0
  78. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/WorldMap/index.tsx +135 -0
  79. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/chart-constants.ts +53 -0
  80. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/icon/InfoIcon.tsx +8 -0
  81. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/icon/index.ts +1 -0
  82. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/map/config.ts +31 -0
  83. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/map/nameMap.json +9 -0
  84. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/map/world.geo.json +39349 -0
  85. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/metric-info-tooltip/index.tsx +19 -0
  86. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/business/index.tsx +12 -12
  87. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/index.tsx +22 -26
  88. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/custom-avatar.tsx +13 -9
  89. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/index.ts +4 -4
  90. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/header.tsx +22 -37
  91. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/index.ts +4 -4
  92. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/layout.tsx +10 -10
  93. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/logo.tsx +1 -1
  94. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/sider.tsx +113 -65
  95. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/title.tsx +14 -14
  96. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/offLayoutArea/index.tsx +1 -1
  97. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/pagination-total.tsx +2 -2
  98. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/index.ts +1 -1
  99. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/role-tag.tsx +21 -21
  100. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/text.tsx +17 -13
  101. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/http.ts +26 -5
  102. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.tsx +221 -51
  103. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/constants/layout.ts +3 -3
  104. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddDataModal.tsx +199 -0
  105. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddPageModal.tsx +335 -0
  106. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/DeleteDataConfirm.tsx +56 -0
  107. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/DevShell.tsx +401 -0
  108. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/EditDataModal.tsx +129 -0
  109. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/SkillMenu.tsx +202 -0
  110. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/UndoConfirm.tsx +36 -0
  111. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/index.tsx +8 -0
  112. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/style.css +835 -0
  113. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/enums/audit-log.enum.ts +8 -8
  114. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/enums/index.ts +1 -1
  115. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/form.tsx +120 -70
  116. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/get-name-initials.ts +3 -3
  117. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/get-random-color.ts +11 -11
  118. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/http.ts +16 -19
  119. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/index.tsx +1 -1
  120. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/list.tsx +99 -73
  121. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/login.ts +22 -27
  122. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/page-tree.ts +74 -0
  123. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/show.tsx +95 -51
  124. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/utils.tsx +7 -3
  125. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/types.ts +15 -15
  126. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchDelete.ts +10 -10
  127. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchOperations.ts +8 -7
  128. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchOperationsCore.ts +10 -10
  129. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchUpdate.ts +10 -10
  130. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useDynamicResources.tsx +36 -27
  131. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useECharts.tsx +144 -0
  132. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useFetchData.ts +4 -4
  133. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useListPageState.ts +34 -34
  134. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useRoles.ts +8 -4
  135. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useRowSelection.ts +1 -1
  136. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useUserPageAccess.ts +55 -41
  137. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/i18n.ts +8 -8
  138. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/index.tsx +9 -2
  139. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/en/common.json +193 -0
  140. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/zh_CN/common.json +194 -0
  141. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/plugins/devShellPlugin.ts +81 -0
  142. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.tsx +37 -37
  143. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/create.tsx +23 -31
  144. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/edit.tsx +34 -35
  145. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.ts +1 -1
  146. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.tsx +4 -6
  147. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/list.tsx +41 -34
  148. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/show.tsx +33 -20
  149. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasCell.tsx +87 -0
  150. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasEditPage.tsx +192 -0
  151. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasListPage.tsx +409 -0
  152. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasPage.tsx +1372 -0
  153. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasToolbar.tsx +384 -0
  154. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CodeFloatWindow.tsx +476 -0
  155. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/ComponentThumbnail.tsx +135 -0
  156. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/IsolatedLivePreview.tsx +101 -0
  157. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/LivePreview.tsx +236 -0
  158. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/PublishModal.tsx +200 -0
  159. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasApi.ts +92 -0
  160. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasConfigRegistry.tsx +25 -0
  161. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasContextMenuRegistry.tsx +875 -0
  162. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasDefaults.ts +126 -0
  163. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasI18n.ts +11 -0
  164. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/BarChartDataSourceModal.tsx +115 -0
  165. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/ChartViewerConfigModal.tsx +217 -0
  166. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/LineChartDataSourceModal.tsx +153 -0
  167. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/NumCardDataSourceModal.tsx +211 -0
  168. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/PromptModal.tsx +90 -0
  169. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/RadarChartDataSourceModal.tsx +87 -0
  170. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/TableDataSourceModal.tsx +204 -0
  171. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/demos.ts +1153 -0
  172. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/index.tsx +2 -0
  173. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/sectionCompactor.ts +45 -0
  174. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/types.ts +45 -0
  175. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas-page/index.tsx +108 -0
  176. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/create.tsx +105 -0
  177. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/edit.tsx +121 -0
  178. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/index.tsx +4 -0
  179. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/list.tsx +237 -0
  180. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/show.tsx +74 -0
  181. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/AssignRolesModal.tsx +29 -20
  182. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/CreatePageModal.tsx +3 -3
  183. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/EditPageModal.tsx +7 -3
  184. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageDetailDrawer.tsx +58 -23
  185. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageFormModal.tsx +206 -122
  186. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/hooks/usePageManagement.ts +8 -4
  187. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/index.ts +1 -1
  188. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/list.tsx +345 -190
  189. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/types.ts +1 -1
  190. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/permissionReadme/index.tsx +341 -340
  191. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/CreateModal.tsx +2 -2
  192. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/EditModal.tsx +2 -2
  193. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/ResourceDetailDrawer.tsx +41 -24
  194. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/modal.tsx +64 -36
  195. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/index.ts +2 -2
  196. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/list.tsx +78 -40
  197. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/CreateModal.tsx +3 -3
  198. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/EditModal.tsx +4 -4
  199. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/RoleDetailDrawer.tsx +19 -9
  200. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/modal.tsx +45 -47
  201. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/hooks/useRolePage.ts +4 -4
  202. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/index.ts +1 -1
  203. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/list.tsx +121 -147
  204. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/types.ts +1 -1
  205. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/create-modal.tsx +2 -2
  206. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/edit-modal.tsx +2 -2
  207. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/form-modal.tsx +25 -19
  208. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/index.ts +5 -5
  209. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/role-tag.tsx +10 -10
  210. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/show-drawer.tsx +31 -26
  211. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/index.ts +1 -1
  212. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/list.tsx +76 -71
  213. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/setupTests.ts +1 -1
  214. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/audit-log.ts +1 -1
  215. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/index.ts +3 -3
  216. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/role.ts +1 -1
  217. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/user.ts +1 -1
  218. package/dist/lib/application/files/gadmin2-game-angle-demo/web/vite.config.ts +42 -25
  219. package/dist/lib/application/files/gadmin2-game-angle-demo/web/yarn.lock +1193 -32
  220. package/package.json +1 -1
  221. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/seedDataMngtPages.ts +0 -258
  222. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/AgentPanel.tsx +0 -497
  223. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/skills.ts +0 -464
@@ -4,7 +4,7 @@ import {
4
4
  ModelsFieldsTypeMap,
5
5
  ModelType,
6
6
  convertPrismaDecimal,
7
- } from "@gadmin2n/react-common";
7
+ } from '@gadmin2n/react-common';
8
8
  import {
9
9
  TagField,
10
10
  MarkdownField,
@@ -17,13 +17,13 @@ import {
17
17
  BooleanField,
18
18
  NumberField,
19
19
  ShowButton,
20
- } from "@refinedev/antd";
21
- import { CheckCircleTwoTone, CloseCircleTwoTone } from "@ant-design/icons";
22
- import { Space, Typography } from "antd";
23
- import React from "react";
24
- import { agentAttrs } from "../components/agentPanel/agentAttributes";
20
+ } from '@refinedev/antd';
21
+ import { CheckCircleTwoTone, CloseCircleTwoTone } from '@ant-design/icons';
22
+ import { Space, Typography } from 'antd';
23
+ import React from 'react';
24
+ import { agentAttrs } from '../components/agentPanel/agentAttributes';
25
25
 
26
- const { Title, Text } = Typography;
26
+ const { Text } = Typography;
27
27
 
28
28
  export function getShowField(
29
29
  field: FieldDataType,
@@ -31,21 +31,21 @@ export function getShowField(
31
31
  record: any,
32
32
  t: I18N_T,
33
33
  model: ModelType,
34
- modelsMap: ModelsFieldsTypeMap
34
+ modelsMap: ModelsFieldsTypeMap,
35
35
  ) {
36
36
  const { type: fieldType, args } = field.uiType.formItem;
37
37
  const fieldName = field.name;
38
38
  let value = (record as any)?.[fieldName];
39
- if (fieldName.includes(".")) {
40
- const attrs = fieldName.split(".");
39
+ if (fieldName.includes('.')) {
40
+ const attrs = fieldName.split('.');
41
41
  value = (record as any)?.[attrs[0]]?.[attrs[1]];
42
42
  }
43
43
  let element = <Text>{value}</Text>;
44
44
  if (field.render) {
45
45
  element = field.render(value);
46
46
  } else if (
47
- !fieldName.includes(".") &&
48
- field.kind === "object" &&
47
+ !fieldName.includes('.') &&
48
+ field.kind === 'object' &&
49
49
  !field.isList &&
50
50
  value !== undefined &&
51
51
  value !== null
@@ -62,20 +62,20 @@ export function getShowField(
62
62
  {(record as any)?.[fieldName]?.[nameKey]}
63
63
  </ShowButton>
64
64
  );
65
- } else if (fieldType === "Markdown") {
65
+ } else if (fieldType === 'Markdown') {
66
66
  element = <MarkdownField value={value} />;
67
- } else if (fieldType === "Text") {
67
+ } else if (fieldType === 'Text') {
68
68
  element = (
69
69
  <>
70
- {(value || "").split("\n").map((row: string) => (
71
- <TextField style={{ display: "block" }} value={row} />
70
+ {(value || '').split('\n').map((row: string) => (
71
+ <TextField style={{ display: 'block' }} value={row} />
72
72
  ))}
73
73
  </>
74
74
  );
75
- } else if (fieldType === "Image") {
75
+ } else if (fieldType === 'Image') {
76
76
  element = (
77
77
  <Space wrap>
78
- {JSON.parse(value || "[]")?.map?.((img: any) => (
78
+ {JSON.parse(value || '[]')?.map?.((img: any) => (
79
79
  <ImageField
80
80
  key={img?.response?.name}
81
81
  value={img?.thumbUrl}
@@ -85,10 +85,10 @@ export function getShowField(
85
85
  ))}
86
86
  </Space>
87
87
  );
88
- } else if (fieldType === "File") {
88
+ } else if (fieldType === 'File') {
89
89
  element = (
90
90
  <Space wrap>
91
- {JSON.parse(value || "[]")?.map?.((file: any) => (
91
+ {JSON.parse(value || '[]')?.map?.((file: any) => (
92
92
  <FileField
93
93
  key={file?.response?.name}
94
94
  src={file?.thumbUrl}
@@ -97,49 +97,59 @@ export function getShowField(
97
97
  ))}
98
98
  </Space>
99
99
  );
100
- } else if (fieldType === "Select") {
101
- if (args.mode === "multiple") {
100
+ } else if (fieldType === 'Select') {
101
+ if (args.mode === 'multiple') {
102
102
  element = (
103
103
  <Space>
104
- {JSON.parse(value || "[]")?.map?.((v: string) => (
104
+ {JSON.parse(value || '[]')?.map?.((v: string) => (
105
105
  <TagField
106
- value={t(`resources.${resourceName}.enums.${fieldName}.${v}`, String(v))}
106
+ value={t(
107
+ `resources.${resourceName}.enums.${fieldName}.${v}`,
108
+ String(v),
109
+ )}
107
110
  />
108
111
  ))}
109
112
  </Space>
110
113
  );
111
114
  } else {
112
- element = <TagField value={t(
113
- `resources.${resourceName}.enums.${fieldName}.${value}`,
114
- String(value)
115
- )} />;
115
+ element = (
116
+ <TagField
117
+ value={t(
118
+ `resources.${resourceName}.enums.${fieldName}.${value}`,
119
+ String(value),
120
+ )}
121
+ />
122
+ );
116
123
  }
117
- } else if (fieldType === "Radio" || field.kind === "enum") {
124
+ } else if (fieldType === 'Radio' || field.kind === 'enum') {
118
125
  element = (
119
126
  <TagField
120
127
  value={t(
121
128
  `resources.${resourceName}.enums.${fieldName}.${value}`,
122
- String(value)
129
+ String(value),
123
130
  )}
124
131
  />
125
132
  );
126
- } else if (fieldType === "CheckBox") {
133
+ } else if (fieldType === 'CheckBox') {
127
134
  element = (
128
135
  <Space>
129
- {JSON.parse(value || "[]")?.map?.((v: string) => (
136
+ {JSON.parse(value || '[]')?.map?.((v: string) => (
130
137
  <TagField
131
- value={t(`resources.${resourceName}.enums.${fieldName}.${v}`, String(v))}
138
+ value={t(
139
+ `resources.${resourceName}.enums.${fieldName}.${v}`,
140
+ String(v),
141
+ )}
132
142
  />
133
143
  ))}
134
144
  </Space>
135
145
  );
136
- } else if (fieldType === "DateTime") {
146
+ } else if (fieldType === 'DateTime') {
137
147
  element = <DateField value={value} format="YYYY-MM-DD HH:mm:ss" />;
138
- } else if (fieldType === "Url") {
148
+ } else if (fieldType === 'Url') {
139
149
  element = <UrlField value={value} />;
140
- } else if (fieldType === "Email") {
150
+ } else if (fieldType === 'Email') {
141
151
  element = <EmailField value={value} />;
142
- } else if (fieldType === "Boolean") {
152
+ } else if (fieldType === 'Boolean') {
143
153
  element = (
144
154
  <BooleanField
145
155
  value={value}
@@ -147,15 +157,24 @@ export function getShowField(
147
157
  falseIcon={<CloseCircleTwoTone twoToneColor="red" />}
148
158
  />
149
159
  );
150
- } else if (["Int", "BigInt", "Float", "Decimal"].includes(fieldType)) {
160
+ } else if (['Int', 'BigInt', 'Float', 'Decimal'].includes(fieldType)) {
151
161
  const displayValue = convertPrismaDecimal(value);
152
- if (displayValue !== undefined && displayValue !== null && !isNaN(Number(displayValue))) {
153
- element = <NumberField value={displayValue ?? ""} />;
162
+ if (
163
+ displayValue !== undefined &&
164
+ displayValue !== null &&
165
+ !isNaN(Number(displayValue))
166
+ ) {
167
+ element = <NumberField value={displayValue ?? ''} />;
154
168
  }
155
169
  }
156
170
  return (
157
171
  <div
158
172
  key={fieldName}
173
+ style={{
174
+ display: 'flex',
175
+ borderBottom: '1px solid #f0f0f0',
176
+ minHeight: 48,
177
+ }}
159
178
  {...agentAttrs({
160
179
  type: 'show-field',
161
180
  field: fieldName,
@@ -163,20 +182,45 @@ export function getShowField(
163
182
  meta: { fieldType },
164
183
  })}
165
184
  >
166
- <Title level={5}>
185
+ <div
186
+ style={{
187
+ width: 180,
188
+ minWidth: 180,
189
+ padding: '10px 16px',
190
+ background: '#fafafa',
191
+ borderRight: '1px solid #f0f0f0',
192
+ fontWeight: 500,
193
+ fontSize: 13,
194
+ color: '#595959',
195
+ display: 'flex',
196
+ alignItems: 'center',
197
+ flexShrink: 0,
198
+ }}
199
+ >
167
200
  {t(
168
201
  `resources.${resourceName}.fields.${fieldName}`,
169
- fieldName.startsWith("_count.")
170
- ? "Count " +
171
- t(
172
- `resources.${model[fieldName.split(".")[1]]?.type?.toLowerCase() || ""
173
- }.name`,
174
- fieldName
175
- )
176
- : fieldName
202
+ fieldName.startsWith('_count.')
203
+ ? 'Count ' +
204
+ t(
205
+ `resources.${model[fieldName.split('.')[1]]?.type?.toLowerCase() || ''}.name`,
206
+ fieldName,
207
+ )
208
+ : fieldName,
177
209
  )}
178
- </Title>
179
- {element}
210
+ </div>
211
+ <div
212
+ style={{
213
+ flex: 1,
214
+ padding: '10px 16px',
215
+ fontSize: 13,
216
+ color: '#1a1a1a',
217
+ display: 'flex',
218
+ alignItems: 'center',
219
+ wordBreak: 'break-word',
220
+ }}
221
+ >
222
+ {element}
223
+ </div>
180
224
  </div>
181
225
  );
182
226
  }
@@ -1,5 +1,9 @@
1
- import React from "react";
1
+ import React from 'react';
2
2
 
3
3
  export const renderLongColumnValue = (value: string) => {
4
- return <div style={{ whiteSpace: "pre-wrap", wordBreak: "break-word" }}>{value}</div>;
5
- };
4
+ return (
5
+ <div style={{ whiteSpace: 'pre-wrap', wordBreak: 'break-word' }}>
6
+ {value}
7
+ </div>
8
+ );
9
+ };
@@ -2,10 +2,10 @@ import {
2
2
  FieldDataType,
3
3
  ModelsFieldsTypeMap,
4
4
  ModelType,
5
- } from "@gadmin2n/react-common";
6
- import { CrudFilters, CrudSorting } from "@refinedev/core";
7
- import { FormProps, SelectProps, TableProps } from "antd";
8
- import { DefaultOptionType } from "antd/es/select";
5
+ } from '@gadmin2n/react-common';
6
+ import { CrudFilters, CrudSorting } from '@refinedev/core';
7
+ import { FormProps, SelectProps, TableProps } from 'antd';
8
+ import { DefaultOptionType } from 'antd/es/select';
9
9
 
10
10
  export interface ListPageConfig {
11
11
  resourceName: string;
@@ -37,17 +37,17 @@ export interface ListPageConfig {
37
37
 
38
38
  export interface RowAction {
39
39
  action:
40
- | "CHANGE_STATUS"
41
- | "DELETE"
42
- | "EXPORT"
43
- | "CUSTOM"
44
- | "INSERT"
45
- | "JUMP"
46
- | "EDIT"
47
- | "DETAIL";
40
+ | 'CHANGE_STATUS'
41
+ | 'DELETE'
42
+ | 'EXPORT'
43
+ | 'CUSTOM'
44
+ | 'INSERT'
45
+ | 'JUMP'
46
+ | 'EDIT'
47
+ | 'DETAIL';
48
48
  desc: string;
49
49
  values?: Record<string, any>;
50
- when?: Record<string, any> | "*" | ((record: any) => boolean);
50
+ when?: Record<string, any> | '*' | ((record: any) => boolean);
51
51
  fields?: string[];
52
52
  }
53
53
 
@@ -76,7 +76,7 @@ export interface SearchFormConfig {
76
76
  searchFields: string[];
77
77
  dateRangeFields?: string[];
78
78
  model: ModelType;
79
- tableConfig: ListPageConfig["tableConfig"];
79
+ tableConfig: ListPageConfig['tableConfig'];
80
80
  }
81
81
 
82
82
  export interface ListPageContextValue {
@@ -85,7 +85,7 @@ export interface ListPageContextValue {
85
85
  model: ModelType;
86
86
  modelsMap: ModelsFieldsTypeMap;
87
87
  modelsEnum: Record<string, Record<string, string>>;
88
- tableConfig: ListPageConfig["tableConfig"];
88
+ tableConfig: ListPageConfig['tableConfig'];
89
89
  apiUrl: string;
90
90
  relationSelectProps: Record<
91
91
  string,
@@ -1,6 +1,6 @@
1
- import { useState, useCallback } from "react";
2
- import { useDelete } from "@refinedev/core";
3
- import { notification } from "antd";
1
+ import { useState, useCallback } from 'react';
2
+ import { useDelete } from '@refinedev/core';
3
+ import { notification } from 'antd';
4
4
 
5
5
  export interface BatchDeleteResult {
6
6
  successIds: React.Key[];
@@ -96,17 +96,17 @@ export function useBatchDelete({
96
96
  },
97
97
  {
98
98
  onError: (error) => {
99
- console.error("deleteOne error:", error);
99
+ console.error('deleteOne error:', error);
100
100
  reject(error);
101
101
  },
102
102
  onSuccess: () => {
103
103
  resolve();
104
104
  },
105
- }
106
- )
105
+ },
106
+ ),
107
107
  );
108
108
  },
109
- [refineDeleteOne, resourceName, customDeleteFn]
109
+ [refineDeleteOne, resourceName, customDeleteFn],
110
110
  );
111
111
 
112
112
  const deleteSelectedItems = useCallback(
@@ -156,8 +156,8 @@ export function useBatchDelete({
156
156
  customNotification(result);
157
157
  } else if (showNotification) {
158
158
  const message = t(
159
- "batch.deleteResult",
160
- `Delete success: ${result.successCount}, failed: ${result.failedCount}`
159
+ 'batch.deleteResult',
160
+ `Delete success: ${result.successCount}, failed: ${result.failedCount}`,
161
161
  );
162
162
 
163
163
  if (result.failedCount === selectedKeys.length) {
@@ -180,7 +180,7 @@ export function useBatchDelete({
180
180
  showNotification,
181
181
  customNotification,
182
182
  confirmDelete,
183
- ]
183
+ ],
184
184
  );
185
185
 
186
186
  return {
@@ -1,21 +1,22 @@
1
- import { useCallback } from "react";
2
- import { useRowSelection, UseRowSelectionResult } from "./useRowSelection";
1
+ import { useCallback } from 'react';
2
+ import { useRowSelection, UseRowSelectionResult } from './useRowSelection';
3
3
  import {
4
4
  useBatchUpdate,
5
5
  UseBatchUpdateConfig,
6
6
  BatchUpdateResult,
7
- } from "./useBatchUpdate";
7
+ } from './useBatchUpdate';
8
8
  import {
9
9
  useBatchDelete,
10
10
  UseBatchDeleteConfig,
11
11
  BatchDeleteResult,
12
- } from "./useBatchDelete";
12
+ } from './useBatchDelete';
13
13
 
14
14
  export interface UseBatchOperationsConfig
15
- extends Omit<UseBatchUpdateConfig, "onComplete" | "onSuccess" | "onError">,
15
+ extends
16
+ Omit<UseBatchUpdateConfig, 'onComplete' | 'onSuccess' | 'onError'>,
16
17
  Omit<
17
18
  UseBatchDeleteConfig,
18
- "onComplete" | "onSuccess" | "onError" | "resourceName"
19
+ 'onComplete' | 'onSuccess' | 'onError' | 'resourceName'
19
20
  > {
20
21
  /** Called after batch update completes */
21
22
  onUpdateComplete?: (result: BatchUpdateResult) => void;
@@ -123,7 +124,7 @@ export function useBatchOperations({
123
124
  const failedIds = await batchUpdate(selectedRowKeys, values);
124
125
  setSelectedRowKeys(failedIds);
125
126
  },
126
- [batchUpdate, selectedRowKeys, setSelectedRowKeys]
127
+ [batchUpdate, selectedRowKeys, setSelectedRowKeys],
127
128
  );
128
129
 
129
130
  const deleteSelectedItems = useCallback(async () => {
@@ -1,5 +1,5 @@
1
- import { useState, useCallback } from "react";
2
- import { useRowSelection } from "./useRowSelection";
1
+ import { useState, useCallback } from 'react';
2
+ import { useRowSelection } from './useRowSelection';
3
3
 
4
4
  export interface BatchOperationResult {
5
5
  successIds: React.Key[];
@@ -92,28 +92,28 @@ export function useBatchOperationsCore({
92
92
  const updateOne = useCallback(
93
93
  async (id: number, values: any): Promise<void> => {
94
94
  if (!updateFn) {
95
- throw new Error("updateFn is not provided");
95
+ throw new Error('updateFn is not provided');
96
96
  }
97
97
  await updateFn(id, values);
98
98
  },
99
- [updateFn]
99
+ [updateFn],
100
100
  );
101
101
 
102
102
  const deleteOne = useCallback(
103
103
  async (id: number): Promise<void> => {
104
104
  if (!deleteFn) {
105
- throw new Error("deleteFn is not provided");
105
+ throw new Error('deleteFn is not provided');
106
106
  }
107
107
  await deleteFn(id);
108
108
  },
109
- [deleteFn]
109
+ [deleteFn],
110
110
  );
111
111
 
112
112
  // Batch operations - just execute and return results, no UI logic
113
113
  const updateMany = useCallback(
114
114
  async (keys: React.Key[], values: any): Promise<BatchOperationResult> => {
115
115
  if (!updateFn) {
116
- throw new Error("updateFn is not provided");
116
+ throw new Error('updateFn is not provided');
117
117
  }
118
118
 
119
119
  setIsUpdating(true);
@@ -138,13 +138,13 @@ export function useBatchOperationsCore({
138
138
  failedCount: failedIds.length,
139
139
  };
140
140
  },
141
- [updateFn]
141
+ [updateFn],
142
142
  );
143
143
 
144
144
  const deleteMany = useCallback(
145
145
  async (keys: React.Key[]): Promise<BatchOperationResult> => {
146
146
  if (!deleteFn) {
147
- throw new Error("deleteFn is not provided");
147
+ throw new Error('deleteFn is not provided');
148
148
  }
149
149
 
150
150
  setIsDeleting(true);
@@ -169,7 +169,7 @@ export function useBatchOperationsCore({
169
169
  failedCount: failedIds.length,
170
170
  };
171
171
  },
172
- [deleteFn]
172
+ [deleteFn],
173
173
  );
174
174
 
175
175
  return {
@@ -1,5 +1,5 @@
1
- import { useState, useCallback } from "react";
2
- import { notification } from "antd";
1
+ import { useState, useCallback } from 'react';
2
+ import { notification } from 'antd';
3
3
 
4
4
  export interface BatchUpdateResult {
5
5
  successIds: React.Key[];
@@ -32,7 +32,7 @@ export interface UseBatchUpdateResult {
32
32
  /** Update selected items and return failed IDs */
33
33
  updateSelectedItems: (
34
34
  selectedKeys: React.Key[],
35
- values: any
35
+ values: any,
36
36
  ) => Promise<React.Key[]>;
37
37
  /** Update a single item */
38
38
  updateOne: (id: number, values: any) => Promise<void>;
@@ -93,10 +93,10 @@ export function useBatchUpdate({
93
93
 
94
94
  const url = `${apiUrl}/${resourceName}/updateUnique/${id}`;
95
95
  const response = await fetch(url, {
96
- method: "PATCH",
96
+ method: 'PATCH',
97
97
  headers: {
98
- "Content-Type": "application/json;charset=utf-8",
99
- Accept: "application/json",
98
+ 'Content-Type': 'application/json;charset=utf-8',
99
+ Accept: 'application/json',
100
100
  ...(requestHeaders?.() || {}),
101
101
  },
102
102
  body: JSON.stringify(values),
@@ -106,7 +106,7 @@ export function useBatchUpdate({
106
106
  throw new Error(`Update failed for id ${id}`);
107
107
  }
108
108
  },
109
- [apiUrl, resourceName, requestHeaders, customUpdateFn]
109
+ [apiUrl, resourceName, requestHeaders, customUpdateFn],
110
110
  );
111
111
 
112
112
  const updateSelectedItems = useCallback(
@@ -148,8 +148,8 @@ export function useBatchUpdate({
148
148
  customNotification(result);
149
149
  } else if (showNotification) {
150
150
  const message = t(
151
- "batch.updateResult",
152
- `Update success: ${result.successCount}, failed: ${result.failedCount}`
151
+ 'batch.updateResult',
152
+ `Update success: ${result.successCount}, failed: ${result.failedCount}`,
153
153
  );
154
154
 
155
155
  if (result.failedCount === selectedKeys.length) {
@@ -171,7 +171,7 @@ export function useBatchUpdate({
171
171
  t,
172
172
  showNotification,
173
173
  customNotification,
174
- ]
174
+ ],
175
175
  );
176
176
 
177
177
  return {