@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
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { Button, Popconfirm, Space } from 'antd';
3
3
  import { agentAttrs } from './agentPanel/agentAttributes';
4
+ import { useAgent } from './agentPanel/AgentContext';
4
5
  import { ExportButton } from '@refinedev/antd';
5
6
  import { RowAction } from '../hooks/types';
6
7
 
@@ -49,19 +50,27 @@ export interface BulkActionsProps {
49
50
  /** Show export button */
50
51
  showExport?: boolean;
51
52
  /** Custom children - if provided, replaces entire default UI */
52
- children?: React.ReactNode | ((context: BulkActionsRenderContext) => React.ReactNode);
53
+ children?:
54
+ | React.ReactNode
55
+ | ((context: BulkActionsRenderContext) => React.ReactNode);
53
56
 
54
57
  // Render props for fine-grained customization
55
58
  /** Custom render for update buttons */
56
59
  renderUpdateButton?: (
57
60
  action: RowAction,
58
61
  onClick: () => void,
59
- loading: boolean
62
+ loading: boolean,
60
63
  ) => React.ReactNode;
61
64
  /** Custom render for delete button */
62
- renderDeleteButton?: (onClick: () => void, loading: boolean) => React.ReactNode;
65
+ renderDeleteButton?: (
66
+ onClick: () => void,
67
+ loading: boolean,
68
+ ) => React.ReactNode;
63
69
  /** Custom render for export button */
64
- renderExportButton?: (onClick: () => void, loading: boolean) => React.ReactNode;
70
+ renderExportButton?: (
71
+ onClick: () => void,
72
+ loading: boolean,
73
+ ) => React.ReactNode;
65
74
  /** Custom render for selection count */
66
75
  renderSelectionCount?: (count: number) => React.ReactNode;
67
76
  /** Additional actions to render after default actions */
@@ -129,15 +138,39 @@ export const BulkActions: React.FC<BulkActionsProps> = ({
129
138
  renderSelectionCount,
130
139
  extraActions,
131
140
  }) => {
132
- if (selectedRowKeys.length === 0) {
141
+ const agent = useAgent();
142
+ const inspecting = agent?.inspecting ?? false;
143
+
144
+ if (selectedRowKeys.length === 0 && !inspecting) {
133
145
  return null;
134
146
  }
135
147
 
148
+ // Inspect-mode preview: render a placeholder when no rows are selected
149
+ if (selectedRowKeys.length === 0 && inspecting) {
150
+ return (
151
+ <Space
152
+ {...agentAttrs({ type: 'list-bulk-actions', resource: resourceName })}
153
+ style={{
154
+ opacity: 0.6,
155
+ border: '1px dashed #1890ff',
156
+ padding: '4px 8px',
157
+ borderRadius: 4,
158
+ }}
159
+ >
160
+ <Button disabled>导出</Button>
161
+ <Button danger disabled>
162
+ 删除
163
+ </Button>
164
+ <span style={{ marginLeft: 8 }}>批量操作(检查模式预览)</span>
165
+ </Space>
166
+ );
167
+ }
168
+
136
169
  const context: BulkActionsRenderContext = {
137
170
  selectedCount: selectedRowKeys.length,
138
171
  selectedRowKeys,
139
- onUpdate: onUpdateSelected || (async () => { }),
140
- onDelete: onDeleteSelected || (async () => { }),
172
+ onUpdate: onUpdateSelected || (async () => {}),
173
+ onDelete: onDeleteSelected || (async () => {}),
141
174
  onExport: onExportSelected,
142
175
  updateLoading,
143
176
  deleteLoading,
@@ -157,9 +190,15 @@ export const BulkActions: React.FC<BulkActionsProps> = ({
157
190
  }
158
191
 
159
192
  // Default rendering
160
- const statusActions = actions.filter((action) => action.action === 'CHANGE_STATUS');
193
+ const statusActions = actions.filter(
194
+ (action) => action.action === 'CHANGE_STATUS',
195
+ );
161
196
 
162
- const defaultUpdateButton = (action: RowAction, onClick: () => void, loading: boolean) => (
197
+ const defaultUpdateButton = (
198
+ action: RowAction,
199
+ onClick: () => void,
200
+ loading: boolean,
201
+ ) => (
163
202
  <Popconfirm
164
203
  key={action.desc}
165
204
  placement="top"
@@ -194,32 +233,45 @@ export const BulkActions: React.FC<BulkActionsProps> = ({
194
233
 
195
234
  const defaultSelectionCount = (count: number) => (
196
235
  <span style={{ marginLeft: 8 }}>
197
- {t('table.selected', 'Selected') + ' ' + count + ' ' + t('table.items', 'items')}
236
+ {t('table.selected', 'Selected') +
237
+ ' ' +
238
+ count +
239
+ ' ' +
240
+ t('table.items', 'items')}
198
241
  </span>
199
242
  );
200
243
 
201
244
  return (
202
- <span {...agentAttrs({ type: 'bulk-actions', resource: resourceName })}>
203
- <Space>
245
+ <Space
246
+ {...agentAttrs({ type: 'list-bulk-actions', resource: resourceName })}
247
+ >
204
248
  {statusActions.map((action) =>
205
249
  renderUpdateButton
206
- ? renderUpdateButton(action, () => onUpdateSelected?.(action.values), updateLoading)
207
- : defaultUpdateButton(action, () => onUpdateSelected?.(action.values), updateLoading)
250
+ ? renderUpdateButton(
251
+ action,
252
+ () => onUpdateSelected?.(action.values),
253
+ updateLoading,
254
+ )
255
+ : defaultUpdateButton(
256
+ action,
257
+ () => onUpdateSelected?.(action.values),
258
+ updateLoading,
259
+ ),
208
260
  )}
209
261
 
210
262
  {/* Export selected */}
211
- {showExport && onExportSelected && (
212
- renderExportButton
263
+ {showExport &&
264
+ onExportSelected &&
265
+ (renderExportButton
213
266
  ? renderExportButton(onExportSelected, exportLoading)
214
- : defaultExportButton(onExportSelected, exportLoading)
215
- )}
267
+ : defaultExportButton(onExportSelected, exportLoading))}
216
268
 
217
269
  {/* Delete selected */}
218
- {showDelete && onDeleteSelected && (
219
- renderDeleteButton
270
+ {showDelete &&
271
+ onDeleteSelected &&
272
+ (renderDeleteButton
220
273
  ? renderDeleteButton(onDeleteSelected, deleteLoading)
221
- : defaultDeleteButton(onDeleteSelected, deleteLoading)
222
- )}
274
+ : defaultDeleteButton(onDeleteSelected, deleteLoading))}
223
275
 
224
276
  {/* Extra actions */}
225
277
  {extraActions}
@@ -229,7 +281,6 @@ export const BulkActions: React.FC<BulkActionsProps> = ({
229
281
  ? renderSelectionCount(selectedRowKeys.length)
230
282
  : defaultSelectionCount(selectedRowKeys.length)}
231
283
  </Space>
232
- </span>
233
284
  );
234
285
  };
235
286
 
@@ -40,15 +40,15 @@ export const ListPageHeader: React.FC<ListPageHeaderProps> = ({
40
40
  }) => {
41
41
  return (
42
42
  <div {...agentAttrs({ type: 'list-header', resource: resourceName })}>
43
- <Space>
44
- {extraButtons}
45
- {showImport && importProps && <ImportButton {...importProps} />}
46
- {showExport && onExport && (
47
- <ExportButton onClick={onExport} loading={exportLoading} />
48
- )}
49
- {showCreate && <CreateButton type="primary" />}
50
- {extraButtonsAfter}
51
- </Space>
43
+ <Space>
44
+ {extraButtons}
45
+ {showImport && importProps && <ImportButton {...importProps} />}
46
+ {showExport && onExport && (
47
+ <ExportButton onClick={onExport} loading={exportLoading} />
48
+ )}
49
+ {showCreate && <CreateButton type="primary" />}
50
+ {extraButtonsAfter}
51
+ </Space>
52
52
  </div>
53
53
  );
54
54
  };
@@ -51,7 +51,9 @@ export interface RowActionsProps<T = any> {
51
51
  /** Show history/log button */
52
52
  showHistory?: boolean;
53
53
  /** Custom children - if provided, replaces entire default UI */
54
- children?: React.ReactNode | ((context: RowActionsRenderContext<T>) => React.ReactNode);
54
+ children?:
55
+ | React.ReactNode
56
+ | ((context: RowActionsRenderContext<T>) => React.ReactNode);
55
57
 
56
58
  // Render props for fine-grained customization
57
59
  /** Custom render for edit button */
@@ -70,7 +72,7 @@ export interface RowActionsProps<T = any> {
70
72
  record: T,
71
73
  onConfirm: () => void,
72
74
  loading: boolean,
73
- disabled: boolean
75
+ disabled: boolean,
74
76
  ) => React.ReactNode;
75
77
  /** Custom render for more dropdown trigger */
76
78
  renderMoreTrigger?: () => React.ReactNode;
@@ -161,7 +163,9 @@ export function RowActions<T extends { id: number | string }>({
161
163
  }
162
164
 
163
165
  // Default rendering
164
- const statusActions = actions.filter((action) => action.action === 'CHANGE_STATUS');
166
+ const statusActions = actions.filter(
167
+ (action) => action.action === 'CHANGE_STATUS',
168
+ );
165
169
 
166
170
  // Default button renderers
167
171
  const defaultEditButton = (id: number | string) => (
@@ -184,7 +188,13 @@ export function RowActions<T extends { id: number | string }>({
184
188
 
185
189
  const defaultHistoryButton = (id: number | string) =>
186
190
  LogButton ? (
187
- <LogButton hideText={false} icon={false} type="text" size="small" recordItemId={id} />
191
+ <LogButton
192
+ hideText={false}
193
+ icon={false}
194
+ type="text"
195
+ size="small"
196
+ recordItemId={id}
197
+ />
188
198
  ) : null;
189
199
 
190
200
  const defaultStatusAction = (
@@ -192,7 +202,7 @@ export function RowActions<T extends { id: number | string }>({
192
202
  _record: T,
193
203
  onConfirm: () => void,
194
204
  loading: boolean,
195
- disabled: boolean
205
+ disabled: boolean,
196
206
  ) => (
197
207
  <Popconfirm
198
208
  placement="top"
@@ -225,42 +235,54 @@ export function RowActions<T extends { id: number | string }>({
225
235
  return {
226
236
  key: action.desc,
227
237
  label: renderStatusAction
228
- ? renderStatusAction(action, record, onConfirm, updateLoading, disabled)
229
- : defaultStatusAction(action, record, onConfirm, updateLoading, disabled),
238
+ ? renderStatusAction(
239
+ action,
240
+ record,
241
+ onConfirm,
242
+ updateLoading,
243
+ disabled,
244
+ )
245
+ : defaultStatusAction(
246
+ action,
247
+ record,
248
+ onConfirm,
249
+ updateLoading,
250
+ disabled,
251
+ ),
230
252
  };
231
253
  }),
232
254
  // Clone button
233
255
  ...(showClone
234
256
  ? [
235
- {
236
- key: 'clone',
237
- label: renderCloneButton
238
- ? renderCloneButton(recordId)
239
- : defaultCloneButton(recordId),
240
- },
241
- ]
257
+ {
258
+ key: 'clone',
259
+ label: renderCloneButton
260
+ ? renderCloneButton(recordId)
261
+ : defaultCloneButton(recordId),
262
+ },
263
+ ]
242
264
  : []),
243
265
  // History/Log button
244
- ...((showHistory || LogButton)
266
+ ...(showHistory || LogButton
245
267
  ? [
246
- {
247
- key: 'history',
248
- label: renderHistoryButton
249
- ? renderHistoryButton(recordId)
250
- : defaultHistoryButton(recordId),
251
- },
252
- ]
268
+ {
269
+ key: 'history',
270
+ label: renderHistoryButton
271
+ ? renderHistoryButton(recordId)
272
+ : defaultHistoryButton(recordId),
273
+ },
274
+ ]
253
275
  : []),
254
276
  // Delete button
255
277
  ...(showDelete
256
278
  ? [
257
- {
258
- key: 'delete',
259
- label: renderDeleteButton
260
- ? renderDeleteButton(recordId)
261
- : defaultDeleteButton(recordId),
262
- },
263
- ]
279
+ {
280
+ key: 'delete',
281
+ label: renderDeleteButton
282
+ ? renderDeleteButton(recordId)
283
+ : defaultDeleteButton(recordId),
284
+ },
285
+ ]
264
286
  : []),
265
287
  // Extra items
266
288
  ...extraDropdownItems,
@@ -270,11 +292,15 @@ export function RowActions<T extends { id: number | string }>({
270
292
  <Space>
271
293
  {/* Edit button */}
272
294
  {showEdit &&
273
- (renderEditButton ? renderEditButton(recordId) : defaultEditButton(recordId))}
295
+ (renderEditButton
296
+ ? renderEditButton(recordId)
297
+ : defaultEditButton(recordId))}
274
298
 
275
299
  {/* Show/Detail button */}
276
300
  {showDetail &&
277
- (renderDetailButton ? renderDetailButton(recordId) : defaultDetailButton(recordId))}
301
+ (renderDetailButton
302
+ ? renderDetailButton(recordId)
303
+ : defaultDetailButton(recordId))}
278
304
 
279
305
  {/* Extra primary actions */}
280
306
  {extraPrimaryActions}
@@ -41,17 +41,28 @@ export interface SearchBarProps {
41
41
  /** Submit button text */
42
42
  submitText?: string;
43
43
  /** Custom children - if provided as function, gives full control */
44
- children?: React.ReactNode | ((context: SearchBarRenderContext) => React.ReactNode);
44
+ children?:
45
+ | React.ReactNode
46
+ | ((context: SearchBarRenderContext) => React.ReactNode);
45
47
 
46
48
  // Render props for fine-grained customization
47
49
  /** Custom render for keyword input */
48
- renderKeywordInput?: (field: SearchBarField, defaultInput: React.ReactNode) => React.ReactNode;
50
+ renderKeywordInput?: (
51
+ field: SearchBarField,
52
+ defaultInput: React.ReactNode,
53
+ ) => React.ReactNode;
49
54
  /** Custom render for date range picker */
50
- renderDateRangePicker?: (field: SearchBarField, defaultPicker: React.ReactNode) => React.ReactNode;
55
+ renderDateRangePicker?: (
56
+ field: SearchBarField,
57
+ defaultPicker: React.ReactNode,
58
+ ) => React.ReactNode;
51
59
  /** Custom render for submit button */
52
60
  renderSubmitButton?: (defaultButton: React.ReactNode) => React.ReactNode;
53
61
  /** Custom render for field wrapper (Form.Item) */
54
- renderFieldWrapper?: (field: SearchBarField, children: React.ReactNode) => React.ReactNode;
62
+ renderFieldWrapper?: (
63
+ field: SearchBarField,
64
+ children: React.ReactNode,
65
+ ) => React.ReactNode;
55
66
  /** Extra fields to render before submit button */
56
67
  extraFields?: React.ReactNode;
57
68
  /** Extra actions to render after submit button */
@@ -123,7 +134,10 @@ export const SearchBar: React.FC<SearchBarProps> = ({
123
134
  name: 'q',
124
135
  type: 'keyword',
125
136
  label: t(`resources.${resourceName}.search.q.title`, 'Search'),
126
- placeholder: t(`resources.${resourceName}.search.q.placeholder`, searchPlaceholder),
137
+ placeholder: t(
138
+ `resources.${resourceName}.search.q.placeholder`,
139
+ searchPlaceholder,
140
+ ),
127
141
  style: { width: '100%', maxWidth: '300px' },
128
142
  },
129
143
  {
@@ -146,7 +160,10 @@ export const SearchBar: React.FC<SearchBarProps> = ({
146
160
  );
147
161
 
148
162
  // Default field wrapper
149
- const defaultFieldWrapper = (field: SearchBarField, children: React.ReactNode) => (
163
+ const defaultFieldWrapper = (
164
+ field: SearchBarField,
165
+ children: React.ReactNode,
166
+ ) => (
150
167
  <Form.Item
151
168
  key={field.name}
152
169
  label={field.label}
@@ -174,14 +191,19 @@ export const SearchBar: React.FC<SearchBarProps> = ({
174
191
  ? renderDateRangePicker(field, defaultPicker)
175
192
  : defaultPicker;
176
193
 
177
- const defaultLabel = field.label || t(`resources.${resourceName}.fields.${field.name}`, field.name);
194
+ const defaultLabel =
195
+ field.label ||
196
+ t(`resources.${resourceName}.fields.${field.name}`, field.name);
178
197
  const defaultStyle = field.style || { width: '100%', maxWidth: '400px' };
179
198
 
180
199
  if (renderFieldWrapper) {
181
200
  return (
182
201
  <React.Fragment key={field.name}>
183
202
  &nbsp;
184
- {renderFieldWrapper({ ...field, label: defaultLabel, style: defaultStyle }, picker)}
203
+ {renderFieldWrapper(
204
+ { ...field, label: defaultLabel, style: defaultStyle },
205
+ picker,
206
+ )}
185
207
  </React.Fragment>
186
208
  );
187
209
  }
@@ -201,25 +223,35 @@ export const SearchBar: React.FC<SearchBarProps> = ({
201
223
  }
202
224
 
203
225
  // Default: keyword search
204
- const defaultLabel = field.label || t(`resources.${resourceName}.search.${field.name}.title`, 'Search');
205
- const defaultPlaceholder = field.placeholder || t(`resources.${resourceName}.search.${field.name}.placeholder`, searchPlaceholder);
226
+ const defaultLabel =
227
+ field.label ||
228
+ t(`resources.${resourceName}.search.${field.name}.title`, 'Search');
229
+ const defaultPlaceholder =
230
+ field.placeholder ||
231
+ t(
232
+ `resources.${resourceName}.search.${field.name}.placeholder`,
233
+ searchPlaceholder,
234
+ );
206
235
  const defaultStyle = field.style || { width: '100%', maxWidth: '300px' };
207
236
 
208
237
  const defaultInput = (
209
- <Input
210
- placeholder={defaultPlaceholder}
211
- prefix={<SearchOutlined />}
212
- />
238
+ <Input placeholder={defaultPlaceholder} prefix={<SearchOutlined />} />
213
239
  );
214
240
 
215
241
  const input = renderKeywordInput
216
- ? renderKeywordInput({ ...field, placeholder: defaultPlaceholder }, defaultInput)
242
+ ? renderKeywordInput(
243
+ { ...field, placeholder: defaultPlaceholder },
244
+ defaultInput,
245
+ )
217
246
  : defaultInput;
218
247
 
219
248
  if (renderFieldWrapper) {
220
249
  return (
221
250
  <React.Fragment key={field.name}>
222
- {renderFieldWrapper({ ...field, label: defaultLabel, style: defaultStyle }, input)}
251
+ {renderFieldWrapper(
252
+ { ...field, label: defaultLabel, style: defaultStyle },
253
+ input,
254
+ )}
223
255
  </React.Fragment>
224
256
  );
225
257
  }
@@ -269,11 +301,10 @@ export const SearchBar: React.FC<SearchBarProps> = ({
269
301
  {fieldsToRender.map(renderField)}
270
302
  {extraFields}
271
303
  &nbsp;
272
- {showSubmitButton && (
273
- renderSubmitButton
304
+ {showSubmitButton &&
305
+ (renderSubmitButton
274
306
  ? renderSubmitButton(defaultSubmitButton)
275
- : defaultSubmitButton
276
- )}
307
+ : defaultSubmitButton)}
277
308
  {extraActions}
278
309
  </Space>
279
310
  );
@@ -283,10 +314,8 @@ export const SearchBar: React.FC<SearchBarProps> = ({
283
314
  }
284
315
 
285
316
  return (
286
- <div {...agentAttrs({ type: 'search-bar', resource: resourceName })}>
287
- <Form {...formProps}>
288
- {content}
289
- </Form>
317
+ <div {...agentAttrs({ type: 'list-search-bar', resource: resourceName })}>
318
+ <Form {...formProps}>{content}</Form>
290
319
  </div>
291
320
  );
292
321
  };