@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,497 +0,0 @@
1
- import React, { useMemo, useState } from 'react';
2
- import {
3
- Drawer,
4
- Tabs,
5
- Card,
6
- Input,
7
- Button,
8
- Space,
9
- Typography,
10
- Tag,
11
- message,
12
- Empty,
13
- Collapse,
14
- Radio,
15
- } from 'antd';
16
- import {
17
- AimOutlined,
18
- CodeOutlined,
19
- RobotOutlined,
20
- FileTextOutlined,
21
- SettingOutlined,
22
- RightOutlined,
23
- } from '@ant-design/icons';
24
- import { useAgent, PageType } from './AgentContext';
25
- import {
26
- skills,
27
- getPageSkills,
28
- getProjectSkills,
29
- Skill,
30
- SubSkill,
31
- } from './skills';
32
- import { generatePrompt } from './promptGenerator';
33
- import { ElementInspector } from './ElementInspector';
34
-
35
- const { TextArea } = Input;
36
- const { Text, Paragraph } = Typography;
37
- const { Panel } = Collapse;
38
-
39
- interface SubSkillListProps {
40
- subSkills: SubSkill[];
41
- selectedId: string | null;
42
- onSelect: (id: string) => void;
43
- }
44
-
45
- const SubSkillList: React.FC<SubSkillListProps> = ({
46
- subSkills,
47
- selectedId,
48
- onSelect,
49
- }) => {
50
- return (
51
- <Radio.Group
52
- value={selectedId}
53
- onChange={(e) => onSelect(e.target.value)}
54
- style={{ width: '100%' }}
55
- >
56
- <Space direction="vertical" style={{ width: '100%' }} size={4}>
57
- {subSkills.map((sub) => (
58
- <Radio
59
- key={sub.id}
60
- value={sub.id}
61
- style={{
62
- width: '100%',
63
- padding: '8px 12px',
64
- borderRadius: 4,
65
- backgroundColor: selectedId === sub.id ? '#e6f7ff' : '#fafafa',
66
- border: selectedId === sub.id ? '1px solid #1890ff' : '1px solid #f0f0f0',
67
- }}
68
- >
69
- <div>
70
- <Text strong style={{ fontSize: 13 }}>{sub.name}</Text>
71
- <Paragraph
72
- type="secondary"
73
- style={{ marginBottom: 0, fontSize: 12, marginTop: 2 }}
74
- ellipsis={{ rows: 2 }}
75
- >
76
- {sub.description}
77
- </Paragraph>
78
- </div>
79
- </Radio>
80
- ))}
81
- </Space>
82
- </Radio.Group>
83
- );
84
- };
85
-
86
- interface SkillCardProps {
87
- skill: Skill;
88
- selectedSubSkillId: string | null;
89
- onSelectSubSkill: (skillId: string, subSkillId: string | null) => void;
90
- expanded: boolean;
91
- onExpand: (skillId: string) => void;
92
- }
93
-
94
- const SkillCard: React.FC<SkillCardProps> = ({
95
- skill,
96
- selectedSubSkillId,
97
- onSelectSubSkill,
98
- expanded,
99
- onExpand,
100
- }) => {
101
- const hasSubSkills = skill.subSkills && skill.subSkills.length > 0;
102
- const isSubSkillSelected = skill.subSkills?.some((s) => s.id === selectedSubSkillId);
103
-
104
- return (
105
- <Card
106
- size="small"
107
- style={{
108
- marginBottom: 8,
109
- borderColor: isSubSkillSelected ? '#1890ff' : undefined,
110
- }}
111
- bodyStyle={{ padding: hasSubSkills ? 0 : 12 }}
112
- >
113
- {hasSubSkills ? (
114
- <Collapse
115
- ghost
116
- activeKey={expanded ? [skill.id] : []}
117
- onChange={() => onExpand(skill.id)}
118
- expandIcon={({ isActive }) => (
119
- <RightOutlined rotate={isActive ? 90 : 0} style={{ fontSize: 10 }} />
120
- )}
121
- >
122
- <Panel
123
- key={skill.id}
124
- header={
125
- <Space direction="vertical" size={2} style={{ width: '100%', overflow: 'hidden' }}>
126
- <Space>
127
- <Text strong>{skill.name}</Text>
128
- {skill.pageTypes && (
129
- <Space size={2}>
130
- {skill.pageTypes.map((type) => (
131
- <Tag key={type} color="blue" style={{ margin: 0, fontSize: 10 }}>
132
- {type}
133
- </Tag>
134
- ))}
135
- </Space>
136
- )}
137
- <Tag color="green" style={{ margin: 0, fontSize: 10 }}>
138
- {skill.subSkills?.length} sub-skills
139
- </Tag>
140
- </Space>
141
- <Paragraph
142
- type="secondary"
143
- style={{ marginBottom: 0, fontSize: 12, wordBreak: 'break-word', whiteSpace: 'normal' }}
144
- >
145
- {skill.description}
146
- </Paragraph>
147
- </Space>
148
- }
149
- >
150
- <div style={{ padding: '8px 12px' }}>
151
- <SubSkillList
152
- subSkills={skill.subSkills!}
153
- selectedId={selectedSubSkillId}
154
- onSelect={(subId) => onSelectSubSkill(skill.id, subId)}
155
- />
156
- </div>
157
- </Panel>
158
- </Collapse>
159
- ) : (
160
- <div
161
- style={{ cursor: 'pointer' }}
162
- onClick={() => onSelectSubSkill(skill.id, null)}
163
- >
164
- <Space direction="vertical" size={4} style={{ width: '100%' }}>
165
- <Space>
166
- <Text strong>{skill.name}</Text>
167
- {skill.pageTypes && (
168
- <Space size={2}>
169
- {skill.pageTypes.map((type) => (
170
- <Tag key={type} color="blue" style={{ margin: 0 }}>
171
- {type}
172
- </Tag>
173
- ))}
174
- </Space>
175
- )}
176
- </Space>
177
- <Paragraph
178
- type="secondary"
179
- ellipsis={{ rows: 2, expandable: true, symbol: 'more' }}
180
- style={{ marginBottom: 0, fontSize: 12 }}
181
- >
182
- {skill.description}
183
- </Paragraph>
184
- </Space>
185
- </div>
186
- )}
187
- </Card>
188
- );
189
- };
190
-
191
- interface SkillListProps {
192
- skills: Skill[];
193
- selectedSkillId: string | null;
194
- selectedSubSkillId: string | null;
195
- onSelect: (skillId: string, subSkillId: string | null) => void;
196
- emptyText?: string;
197
- }
198
-
199
- const SkillList: React.FC<SkillListProps> = ({
200
- skills,
201
- selectedSkillId,
202
- selectedSubSkillId,
203
- onSelect,
204
- emptyText = 'No skills available',
205
- }) => {
206
- const [expandedSkillId, setExpandedSkillId] = useState<string | null>(null);
207
-
208
- if (skills.length === 0) {
209
- return <Empty description={emptyText} />;
210
- }
211
-
212
- return (
213
- <div style={{ maxHeight: 350, overflowY: 'auto' }}>
214
- {skills.map((skill) => (
215
- <SkillCard
216
- key={skill.id}
217
- skill={skill}
218
- selectedSubSkillId={
219
- selectedSkillId === skill.id ? selectedSubSkillId : null
220
- }
221
- onSelectSubSkill={onSelect}
222
- expanded={expandedSkillId === skill.id}
223
- onExpand={(id) =>
224
- setExpandedSkillId(expandedSkillId === id ? null : id)
225
- }
226
- />
227
- ))}
228
- </div>
229
- );
230
- };
231
-
232
- const PageTypeLabel: Record<PageType, string> = {
233
- list: 'List Page',
234
- create: 'Create Page',
235
- edit: 'Edit Page',
236
- show: 'Show Page',
237
- unknown: 'Unknown',
238
- };
239
-
240
- // Inner component that uses hooks - only rendered when agent is available
241
- interface AgentPanelInnerProps {
242
- visible: boolean;
243
- close: () => void;
244
- pageInfo: { resourceName: string; pageType: PageType; path: string };
245
- selectedSkillId: string | null;
246
- setSelectedSkillId: (id: string | null) => void;
247
- userPrompt: string;
248
- setUserPrompt: (prompt: string) => void;
249
- activeTab: 'page' | 'project';
250
- setActiveTab: (tab: 'page' | 'project') => void;
251
- startInspecting: () => void;
252
- selectedSubSkillId: string | null;
253
- setSelectedSubSkillId: (id: string | null) => void;
254
- }
255
-
256
- const AgentPanelInner: React.FC<AgentPanelInnerProps> = ({
257
- visible,
258
- close,
259
- pageInfo,
260
- selectedSkillId,
261
- setSelectedSkillId,
262
- userPrompt,
263
- setUserPrompt,
264
- activeTab,
265
- setActiveTab,
266
- startInspecting,
267
- selectedSubSkillId,
268
- setSelectedSubSkillId,
269
- }) => {
270
-
271
- // Get filtered skills based on current page
272
- const pageSkills = useMemo(() => {
273
- if (pageInfo.pageType === 'unknown') {
274
- return getPageSkills();
275
- }
276
- return getPageSkills(pageInfo.pageType);
277
- }, [pageInfo.pageType]);
278
-
279
- const projectSkills = useMemo(() => getProjectSkills(), []);
280
-
281
- // Get selected skill and sub-skill
282
- const selectedSkill = useMemo(
283
- () => skills.find((s) => s.id === selectedSkillId),
284
- [selectedSkillId],
285
- );
286
-
287
- const selectedSubSkill = useMemo(
288
- () => selectedSkill?.subSkills?.find((s) => s.id === selectedSubSkillId),
289
- [selectedSkill, selectedSubSkillId],
290
- );
291
-
292
- // Handle skill selection
293
- const handleSelectSkill = (skillId: string, subSkillId: string | null) => {
294
- setSelectedSkillId(skillId);
295
- setSelectedSubSkillId(subSkillId);
296
- };
297
-
298
- // Handle copy prompt
299
- const handleCopyPrompt = async () => {
300
- if (!selectedSkill) {
301
- message.warning('Please select a skill first');
302
- return;
303
- }
304
-
305
- const prompt = generatePrompt({
306
- skill: selectedSkill,
307
- subSkill: selectedSubSkill || undefined,
308
- pageInfo,
309
- userPrompt,
310
- });
311
-
312
- try {
313
- await navigator.clipboard.writeText(prompt);
314
- message.success('Prompt copied to clipboard!');
315
- } catch (err) {
316
- message.error('Failed to copy prompt');
317
- }
318
- };
319
-
320
- const tabItems = [
321
- {
322
- key: 'page',
323
- label: (
324
- <Space>
325
- <FileTextOutlined />
326
- This Page
327
- </Space>
328
- ),
329
- children: (
330
- <div>
331
- {/* Inspector Button */}
332
- <Button
333
- icon={<AimOutlined />}
334
- block
335
- style={{ marginBottom: 12 }}
336
- onClick={startInspecting}
337
- >
338
- 检查模式
339
- <span style={{ marginLeft: 8, fontSize: 12, color: '#999' }}>
340
- (Alt+I 进入 / Esc 退出)
341
- </span>
342
- </Button>
343
-
344
- {/* Page Info */}
345
- <Card size="small" style={{ marginBottom: 12 }}>
346
- <Space direction="vertical" size={4}>
347
- <Text type="secondary">Current Page:</Text>
348
- <Space>
349
- <Tag color="green">{pageInfo.resourceName || 'N/A'}</Tag>
350
- <Tag color="blue">{PageTypeLabel[pageInfo.pageType]}</Tag>
351
- </Space>
352
- <Text type="secondary" style={{ fontSize: 12 }}>
353
- {pageInfo.path}
354
- </Text>
355
- </Space>
356
- </Card>
357
-
358
- {/* Skills List */}
359
- <Text strong style={{ display: 'block', marginBottom: 8 }}>
360
- Select a Skill:
361
- </Text>
362
- <SkillList
363
- skills={pageSkills}
364
- selectedSkillId={selectedSkillId}
365
- selectedSubSkillId={selectedSubSkillId}
366
- onSelect={handleSelectSkill}
367
- emptyText="No page skills available for this page type"
368
- />
369
- </div>
370
- ),
371
- },
372
- {
373
- key: 'project',
374
- label: (
375
- <Space>
376
- <SettingOutlined />
377
- This Project
378
- </Space>
379
- ),
380
- children: (
381
- <div>
382
- <Text strong style={{ display: 'block', marginBottom: 8 }}>
383
- Select a Skill:
384
- </Text>
385
- <SkillList
386
- skills={projectSkills}
387
- selectedSkillId={selectedSkillId}
388
- selectedSubSkillId={selectedSubSkillId}
389
- onSelect={handleSelectSkill}
390
- emptyText="No project skills available"
391
- />
392
- </div>
393
- ),
394
- },
395
- ];
396
-
397
- return (
398
- <Drawer
399
- title={
400
- <Space>
401
- <RobotOutlined />
402
- Gadmin2 AI Agent
403
- </Space>
404
- }
405
- placement="right"
406
- width={520}
407
- open={visible}
408
- onClose={close}
409
- footer={
410
- <Space style={{ width: '100%', justifyContent: 'flex-end' }}>
411
- <Button onClick={close}>Cancel</Button>
412
- <Button
413
- type="primary"
414
- icon={<CodeOutlined />}
415
- onClick={handleCopyPrompt}
416
- disabled={!selectedSkill}
417
- >
418
- Execute
419
- </Button>
420
- </Space>
421
- }
422
- >
423
- <Tabs
424
- activeKey={activeTab}
425
- onChange={(key) => {
426
- setActiveTab(key as 'page' | 'project');
427
- setSelectedSkillId(null);
428
- setSelectedSubSkillId(null);
429
- }}
430
- items={tabItems}
431
- style={{ marginTop: '-24px' }}
432
- />
433
-
434
- {/* Preview selected skill */}
435
- {selectedSkill && (
436
- <div style={{ marginTop: 16 }}>
437
- <Card size="small" title="Selected">
438
- <Space direction="vertical" size={4} style={{ width: '100%' }}>
439
- <Text strong>{selectedSkill.name}</Text>
440
- {selectedSubSkill && (
441
- <Tag color="purple">{selectedSubSkill.name}</Tag>
442
- )}
443
- <Paragraph
444
- type="secondary"
445
- style={{ marginBottom: 0, marginTop: 4, fontSize: 12 }}
446
- >
447
- {selectedSubSkill?.description || selectedSkill.description}
448
- </Paragraph>
449
- </Space>
450
- </Card>
451
-
452
- {/* User Prompt Input */}
453
- <Text strong style={{ display: 'block', marginBottom: 8 }}>
454
- Additional Instructions:
455
- </Text>
456
- <TextArea
457
- value={userPrompt}
458
- onChange={(e) => setUserPrompt(e.target.value)}
459
- placeholder="Describe what customization you want to make..."
460
- rows={4}
461
- style={{ marginBottom: 12 }}
462
- />
463
- </div>
464
- )}
465
- </Drawer>
466
- );
467
- };
468
-
469
- // Main component that checks for agent context
470
- export const AgentPanel: React.FC = () => {
471
- const agent = useAgent();
472
-
473
- // Don't render if not in AgentProvider (production mode)
474
- if (!agent) return null;
475
-
476
- return (
477
- <>
478
- <AgentPanelInner
479
- visible={agent.visible}
480
- close={agent.close}
481
- pageInfo={agent.pageInfo}
482
- selectedSkillId={agent.selectedSkillId}
483
- setSelectedSkillId={agent.setSelectedSkillId}
484
- userPrompt={agent.userPrompt}
485
- setUserPrompt={agent.setUserPrompt}
486
- activeTab={agent.activeTab}
487
- setActiveTab={agent.setActiveTab}
488
- startInspecting={agent.startInspecting}
489
- selectedSubSkillId={agent.selectedSubSkillId}
490
- setSelectedSubSkillId={agent.setSelectedSubSkillId}
491
- />
492
- <ElementInspector />
493
- </>
494
- );
495
- };
496
-
497
- export default AgentPanel;