@gadmin2n/schematics 0.0.69 → 0.0.71

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 (696) 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 +1 -1
  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/.npmrc +1 -0
  41. package/dist/lib/application/files/gadmin2-game-angle-demo/web/.prettierignore +2 -0
  42. package/dist/lib/application/files/gadmin2-game-angle-demo/web/dev-shell-entry.html +49 -0
  43. package/dist/lib/application/files/gadmin2-game-angle-demo/web/package.json +13 -2
  44. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/App.tsx +137 -111
  45. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/auditLogProvider.ts +46 -44
  46. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/authProvider.ts +32 -12
  47. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/BulkActions.tsx +74 -23
  48. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/ListPageHeader.tsx +9 -9
  49. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/RowActions.tsx +57 -31
  50. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/SearchBar.tsx +53 -24
  51. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/SqlModal.tsx +148 -72
  52. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/AgentContext.tsx +190 -16
  53. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/ElementInspector.tsx +914 -63
  54. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/agentAttributes.ts +17 -8
  55. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/index.ts +0 -10
  56. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/inspectorActions.ts +969 -46
  57. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/pagePathUtils.ts +66 -0
  58. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/promptGenerator.ts +85 -25
  59. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/propPatcher.ts +84 -0
  60. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/eventList/index.tsx +16 -20
  61. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/index.ts +4 -4
  62. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logButton/index.tsx +13 -13
  63. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logList/index.tsx +15 -16
  64. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/modalDiffViewer/index.tsx +15 -15
  65. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/index.tsx +2 -2
  66. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/BarChart/index.tsx +896 -0
  67. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/ChartSwitcher/index.tsx +219 -0
  68. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/ChartViewer/index.tsx +159 -0
  69. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/Filter/index.tsx +192 -0
  70. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/LineChart/index.tsx +1034 -0
  71. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumCard/NumCard.module.css +8 -0
  72. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumCard/index.tsx +509 -0
  73. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumLineCard/index.tsx +66 -0
  74. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/PieChart/index.tsx +552 -0
  75. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/RadarChart/index.tsx +263 -0
  76. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/Section/index.tsx +35 -0
  77. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/Table/index.tsx +207 -0
  78. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/TreemapChart/index.tsx +382 -0
  79. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/WorldMap/index.tsx +135 -0
  80. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/chart-constants.ts +53 -0
  81. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/icon/InfoIcon.tsx +8 -0
  82. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/icon/index.ts +1 -0
  83. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/map/config.ts +31 -0
  84. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/map/nameMap.json +9 -0
  85. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/map/world.geo.json +39349 -0
  86. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/metric-info-tooltip/index.tsx +19 -0
  87. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/business/index.tsx +12 -12
  88. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/index.tsx +22 -26
  89. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/custom-avatar.tsx +13 -9
  90. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/index.ts +4 -4
  91. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/header.tsx +22 -37
  92. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/index.ts +4 -4
  93. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/layout.tsx +10 -10
  94. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/logo.tsx +1 -1
  95. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/sider.tsx +113 -65
  96. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/title.tsx +14 -14
  97. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/offLayoutArea/index.tsx +1 -1
  98. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/pagination-total.tsx +2 -2
  99. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/index.ts +1 -1
  100. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/role-tag.tsx +21 -21
  101. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/text.tsx +17 -13
  102. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/http.ts +26 -5
  103. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.tsx +221 -51
  104. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/constants/layout.ts +3 -3
  105. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddDataModal.tsx +199 -0
  106. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddPageModal.tsx +335 -0
  107. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/DeleteDataConfirm.tsx +56 -0
  108. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/DevShell.tsx +401 -0
  109. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/EditDataModal.tsx +129 -0
  110. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/SkillMenu.tsx +202 -0
  111. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/UndoConfirm.tsx +36 -0
  112. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/index.tsx +8 -0
  113. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/style.css +835 -0
  114. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/enums/audit-log.enum.ts +8 -8
  115. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/enums/index.ts +1 -1
  116. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/form.tsx +120 -70
  117. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/get-name-initials.ts +3 -3
  118. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/get-random-color.ts +11 -11
  119. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/http.ts +16 -19
  120. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/index.tsx +1 -1
  121. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/list.tsx +99 -73
  122. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/login.ts +22 -27
  123. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/page-tree.ts +74 -0
  124. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/show.tsx +95 -51
  125. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/utils.tsx +7 -3
  126. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/types.ts +15 -15
  127. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchDelete.ts +10 -10
  128. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchOperations.ts +8 -7
  129. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchOperationsCore.ts +10 -10
  130. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchUpdate.ts +10 -10
  131. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useDynamicResources.tsx +36 -27
  132. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useECharts.tsx +144 -0
  133. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useFetchData.ts +4 -4
  134. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useListPageState.ts +34 -34
  135. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useRoles.ts +8 -4
  136. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useRowSelection.ts +1 -1
  137. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useUserPageAccess.ts +55 -41
  138. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/i18n.ts +8 -8
  139. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/index.tsx +9 -2
  140. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/en/common.json +193 -0
  141. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/zh_CN/common.json +194 -0
  142. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/plugins/devShellPlugin.ts +81 -0
  143. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.tsx +37 -37
  144. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/create.tsx +23 -31
  145. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/edit.tsx +34 -35
  146. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.ts +1 -1
  147. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.tsx +4 -6
  148. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/list.tsx +41 -34
  149. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/show.tsx +33 -20
  150. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasCell.tsx +87 -0
  151. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasEditPage.tsx +192 -0
  152. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasListPage.tsx +409 -0
  153. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasPage.tsx +1372 -0
  154. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasToolbar.tsx +384 -0
  155. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CodeFloatWindow.tsx +476 -0
  156. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/ComponentThumbnail.tsx +135 -0
  157. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/IsolatedLivePreview.tsx +101 -0
  158. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/LivePreview.tsx +236 -0
  159. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/PublishModal.tsx +200 -0
  160. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasApi.ts +92 -0
  161. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasConfigRegistry.tsx +25 -0
  162. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasContextMenuRegistry.tsx +875 -0
  163. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasDefaults.ts +126 -0
  164. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasI18n.ts +11 -0
  165. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/BarChartDataSourceModal.tsx +115 -0
  166. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/ChartViewerConfigModal.tsx +217 -0
  167. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/LineChartDataSourceModal.tsx +153 -0
  168. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/NumCardDataSourceModal.tsx +211 -0
  169. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/PromptModal.tsx +90 -0
  170. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/RadarChartDataSourceModal.tsx +87 -0
  171. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/TableDataSourceModal.tsx +204 -0
  172. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/demos.ts +1153 -0
  173. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/index.tsx +2 -0
  174. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/sectionCompactor.ts +45 -0
  175. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/types.ts +45 -0
  176. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas-page/index.tsx +108 -0
  177. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/create.tsx +105 -0
  178. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/edit.tsx +121 -0
  179. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/index.tsx +4 -0
  180. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/list.tsx +237 -0
  181. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/show.tsx +74 -0
  182. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/AssignRolesModal.tsx +29 -20
  183. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/CreatePageModal.tsx +3 -3
  184. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/EditPageModal.tsx +7 -3
  185. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageDetailDrawer.tsx +58 -23
  186. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageFormModal.tsx +206 -122
  187. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/hooks/usePageManagement.ts +8 -4
  188. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/index.ts +1 -1
  189. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/list.tsx +345 -190
  190. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/types.ts +1 -1
  191. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/permissionReadme/index.tsx +341 -340
  192. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/CreateModal.tsx +2 -2
  193. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/EditModal.tsx +2 -2
  194. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/ResourceDetailDrawer.tsx +41 -24
  195. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/modal.tsx +64 -36
  196. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/index.ts +2 -2
  197. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/list.tsx +78 -40
  198. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/CreateModal.tsx +3 -3
  199. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/EditModal.tsx +4 -4
  200. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/RoleDetailDrawer.tsx +19 -9
  201. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/modal.tsx +45 -47
  202. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/hooks/useRolePage.ts +4 -4
  203. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/index.ts +1 -1
  204. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/list.tsx +121 -147
  205. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/types.ts +1 -1
  206. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/create-modal.tsx +2 -2
  207. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/edit-modal.tsx +2 -2
  208. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/form-modal.tsx +25 -19
  209. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/index.ts +5 -5
  210. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/role-tag.tsx +10 -10
  211. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/show-drawer.tsx +31 -26
  212. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/index.ts +1 -1
  213. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/list.tsx +76 -71
  214. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/setupTests.ts +1 -1
  215. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/audit-log.ts +1 -1
  216. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/index.ts +3 -3
  217. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/role.ts +1 -1
  218. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/types/user.ts +1 -1
  219. package/dist/lib/application/files/gadmin2-game-angle-demo/web/vite.config.ts +42 -25
  220. package/dist/lib/application/files/gadmin2-game-angle-demo/web/yarn.lock +1193 -32
  221. package/package.json +1 -1
  222. package/src/lib/application/application.schema.d.ts +59 -0
  223. package/src/lib/application/files/gadmin2-game-angle-demo/.dockerignore +33 -0
  224. package/src/lib/application/files/gadmin2-game-angle-demo/.gitignore +46 -0
  225. package/src/lib/application/files/gadmin2-game-angle-demo/.husky/_/.gitignore +1 -0
  226. package/src/lib/application/files/gadmin2-game-angle-demo/.husky/_/husky.sh +36 -0
  227. package/src/lib/application/files/gadmin2-game-angle-demo/.husky/pre-commit +10 -0
  228. package/src/lib/application/files/gadmin2-game-angle-demo/Dockerfile +63 -0
  229. package/src/lib/application/files/gadmin2-game-angle-demo/Jenkinsfile +70 -0
  230. package/src/lib/application/files/gadmin2-game-angle-demo/config/.types.d.ts +143 -0
  231. package/src/lib/application/files/gadmin2-game-angle-demo/config/prisma/canvas.prisma +45 -0
  232. package/src/lib/application/files/gadmin2-game-angle-demo/config/prisma/example.prisma +34 -0
  233. package/src/lib/application/files/gadmin2-game-angle-demo/config/prisma/system.prisma +173 -0
  234. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/Audit.ts +70 -0
  235. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/Event.ts +70 -0
  236. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/Game.ts +58 -0
  237. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/ITActivityDay.ts +70 -0
  238. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/Log.ts +56 -0
  239. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/Page.ts +70 -0
  240. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/PageResource.ts +70 -0
  241. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/Resource.ts +70 -0
  242. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/Role.ts +58 -0
  243. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/RolePages.ts +70 -0
  244. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/RoleResource.ts +70 -0
  245. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/SavedQuery.ts +70 -0
  246. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/User.ts +70 -0
  247. package/src/lib/application/files/gadmin2-game-angle-demo/config/ui/_common.ts +16 -0
  248. package/src/lib/application/files/gadmin2-game-angle-demo/readme.md +142 -0
  249. package/src/lib/application/files/gadmin2-game-angle-demo/server/.env +31 -0
  250. package/src/lib/application/files/gadmin2-game-angle-demo/server/.env.local +1 -0
  251. package/src/lib/application/files/gadmin2-game-angle-demo/server/.eslintrc.js +28 -0
  252. package/src/lib/application/files/gadmin2-game-angle-demo/server/.prettierignore +7 -0
  253. package/src/lib/application/files/gadmin2-game-angle-demo/server/.prettierrc +4 -0
  254. package/src/lib/application/files/gadmin2-game-angle-demo/server/README.md +55 -0
  255. package/src/lib/application/files/gadmin2-game-angle-demo/server/config/ac.config.ts +24 -0
  256. package/src/lib/application/files/gadmin2-game-angle-demo/server/config/index.ts +58 -0
  257. package/src/lib/application/files/gadmin2-game-angle-demo/server/gadmin-cli.json +25 -0
  258. package/src/lib/application/files/gadmin2-game-angle-demo/server/migrate-between-pg-schemas.js +1232 -0
  259. package/src/lib/application/files/gadmin2-game-angle-demo/server/package.json +143 -0
  260. package/src/lib/application/files/gadmin2-game-angle-demo/server/prisma/.generator.prisma +34 -0
  261. package/src/lib/application/files/gadmin2-game-angle-demo/server/prisma.config.ts +16 -0
  262. package/src/lib/application/files/gadmin2-game-angle-demo/server/scripts/lib/page-helpers.ts +157 -0
  263. package/src/lib/application/files/gadmin2-game-angle-demo/server/scripts/page-manage.ts +290 -0
  264. package/src/lib/application/files/gadmin2-game-angle-demo/server/scripts/permission-manage.ts +184 -0
  265. package/src/lib/application/files/gadmin2-game-angle-demo/server/scripts/prismaModels.ts +143 -0
  266. package/src/lib/application/files/gadmin2-game-angle-demo/server/scripts/sync-resources.ts +100 -0
  267. package/src/lib/application/files/gadmin2-game-angle-demo/server/scripts/syncDataMngtPages.ts +119 -0
  268. package/src/lib/application/files/gadmin2-game-angle-demo/server/seed/games.ts +1 -0
  269. package/src/lib/application/files/gadmin2-game-angle-demo/server/seed/index.ts +21 -0
  270. package/src/lib/application/files/gadmin2-game-angle-demo/server/seed/permissions.ts +244 -0
  271. package/src/lib/application/files/gadmin2-game-angle-demo/server/seed/users.ts +7 -0
  272. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/alias.config.ts +7 -0
  273. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/app.controller.spec.ts +22 -0
  274. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/app.controller.ts +192 -0
  275. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/app.module.ts +91 -0
  276. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/app.service.ts +189 -0
  277. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/auth.guard.ts +154 -0
  278. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/http-cache.interceptor.ts +21 -0
  279. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/logger.ts +19 -0
  280. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/roles.guard.ts +47 -0
  281. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/safe-log.util.ts +176 -0
  282. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/taihu.ts +175 -0
  283. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/tracing.ts +174 -0
  284. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/trim.pipe.ts +51 -0
  285. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/utils.ts +145 -0
  286. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/lib/woaAuth.ts +95 -0
  287. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/main.ts +132 -0
  288. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.controller.spec.ts +20 -0
  289. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.controller.ts +190 -0
  290. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.module.ts +10 -0
  291. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.service.spec.ts +338 -0
  292. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/audit/audit.service.ts +83 -0
  293. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.controller.spec.ts +20 -0
  294. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.controller.ts +81 -0
  295. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.dto.ts +49 -0
  296. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.module.ts +11 -0
  297. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.service.spec.ts +334 -0
  298. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/canvas/canvas.service.ts +249 -0
  299. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.controller.spec.ts +20 -0
  300. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.controller.ts +188 -0
  301. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.module.ts +10 -0
  302. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.service.spec.ts +18 -0
  303. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/game/game.service.ts +83 -0
  304. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/index.ts +4 -0
  305. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.controller.spec.ts +20 -0
  306. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.controller.ts +250 -0
  307. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.module.ts +10 -0
  308. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.service.spec.ts +18 -0
  309. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/page/page.service.ts +1051 -0
  310. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.controller.spec.ts +20 -0
  311. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.controller.ts +196 -0
  312. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.module.ts +13 -0
  313. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.service.spec.ts +18 -0
  314. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/pageResource/pageResource.service.ts +219 -0
  315. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.controller.spec.ts +20 -0
  316. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.controller.ts +196 -0
  317. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.module.ts +10 -0
  318. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.service.spec.ts +18 -0
  319. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/resource/resource.service.ts +199 -0
  320. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.controller.spec.ts +20 -0
  321. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.controller.ts +210 -0
  322. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.module.ts +12 -0
  323. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.service.spec.ts +18 -0
  324. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/role.service.ts +862 -0
  325. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/role/roles-refresher.service.ts +133 -0
  326. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.controller.spec.ts +20 -0
  327. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.controller.ts +196 -0
  328. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.module.ts +10 -0
  329. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.service.spec.ts +18 -0
  330. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/rolePages/rolePages.service.ts +201 -0
  331. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.controller.spec.ts +20 -0
  332. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.controller.ts +196 -0
  333. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.module.ts +10 -0
  334. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.service.spec.ts +18 -0
  335. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/roleResource/roleResource.service.ts +216 -0
  336. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.controller.spec.ts +20 -0
  337. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.controller.ts +198 -0
  338. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.module.ts +10 -0
  339. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.service.spec.ts +18 -0
  340. package/src/lib/application/files/gadmin2-game-angle-demo/server/src/modules/user/user.service.ts +104 -0
  341. package/src/lib/application/files/gadmin2-game-angle-demo/server/start-prod.sh +130 -0
  342. package/src/lib/application/files/gadmin2-game-angle-demo/server/test/app.e2e-spec.ts +24 -0
  343. package/src/lib/application/files/gadmin2-game-angle-demo/server/test/jest-e2e.json +9 -0
  344. package/src/lib/application/files/gadmin2-game-angle-demo/server/tsconfig.build.json +4 -0
  345. package/src/lib/application/files/gadmin2-game-angle-demo/server/tsconfig.json +36 -0
  346. package/src/lib/application/files/gadmin2-game-angle-demo/server/yarn.lock +7737 -0
  347. package/src/lib/application/files/gadmin2-game-angle-demo/web/.env +2 -0
  348. package/src/lib/application/files/gadmin2-game-angle-demo/web/.eslintrc.json +38 -0
  349. package/src/lib/application/files/gadmin2-game-angle-demo/web/.npmrc +1 -0
  350. package/src/lib/application/files/gadmin2-game-angle-demo/web/.prettierignore +2 -0
  351. package/src/lib/application/files/gadmin2-game-angle-demo/web/.prettierrc +4 -0
  352. package/src/lib/application/files/gadmin2-game-angle-demo/web/README.MD +48 -0
  353. package/src/lib/application/files/gadmin2-game-angle-demo/web/dev-shell-entry.html +49 -0
  354. package/src/lib/application/files/gadmin2-game-angle-demo/web/index.html +19 -0
  355. package/src/lib/application/files/gadmin2-game-angle-demo/web/package.json +92 -0
  356. package/src/lib/application/files/gadmin2-game-angle-demo/web/postcss.config.cjs +6 -0
  357. package/src/lib/application/files/gadmin2-game-angle-demo/web/public/favicon.ico +0 -0
  358. package/src/lib/application/files/gadmin2-game-angle-demo/web/public/images/flags/en.svg +1 -0
  359. package/src/lib/application/files/gadmin2-game-angle-demo/web/public/images/flags/zh_CN.svg +11 -0
  360. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/App.tsx +137 -0
  361. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/auditLogProvider.ts +89 -0
  362. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/authProvider.ts +144 -0
  363. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/BulkActions.tsx +287 -0
  364. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/ListPageHeader.tsx +56 -0
  365. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/RowActions.tsx +318 -0
  366. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/SearchBar.tsx +323 -0
  367. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/SqlModal.tsx +495 -0
  368. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/VanillaJSONEditor/index.css +10 -0
  369. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/VanillaJSONEditor/index.jsx +53 -0
  370. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/AgentContext.tsx +375 -0
  371. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/ElementInspector.tsx +1133 -0
  372. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/agentAttributes.ts +70 -0
  373. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/index.ts +8 -0
  374. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/inspectorActions.ts +1034 -0
  375. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/pagePathUtils.ts +66 -0
  376. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/promptGenerator.ts +135 -0
  377. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/propPatcher.ts +84 -0
  378. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/eventList/index.tsx +58 -0
  379. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/index.ts +4 -0
  380. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logButton/index.tsx +96 -0
  381. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logList/index.tsx +72 -0
  382. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/modalDiffViewer/index.tsx +104 -0
  383. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/index.tsx +2 -0
  384. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/BarChart/index.tsx +896 -0
  385. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/ChartSwitcher/index.tsx +219 -0
  386. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/ChartViewer/index.tsx +159 -0
  387. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/Filter/index.tsx +192 -0
  388. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/LineChart/index.tsx +1034 -0
  389. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumCard/NumCard.module.css +8 -0
  390. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumCard/index.tsx +509 -0
  391. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumLineCard/index.tsx +66 -0
  392. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/PieChart/index.tsx +552 -0
  393. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/RadarChart/index.tsx +263 -0
  394. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/Section/index.tsx +35 -0
  395. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/Table/index.tsx +207 -0
  396. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/TreemapChart/index.tsx +382 -0
  397. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/WorldMap/index.tsx +135 -0
  398. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/chart-constants.ts +53 -0
  399. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/icon/InfoIcon.tsx +8 -0
  400. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/icon/index.ts +1 -0
  401. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/map/config.ts +31 -0
  402. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/map/nameMap.json +9 -0
  403. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/map/world.geo.json +39349 -0
  404. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/metric-info-tooltip/index.tsx +19 -0
  405. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/business/index.tsx +65 -0
  406. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/index.tsx +54 -0
  407. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/custom-avatar.tsx +42 -0
  408. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/index.ts +8 -0
  409. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/header.tsx +106 -0
  410. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/index.ts +4 -0
  411. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/layout.tsx +32 -0
  412. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/logo.tsx +19 -0
  413. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/sider.tsx +431 -0
  414. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/title.tsx +61 -0
  415. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/offLayoutArea/index.tsx +5 -0
  416. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/pagination-total.tsx +21 -0
  417. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/index.ts +1 -0
  418. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/tags/role-tag.tsx +44 -0
  419. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/components/text.tsx +78 -0
  420. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/config/http.ts +49 -0
  421. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.tsx +428 -0
  422. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/constants/layout.ts +16 -0
  423. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddDataModal.tsx +199 -0
  424. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddPageModal.tsx +335 -0
  425. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/DeleteDataConfirm.tsx +56 -0
  426. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/DevShell.tsx +401 -0
  427. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/EditDataModal.tsx +129 -0
  428. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/SkillMenu.tsx +202 -0
  429. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/UndoConfirm.tsx +36 -0
  430. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/index.tsx +8 -0
  431. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/style.css +835 -0
  432. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/enums/audit-log.enum.ts +13 -0
  433. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/enums/index.ts +1 -0
  434. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/form.tsx +471 -0
  435. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/get-name-initials.ts +8 -0
  436. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/get-random-color.ts +27 -0
  437. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/http.ts +84 -0
  438. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/index.tsx +8 -0
  439. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/list.tsx +491 -0
  440. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/login.ts +82 -0
  441. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/page-tree.ts +74 -0
  442. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/show.tsx +226 -0
  443. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/utils.tsx +9 -0
  444. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/index.ts +7 -0
  445. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/types.ts +138 -0
  446. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchDelete.ts +191 -0
  447. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchOperations.ts +153 -0
  448. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchOperationsCore.ts +193 -0
  449. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useBatchUpdate.ts +182 -0
  450. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useDynamicResources.tsx +220 -0
  451. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useECharts.tsx +144 -0
  452. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useFetchData.ts +33 -0
  453. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useListPageState.ts +303 -0
  454. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useRoles.ts +34 -0
  455. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useRowSelection.ts +38 -0
  456. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useUserPageAccess.ts +353 -0
  457. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/i18n.ts +23 -0
  458. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/index.tsx +27 -0
  459. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/locales/en/common.json +321 -0
  460. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/locales/zh_CN/common.json +324 -0
  461. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/meta.json +4 -0
  462. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/plugins/devShellPlugin.ts +81 -0
  463. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.css +3 -0
  464. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.tsx +134 -0
  465. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/create.tsx +105 -0
  466. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/edit.tsx +121 -0
  467. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.ts +8 -0
  468. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/index.tsx +4 -0
  469. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/list.tsx +220 -0
  470. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/show.tsx +74 -0
  471. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasCell.tsx +87 -0
  472. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasEditPage.tsx +192 -0
  473. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasListPage.tsx +409 -0
  474. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasPage.tsx +1372 -0
  475. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasToolbar.tsx +384 -0
  476. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CodeFloatWindow.tsx +476 -0
  477. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/ComponentThumbnail.tsx +137 -0
  478. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/IsolatedLivePreview.tsx +101 -0
  479. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/LivePreview.tsx +236 -0
  480. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/PublishModal.tsx +200 -0
  481. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasApi.ts +92 -0
  482. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasConfigRegistry.tsx +25 -0
  483. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasContextMenuRegistry.tsx +875 -0
  484. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasDefaults.ts +126 -0
  485. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasI18n.ts +11 -0
  486. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/BarChartDataSourceModal.tsx +115 -0
  487. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/ChartViewerConfigModal.tsx +217 -0
  488. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/LineChartDataSourceModal.tsx +153 -0
  489. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/NumCardDataSourceModal.tsx +211 -0
  490. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/PromptModal.tsx +90 -0
  491. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/RadarChartDataSourceModal.tsx +87 -0
  492. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/TableDataSourceModal.tsx +204 -0
  493. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/demos.ts +1153 -0
  494. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/index.tsx +2 -0
  495. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/sectionCompactor.ts +45 -0
  496. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/types.ts +45 -0
  497. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas-page/index.tsx +108 -0
  498. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/create.tsx +105 -0
  499. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/edit.tsx +121 -0
  500. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/index.tsx +4 -0
  501. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/list.tsx +237 -0
  502. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/show.tsx +74 -0
  503. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/AssignRolesModal.tsx +177 -0
  504. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/CreatePageModal.tsx +42 -0
  505. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/EditPageModal.tsx +46 -0
  506. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageDetailDrawer.tsx +136 -0
  507. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/PageFormModal.tsx +815 -0
  508. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/hooks/usePageManagement.ts +40 -0
  509. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/index.ts +1 -0
  510. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/list.tsx +1370 -0
  511. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/queries.ts +17 -0
  512. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/types.ts +45 -0
  513. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/permissionReadme/index.tsx +1090 -0
  514. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/CreateModal.tsx +25 -0
  515. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/EditModal.tsx +28 -0
  516. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/ResourceDetailDrawer.tsx +177 -0
  517. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/modal.tsx +230 -0
  518. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/index.ts +2 -0
  519. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/list.tsx +250 -0
  520. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/queries.ts +10 -0
  521. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/types.ts +9 -0
  522. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/CreateModal.tsx +30 -0
  523. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/EditModal.tsx +47 -0
  524. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/RoleDetailDrawer.tsx +66 -0
  525. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/modal.tsx +300 -0
  526. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/hooks/useRolePage.ts +35 -0
  527. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/index.ts +1 -0
  528. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/list.tsx +405 -0
  529. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/queries.ts +8 -0
  530. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/types.ts +8 -0
  531. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/create-modal.tsx +17 -0
  532. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/edit-modal.tsx +19 -0
  533. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/form-modal.tsx +194 -0
  534. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/index.ts +5 -0
  535. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/role-tag.tsx +48 -0
  536. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/show-drawer.tsx +145 -0
  537. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/index.ts +1 -0
  538. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/list.tsx +377 -0
  539. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/queries.ts +14 -0
  540. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/setupTests.ts +5 -0
  541. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd.css +132 -0
  542. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/styles/fc.css +58 -0
  543. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/styles/index.css +128 -0
  544. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-drawer.module.css +18 -0
  545. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-page.module.css +21 -0
  546. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/types/audit-log.ts +1 -0
  547. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/types/index.ts +3 -0
  548. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/types/role.ts +7 -0
  549. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/types/user.ts +1 -0
  550. package/src/lib/application/files/gadmin2-game-angle-demo/web/src/vite-env.d.ts +13 -0
  551. package/src/lib/application/files/gadmin2-game-angle-demo/web/tsconfig.json +28 -0
  552. package/src/lib/application/files/gadmin2-game-angle-demo/web/vite.config.ts +48 -0
  553. package/src/lib/application/files/gadmin2-game-angle-demo/web/yarn.lock +9482 -0
  554. package/src/lib/class/class.schema.d.ts +32 -0
  555. package/src/lib/class/files/js/__name__.js +1 -0
  556. package/src/lib/class/files/js/__name__.spec.js +7 -0
  557. package/src/lib/class/files/ts/__name__.spec.ts +7 -0
  558. package/src/lib/class/files/ts/__name__.ts +1 -0
  559. package/src/lib/client-app/angular/angular.schema.d.ts +32 -0
  560. package/src/lib/client-app/angular/files/angular.constants.ts +4 -0
  561. package/src/lib/client-app/angular/files/angular.module.ts +41 -0
  562. package/src/lib/client-app/angular/files/angular.providers.ts +27 -0
  563. package/src/lib/client-app/angular/files/angular.utils.ts +19 -0
  564. package/src/lib/client-app/angular/files/interfaces/angular-options.interface.ts +87 -0
  565. package/src/lib/client-app/angular/files/loaders/abstract.loader.ts +16 -0
  566. package/src/lib/client-app/angular/files/loaders/express.loader.ts +25 -0
  567. package/src/lib/client-app/angular/files/loaders/fastify.loader.ts +34 -0
  568. package/src/lib/client-app/angular/files/loaders/noop.loader.ts +12 -0
  569. package/src/lib/configuration/configuration.schema.d.ts +18 -0
  570. package/src/lib/configuration/files/js/nest-cli.json +6 -0
  571. package/src/lib/configuration/files/ts/nest-cli.json +5 -0
  572. package/src/lib/controller/controller.schema.d.ts +45 -0
  573. package/src/lib/controller/files/js/__name__.controller.js +4 -0
  574. package/src/lib/controller/files/js/__name__.controller.spec.js +18 -0
  575. package/src/lib/controller/files/ts/__name__.controller.spec.ts +18 -0
  576. package/src/lib/controller/files/ts/__name__.controller.ts +137 -0
  577. package/src/lib/decorator/decorator.schema.d.ts +24 -0
  578. package/src/lib/decorator/files/js/__name__.decorator.js +3 -0
  579. package/src/lib/decorator/files/ts/__name__.decorator.ts +3 -0
  580. package/src/lib/filter/files/js/__name__.filter.js +6 -0
  581. package/src/lib/filter/files/js/__name__.filter.spec.js +7 -0
  582. package/src/lib/filter/files/ts/__name__.filter.spec.ts +7 -0
  583. package/src/lib/filter/files/ts/__name__.filter.ts +6 -0
  584. package/src/lib/filter/filter.schema.d.ts +28 -0
  585. package/src/lib/gateway/files/js/__name__.gateway.js +9 -0
  586. package/src/lib/gateway/files/js/__name__.gateway.spec.js +18 -0
  587. package/src/lib/gateway/files/ts/__name__.gateway.spec.ts +18 -0
  588. package/src/lib/gateway/files/ts/__name__.gateway.ts +9 -0
  589. package/src/lib/gateway/gateway.schema.d.ts +36 -0
  590. package/src/lib/guard/files/js/__name__.guard.js +8 -0
  591. package/src/lib/guard/files/js/__name__.guard.spec.js +7 -0
  592. package/src/lib/guard/files/ts/__name__.guard.spec.ts +7 -0
  593. package/src/lib/guard/files/ts/__name__.guard.ts +11 -0
  594. package/src/lib/guard/guard.schema.d.ts +28 -0
  595. package/src/lib/interceptor/files/js/__name__.interceptor.js +8 -0
  596. package/src/lib/interceptor/files/js/__name__.interceptor.spec.js +7 -0
  597. package/src/lib/interceptor/files/ts/default/__name__.interceptor.spec.ts +7 -0
  598. package/src/lib/interceptor/files/ts/default/__name__.interceptor.ts +9 -0
  599. package/src/lib/interceptor/files/ts/generated/__name__.interceptor.spec.ts +7 -0
  600. package/src/lib/interceptor/files/ts/generated/__name__.interceptor.ts +13 -0
  601. package/src/lib/interceptor/interceptor.schema.d.ts +35 -0
  602. package/src/lib/interface/files/__name__.interface.ts +1 -0
  603. package/src/lib/interface/interface.schema.d.ts +20 -0
  604. package/src/lib/library/files/js/.babelrc +4 -0
  605. package/src/lib/library/files/js/jsconfig.json +9 -0
  606. package/src/lib/library/files/js/src/__name__.module.js +8 -0
  607. package/src/lib/library/files/js/src/__name__.service.js +4 -0
  608. package/src/lib/library/files/js/src/__name__.service.spec.js +18 -0
  609. package/src/lib/library/files/js/src/index.js +2 -0
  610. package/src/lib/library/files/ts/src/__name__.module.ts +8 -0
  611. package/src/lib/library/files/ts/src/__name__.service.spec.ts +18 -0
  612. package/src/lib/library/files/ts/src/__name__.service.ts +4 -0
  613. package/src/lib/library/files/ts/src/index.ts +2 -0
  614. package/src/lib/library/files/ts/tsconfig.lib.json +9 -0
  615. package/src/lib/library/library.schema.d.ts +24 -0
  616. package/src/lib/middleware/files/js/__name__.middleware.js +8 -0
  617. package/src/lib/middleware/files/js/__name__.middleware.spec.js +7 -0
  618. package/src/lib/middleware/files/ts/__name__.middleware.spec.ts +7 -0
  619. package/src/lib/middleware/files/ts/__name__.middleware.ts +8 -0
  620. package/src/lib/middleware/middleware.schema.d.ts +28 -0
  621. package/src/lib/module/files/js/__name__.module.js +4 -0
  622. package/src/lib/module/files/ts/__name__.module.ts +4 -0
  623. package/src/lib/module/module.schema.d.ts +40 -0
  624. package/src/lib/pipe/files/js/__name__.pipe.js +8 -0
  625. package/src/lib/pipe/files/js/__name__.pipe.spec.js +7 -0
  626. package/src/lib/pipe/files/ts/__name__.pipe.spec.ts +7 -0
  627. package/src/lib/pipe/files/ts/__name__.pipe.ts +8 -0
  628. package/src/lib/pipe/pipe.schema.d.ts +28 -0
  629. package/src/lib/prisma-resource/files/ts/__name__.controller.spec.ts +20 -0
  630. package/src/lib/prisma-resource/files/ts/__name__.controller.ts +63 -0
  631. package/src/lib/prisma-resource/files/ts/__name__.module.ts +9 -0
  632. package/src/lib/prisma-resource/files/ts/__name__.service.spec.ts +18 -0
  633. package/src/lib/prisma-resource/files/ts/__name__.service.ts +28 -0
  634. package/src/lib/prisma-resource/files/ts/dto/create-__name@singular__.dto.ts +1 -0
  635. package/src/lib/prisma-resource/files/ts/dto/create-__name@singular__.input.ts +7 -0
  636. package/src/lib/prisma-resource/files/ts/dto/update-__name@singular__.dto.ts +6 -0
  637. package/src/lib/prisma-resource/files/ts/dto/update-__name@singular__.input.ts +13 -0
  638. package/src/lib/prisma-resource/files/ts/entities/__name@singular@ent__.ts +7 -0
  639. package/src/lib/prisma-resource/prisma-resource.schema.d.ts +57 -0
  640. package/src/lib/provider/files/js/__name__.js +4 -0
  641. package/src/lib/provider/files/js/__name__.spec.js +18 -0
  642. package/src/lib/provider/files/ts/__name__.spec.ts +18 -0
  643. package/src/lib/provider/files/ts/__name__.ts +4 -0
  644. package/src/lib/provider/provider.schema.d.ts +48 -0
  645. package/src/lib/resolver/files/js/__name__.resolver.js +4 -0
  646. package/src/lib/resolver/files/js/__name__.resolver.spec.js +18 -0
  647. package/src/lib/resolver/files/ts/__name__.resolver.spec.ts +18 -0
  648. package/src/lib/resolver/files/ts/__name__.resolver.ts +4 -0
  649. package/src/lib/resolver/resolver.schema.d.ts +36 -0
  650. package/src/lib/resource/files/ts/__name__.controller.spec.ts +20 -0
  651. package/src/lib/resource/files/ts/__name__.controller.ts +63 -0
  652. package/src/lib/resource/files/ts/__name__.gateway.spec.ts +19 -0
  653. package/src/lib/resource/files/ts/__name__.gateway.ts +34 -0
  654. package/src/lib/resource/files/ts/__name__.graphql +24 -0
  655. package/src/lib/resource/files/ts/__name__.module.ts +9 -0
  656. package/src/lib/resource/files/ts/__name__.resolver.spec.ts +19 -0
  657. package/src/lib/resource/files/ts/__name__.resolver.ts +60 -0
  658. package/src/lib/resource/files/ts/__name__.service.spec.ts +18 -0
  659. package/src/lib/resource/files/ts/__name__.service.ts +28 -0
  660. package/src/lib/resource/files/ts/dto/create-__name@singular__.dto.ts +1 -0
  661. package/src/lib/resource/files/ts/dto/create-__name@singular__.input.ts +7 -0
  662. package/src/lib/resource/files/ts/dto/update-__name@singular__.dto.ts +6 -0
  663. package/src/lib/resource/files/ts/dto/update-__name@singular__.input.ts +13 -0
  664. package/src/lib/resource/files/ts/entities/__name@singular@ent__.ts +7 -0
  665. package/src/lib/resource/resource.schema.d.ts +57 -0
  666. package/src/lib/service/files/js/__name__.service.js +4 -0
  667. package/src/lib/service/files/js/__name__.service.spec.js +18 -0
  668. package/src/lib/service/files/ts/__name__.service.spec.ts +18 -0
  669. package/src/lib/service/files/ts/__name__.service.ts +4 -0
  670. package/src/lib/service/service.schema.d.ts +44 -0
  671. package/src/lib/sub-app/files/js/.babelrc +4 -0
  672. package/src/lib/sub-app/files/js/index.js +2 -0
  673. package/src/lib/sub-app/files/js/jsconfig.json +10 -0
  674. package/src/lib/sub-app/files/js/src/app.controller.js +15 -0
  675. package/src/lib/sub-app/files/js/src/app.controller.spec.js +22 -0
  676. package/src/lib/sub-app/files/js/src/app.module.js +10 -0
  677. package/src/lib/sub-app/files/js/src/app.service.js +8 -0
  678. package/src/lib/sub-app/files/js/src/main.js +8 -0
  679. package/src/lib/sub-app/files/js/test/app.e2e-spec.js +23 -0
  680. package/src/lib/sub-app/files/js/test/jest-e2e.json +5 -0
  681. package/src/lib/sub-app/files/ts/src/__name__.controller.spec.ts +22 -0
  682. package/src/lib/sub-app/files/ts/src/__name__.controller.ts +12 -0
  683. package/src/lib/sub-app/files/ts/src/__name__.module.ts +10 -0
  684. package/src/lib/sub-app/files/ts/src/__name__.service.ts +8 -0
  685. package/src/lib/sub-app/files/ts/src/main.ts +8 -0
  686. package/src/lib/sub-app/files/ts/test/app.e2e-spec.ts +24 -0
  687. package/src/lib/sub-app/files/ts/test/jest-e2e.json +9 -0
  688. package/src/lib/sub-app/files/ts/tsconfig.app.json +9 -0
  689. package/src/lib/sub-app/sub-app.schema.d.ts +21 -0
  690. package/src/lib/sub-app/workspace/js/.babelrc +4 -0
  691. package/src/lib/sub-app/workspace/js/index.js +2 -0
  692. package/src/lib/sub-app/workspace/js/jsconfig.json +10 -0
  693. package/src/lib/sub-app/workspace/ts/tsconfig.app.json +9 -0
  694. package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/seedDataMngtPages.ts +0 -258
  695. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/AgentPanel.tsx +0 -497
  696. package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/skills.ts +0 -464
@@ -1,7 +1,11 @@
1
- import React, { useEffect, useMemo, useState } from "react";
2
- import type { PageMenuTreeNode, PageResourceAssignment, ResourceDefinition } from "../types";
3
- import { useModalForm } from "@refinedev/antd";
4
- import { type HttpError, type RedirectAction } from "@refinedev/core";
1
+ import React, { useEffect, useMemo, useState } from 'react';
2
+ import type {
3
+ PageMenuTreeNode,
4
+ PageResourceAssignment,
5
+ ResourceDefinition,
6
+ } from '../types';
7
+ import { useModalForm } from '@refinedev/antd';
8
+ import { type HttpError, type RedirectAction } from '@refinedev/core';
5
9
  import {
6
10
  Form,
7
11
  Input,
@@ -14,9 +18,9 @@ import {
14
18
  Checkbox,
15
19
  Table,
16
20
  Divider,
17
- } from "antd";
18
- import type { TransferProps } from "antd";
19
- import { PageFieldSelector } from "../queries";
21
+ } from 'antd';
22
+ import type { TransferProps } from 'antd';
23
+ import { PageFieldSelector } from '../queries';
20
24
 
21
25
  type PageFormFieldValues = {
22
26
  name?: string;
@@ -33,12 +37,17 @@ type PageFormFieldValues = {
33
37
  resourcePermissionAssignments?: Record<number, string[]>;
34
38
  };
35
39
 
36
- const AVAILABLE_PERMISSION_ACTIONS = ["readAny", "createAny", "updateAny", "deleteAny"];
40
+ const AVAILABLE_PERMISSION_ACTIONS = [
41
+ 'readAny',
42
+ 'createAny',
43
+ 'updateAny',
44
+ 'deleteAny',
45
+ ];
37
46
 
38
47
  const SPECIAL_CHARACTER_VALIDATION_PATTERN = /[^\u4e00-\u9fa5a-zA-Z0-9\s\-_/]/;
39
48
 
40
49
  interface PageFormModalProps {
41
- formActionType: "create" | "edit";
50
+ formActionType: 'create' | 'edit';
42
51
  editingPageId?: number;
43
52
  redirectAfterSubmit?: RedirectAction;
44
53
  onFormSubmitSuccess?: () => void;
@@ -57,7 +66,7 @@ const buildPageTreeNodeLookupMap = (
57
66
  const nodeLookupMap = new Map<string, PageMenuTreeNode>();
58
67
 
59
68
  const traverseAndAddToMap = (nodes?: PageMenuTreeNode[]) => {
60
- nodes?.forEach(node => {
69
+ nodes?.forEach((node) => {
61
70
  nodeLookupMap.set(String(node.value), node);
62
71
  if (node.children?.length) {
63
72
  traverseAndAddToMap(node.children);
@@ -80,14 +89,14 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
80
89
  currentResourceAssignments = [],
81
90
  allPagesData = [],
82
91
  defaultParentId,
83
- defaultPathPrefix = "",
92
+ defaultPathPrefix = '',
84
93
  }) => {
85
94
  const { formProps, modalProps, onFinish, close } = useModalForm<
86
95
  any,
87
96
  HttpError,
88
97
  PageFormFieldValues
89
98
  >({
90
- resource: "page",
99
+ resource: 'page',
91
100
  action: formActionType,
92
101
  id: editingPageId,
93
102
  defaultVisible: true,
@@ -101,37 +110,44 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
101
110
  });
102
111
 
103
112
  // Watch form values for conditional field visibility
104
- const isVirtual = Form.useWatch("isVirtual", formProps.form);
105
- const iframeUrl = Form.useWatch("iframeUrl", formProps.form);
106
- const externalRedirectUrl = Form.useWatch("externalRedirectUrl", formProps.form);
113
+ const isVirtual = Form.useWatch('isVirtual', formProps.form);
114
+ const iframeUrl = Form.useWatch('iframeUrl', formProps.form);
115
+ const externalRedirectUrl = Form.useWatch(
116
+ 'externalRedirectUrl',
117
+ formProps.form,
118
+ );
107
119
  const hasExternalUrl = !!(
108
120
  (iframeUrl && /^(https?:\/\/|\/\w)/.test(iframeUrl.trim())) ||
109
121
  (externalRedirectUrl && /^https?:\/\//.test(externalRedirectUrl.trim()))
110
122
  );
111
123
 
112
124
  const [selectedResourceIds, setSelectedResourceIds] = useState<string[]>([]);
113
- const [resourcePermissionMap, setResourcePermissionMap] = useState<Record<number, string[]>>({});
114
- const [permissionValidationError, setPermissionValidationError] = useState<string>("");
125
+ const [resourcePermissionMap, setResourcePermissionMap] = useState<
126
+ Record<number, string[]>
127
+ >({});
128
+ const [permissionValidationError, setPermissionValidationError] =
129
+ useState<string>('');
115
130
  const [initialResourceAssignments, setInitialResourceAssignments] = useState<{
116
131
  resourceIds: string[];
117
132
  permissionMap: Record<number, string[]>;
118
133
  }>({ resourceIds: [], permissionMap: {} });
119
- const [initialFormValues, setInitialFormValues] = useState<PageFormFieldValues>({});
134
+ const [initialFormValues, setInitialFormValues] =
135
+ useState<PageFormFieldValues>({});
120
136
  const [isCodeManuallyEdited, setIsCodeManuallyEdited] = useState(false);
121
137
  const [isPathManuallyEdited, setIsPathManuallyEdited] = useState(false);
122
138
 
123
139
  // Set default values for create mode with parent
124
140
  useEffect(() => {
125
- if (formActionType === "create" && formProps.form) {
141
+ if (formActionType === 'create' && formProps.form) {
126
142
  const initialValues: Partial<PageFormFieldValues> = {};
127
-
143
+
128
144
  if (defaultParentId) {
129
145
  initialValues.parentId = defaultParentId;
130
146
  }
131
147
  if (defaultPathPrefix) {
132
148
  initialValues.path = defaultPathPrefix;
133
149
  }
134
-
150
+
135
151
  if (Object.keys(initialValues).length > 0) {
136
152
  formProps.form.setFieldsValue(initialValues);
137
153
  }
@@ -139,15 +155,17 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
139
155
  }, [formActionType, defaultParentId, defaultPathPrefix, formProps.form]);
140
156
 
141
157
  useEffect(() => {
142
- if (formActionType === "edit" && currentResourceAssignments.length > 0) {
143
- const initialSelectedIds = currentResourceAssignments.map(assignment =>
158
+ if (formActionType === 'edit' && currentResourceAssignments.length > 0) {
159
+ const initialSelectedIds = currentResourceAssignments.map((assignment) =>
144
160
  String(assignment.resourceId),
145
161
  );
146
162
  setSelectedResourceIds(initialSelectedIds);
147
163
 
148
164
  const initialPermissionMap: Record<number, string[]> = {};
149
- currentResourceAssignments.forEach(assignment => {
150
- initialPermissionMap[assignment.resourceId] = [...assignment.assignedPermissions];
165
+ currentResourceAssignments.forEach((assignment) => {
166
+ initialPermissionMap[assignment.resourceId] = [
167
+ ...assignment.assignedPermissions,
168
+ ];
151
169
  });
152
170
  setResourcePermissionMap(initialPermissionMap);
153
171
 
@@ -161,7 +179,7 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
161
179
 
162
180
  // Store initial form values when form is loaded in edit mode
163
181
  useEffect(() => {
164
- if (formActionType === "edit" && formProps.form) {
182
+ if (formActionType === 'edit' && formProps.form) {
165
183
  const currentValues = formProps.form.getFieldsValue();
166
184
  setInitialFormValues({
167
185
  name: currentValues.name,
@@ -179,26 +197,28 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
179
197
  }, [formActionType, formProps.form, formProps.initialValues]);
180
198
 
181
199
  const resourceTransferDataSource = useMemo(() => {
182
- return allAvailableResources.map(resource => ({
200
+ return allAvailableResources.map((resource) => ({
183
201
  key: String(resource.id),
184
202
  title: resource.name,
185
- description: resource.description || "",
203
+ description: resource.description || '',
186
204
  }));
187
205
  }, [allAvailableResources]);
188
206
 
189
- const handleResourceTransferChange: TransferProps["onChange"] = newTargetKeys => {
207
+ const handleResourceTransferChange: TransferProps['onChange'] = (
208
+ newTargetKeys,
209
+ ) => {
190
210
  setSelectedResourceIds(newTargetKeys as string[]);
191
211
 
192
- const newResourceIds = new Set(newTargetKeys.map(key => Number(key)));
193
- setResourcePermissionMap(prevMap => {
212
+ const newResourceIds = new Set(newTargetKeys.map((key) => Number(key)));
213
+ setResourcePermissionMap((prevMap) => {
194
214
  const updatedMap: Record<number, string[]> = {};
195
- Object.keys(prevMap).forEach(resourceIdStr => {
215
+ Object.keys(prevMap).forEach((resourceIdStr) => {
196
216
  const resourceId = Number(resourceIdStr);
197
217
  if (newResourceIds.has(resourceId)) {
198
218
  updatedMap[resourceId] = prevMap[resourceId];
199
219
  }
200
220
  });
201
- newTargetKeys.forEach(key => {
221
+ newTargetKeys.forEach((key) => {
202
222
  const resourceId = Number(key);
203
223
  if (!updatedMap[resourceId]) {
204
224
  updatedMap[resourceId] = []; // Initialize with empty array, user must select at least one permission
@@ -209,7 +229,7 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
209
229
 
210
230
  // Clear validation error when user changes resource selection
211
231
  if (permissionValidationError) {
212
- setPermissionValidationError("");
232
+ setPermissionValidationError('');
213
233
  }
214
234
  };
215
235
 
@@ -218,14 +238,16 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
218
238
  permissionAction: string,
219
239
  isChecked: boolean,
220
240
  ) => {
221
- setResourcePermissionMap(prevMap => {
241
+ setResourcePermissionMap((prevMap) => {
222
242
  const currentPermissions = prevMap[resourceId] || [];
223
243
  let updatedPermissions: string[];
224
244
 
225
245
  if (isChecked) {
226
246
  updatedPermissions = [...currentPermissions, permissionAction];
227
247
  } else {
228
- updatedPermissions = currentPermissions.filter(action => action !== permissionAction);
248
+ updatedPermissions = currentPermissions.filter(
249
+ (action) => action !== permissionAction,
250
+ );
229
251
  }
230
252
 
231
253
  return {
@@ -236,28 +258,32 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
236
258
 
237
259
  // Clear validation error when user makes changes
238
260
  if (permissionValidationError) {
239
- setPermissionValidationError("");
261
+ setPermissionValidationError('');
240
262
  }
241
263
  };
242
264
 
243
265
  const filteredParentPageTreeOptions = useMemo(() => {
244
- if (formActionType !== "edit" || !editingPageId || !parentPageTreeOptions) {
266
+ if (formActionType !== 'edit' || !editingPageId || !parentPageTreeOptions) {
245
267
  return parentPageTreeOptions;
246
268
  }
247
269
 
248
- const filterOutCurrentPage = (nodes: PageMenuTreeNode[]): PageMenuTreeNode[] => {
270
+ const filterOutCurrentPage = (
271
+ nodes: PageMenuTreeNode[],
272
+ ): PageMenuTreeNode[] => {
249
273
  return nodes
250
- .filter(node => String(node.value) !== String(editingPageId))
251
- .map(node => ({
274
+ .filter((node) => String(node.value) !== String(editingPageId))
275
+ .map((node) => ({
252
276
  ...node,
253
- children: node.children ? filterOutCurrentPage(node.children) : undefined,
277
+ children: node.children
278
+ ? filterOutCurrentPage(node.children)
279
+ : undefined,
254
280
  }));
255
281
  };
256
282
 
257
283
  return filterOutCurrentPage(parentPageTreeOptions);
258
284
  }, [parentPageTreeOptions, formActionType, editingPageId]);
259
285
 
260
- formProps.onFinish = values => {
286
+ formProps.onFinish = (values) => {
261
287
  // Clear path when external URL is configured (iframe or redirect)
262
288
  if (!hasExternalUrl) {
263
289
  values.path = null;
@@ -265,24 +291,26 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
265
291
 
266
292
  // Validate that each selected resource has at least one permission
267
293
  const resourcesWithoutPermissions: string[] = [];
268
- selectedResourceIds.forEach(resourceIdStr => {
294
+ selectedResourceIds.forEach((resourceIdStr) => {
269
295
  const resourceId = Number(resourceIdStr);
270
296
  const permissions = resourcePermissionMap[resourceId] || [];
271
297
  if (permissions.length === 0) {
272
- const resource = allAvailableResources.find(r => r.id === resourceId);
273
- resourcesWithoutPermissions.push(resource?.name || `Resource ${resourceId}`);
298
+ const resource = allAvailableResources.find((r) => r.id === resourceId);
299
+ resourcesWithoutPermissions.push(
300
+ resource?.name || `Resource ${resourceId}`,
301
+ );
274
302
  }
275
303
  });
276
304
 
277
305
  if (resourcesWithoutPermissions.length > 0) {
278
306
  setPermissionValidationError(
279
- `The following resources must have at least one permission selected: ${resourcesWithoutPermissions.join(", ")}`,
307
+ `The following resources must have at least one permission selected: ${resourcesWithoutPermissions.join(', ')}`,
280
308
  );
281
309
  return;
282
310
  }
283
311
 
284
312
  // In edit mode, check if anything has changed
285
- if (formActionType === "edit") {
313
+ if (formActionType === 'edit') {
286
314
  // Check if form fields have changed
287
315
  const formFieldsChanged =
288
316
  values.name !== initialFormValues.name ||
@@ -298,8 +326,11 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
298
326
 
299
327
  // Check if resource assignments have changed
300
328
  const resourceIdsChanged =
301
- selectedResourceIds.length !== initialResourceAssignments.resourceIds.length ||
302
- selectedResourceIds.some(id => !initialResourceAssignments.resourceIds.includes(id));
329
+ selectedResourceIds.length !==
330
+ initialResourceAssignments.resourceIds.length ||
331
+ selectedResourceIds.some(
332
+ (id) => !initialResourceAssignments.resourceIds.includes(id),
333
+ );
303
334
 
304
335
  let permissionsChanged = false;
305
336
  if (!resourceIdsChanged) {
@@ -307,11 +338,12 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
307
338
  for (const resourceIdStr of selectedResourceIds) {
308
339
  const resourceId = Number(resourceIdStr);
309
340
  const currentPermissions = resourcePermissionMap[resourceId] || [];
310
- const initialPermissions = initialResourceAssignments.permissionMap[resourceId] || [];
341
+ const initialPermissions =
342
+ initialResourceAssignments.permissionMap[resourceId] || [];
311
343
 
312
344
  if (
313
345
  currentPermissions.length !== initialPermissions.length ||
314
- currentPermissions.some(p => !initialPermissions.includes(p))
346
+ currentPermissions.some((p) => !initialPermissions.includes(p))
315
347
  ) {
316
348
  permissionsChanged = true;
317
349
  break;
@@ -322,9 +354,9 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
322
354
  // If nothing has changed, don't submit
323
355
  if (!formFieldsChanged && !resourceIdsChanged && !permissionsChanged) {
324
356
  Modal.info({
325
- title: "No Changes Detected",
357
+ title: 'No Changes Detected',
326
358
  content:
327
- "No changes have been made to the form. The form will be closed without submitting.",
359
+ 'No changes have been made to the form. The form will be closed without submitting.',
328
360
  });
329
361
  close();
330
362
  return;
@@ -338,28 +370,36 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
338
370
 
339
371
  // Only include resourceAssignments if they changed
340
372
  if (resourceIdsChanged || permissionsChanged) {
341
- formattedValuesForSubmit.resourceAssignments = selectedResourceIds.map(resourceIdStr => {
373
+ formattedValuesForSubmit.resourceAssignments = selectedResourceIds.map(
374
+ (resourceIdStr) => {
375
+ const resourceId = Number(resourceIdStr);
376
+ const resource = allAvailableResources.find(
377
+ (r) => r.id === resourceId,
378
+ );
379
+ return {
380
+ resourceId,
381
+ resourceName: resource?.name || '',
382
+ assignedPermissions: resourcePermissionMap[resourceId] || [],
383
+ };
384
+ },
385
+ );
386
+ }
387
+ onFinish(formattedValuesForSubmit);
388
+ } else {
389
+ // In create mode, always submit all data
390
+ const resourceAssignmentsForSubmit = selectedResourceIds.map(
391
+ (resourceIdStr) => {
342
392
  const resourceId = Number(resourceIdStr);
343
- const resource = allAvailableResources.find(r => r.id === resourceId);
393
+ const resource = allAvailableResources.find(
394
+ (r) => r.id === resourceId,
395
+ );
344
396
  return {
345
397
  resourceId,
346
- resourceName: resource?.name || "",
398
+ resourceName: resource?.name || '',
347
399
  assignedPermissions: resourcePermissionMap[resourceId] || [],
348
400
  };
349
- });
350
- }
351
- onFinish(formattedValuesForSubmit);
352
- } else {
353
- // In create mode, always submit all data
354
- const resourceAssignmentsForSubmit = selectedResourceIds.map(resourceIdStr => {
355
- const resourceId = Number(resourceIdStr);
356
- const resource = allAvailableResources.find(r => r.id === resourceId);
357
- return {
358
- resourceId,
359
- resourceName: resource?.name || "",
360
- assignedPermissions: resourcePermissionMap[resourceId] || [],
361
- };
362
- });
401
+ },
402
+ );
363
403
 
364
404
  const formattedValuesForSubmit = {
365
405
  ...values,
@@ -373,21 +413,26 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
373
413
 
374
414
  const resourcePermissionTableColumns = [
375
415
  {
376
- title: "Resource Name",
377
- dataIndex: "resourceName",
378
- key: "resourceName",
379
- width: "30%",
416
+ title: 'Resource Name',
417
+ dataIndex: 'resourceName',
418
+ key: 'resourceName',
419
+ width: '30%',
380
420
  },
381
421
  {
382
- title: "Permissions",
383
- key: "permissions",
384
- render: (_: any, record: { resourceId: number; resourceName: string }) => (
422
+ title: 'Permissions',
423
+ key: 'permissions',
424
+ render: (
425
+ _: any,
426
+ record: { resourceId: number; resourceName: string },
427
+ ) => (
385
428
  <Space>
386
- {AVAILABLE_PERMISSION_ACTIONS.map(permissionAction => (
429
+ {AVAILABLE_PERMISSION_ACTIONS.map((permissionAction) => (
387
430
  <Checkbox
388
431
  key={`${record.resourceId}-${permissionAction}`}
389
- checked={resourcePermissionMap[record.resourceId]?.includes(permissionAction)}
390
- onChange={e =>
432
+ checked={resourcePermissionMap[record.resourceId]?.includes(
433
+ permissionAction,
434
+ )}
435
+ onChange={(e) =>
391
436
  handleResourcePermissionChange(
392
437
  record.resourceId,
393
438
  permissionAction,
@@ -404,9 +449,9 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
404
449
  ];
405
450
 
406
451
  const selectedResourcesForPermissionTable = useMemo(() => {
407
- return selectedResourceIds.map(resourceIdStr => {
452
+ return selectedResourceIds.map((resourceIdStr) => {
408
453
  const resourceId = Number(resourceIdStr);
409
- const resource = allAvailableResources.find(r => r.id === resourceId);
454
+ const resource = allAvailableResources.find((r) => r.id === resourceId);
410
455
  return {
411
456
  resourceId,
412
457
  resourceName: resource?.name || `Resource ${resourceId}`,
@@ -425,19 +470,22 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
425
470
  }
426
471
  close();
427
472
  }}
428
- title={formActionType === "create" ? "Create New Page" : "Edit Page"}
473
+ title={formActionType === 'create' ? 'Create New Page' : 'Edit Page'}
429
474
  >
430
475
  <Form {...formProps} layout="vertical">
431
476
  <Form.Item
432
477
  rules={[
433
- { required: true, message: "Page name is required" },
478
+ { required: true, message: 'Page name is required' },
434
479
  {
435
480
  validator: (_, value) => {
436
- if (!value || !SPECIAL_CHARACTER_VALIDATION_PATTERN.test(value)) {
481
+ if (
482
+ !value ||
483
+ !SPECIAL_CHARACTER_VALIDATION_PATTERN.test(value)
484
+ ) {
437
485
  return Promise.resolve();
438
486
  }
439
487
  return Promise.reject(
440
- new Error("Special characters are not allowed in page name."),
488
+ new Error('Special characters are not allowed in page name.'),
441
489
  );
442
490
  },
443
491
  },
@@ -452,10 +500,12 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
452
500
  // Check if page name already exists (case-insensitive)
453
501
  const isDuplicate = allPagesData.some((page: any) => {
454
502
  // Skip current page when editing
455
- if (formActionType === "edit" && page.id === editingPageId) {
503
+ if (formActionType === 'edit' && page.id === editingPageId) {
456
504
  return false;
457
505
  }
458
- return page.name?.toLowerCase() === trimmedValue.toLowerCase();
506
+ return (
507
+ page.name?.toLowerCase() === trimmedValue.toLowerCase()
508
+ );
459
509
  });
460
510
 
461
511
  if (isDuplicate) {
@@ -475,24 +525,28 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
475
525
  >
476
526
  <Input
477
527
  placeholder="Enter the page name (e.g., User Management)."
478
- onChange={e => {
528
+ onChange={(e) => {
479
529
  const nameValue = e.target.value;
480
530
  // Auto-generate code from name if code hasn't been manually edited
481
531
  if (!isCodeManuallyEdited && nameValue) {
482
532
  const generatedCode = nameValue
483
533
  .trim()
484
534
  .toLowerCase()
485
- .replace(/[\s-]+/g, "_") // Replace spaces and hyphens with underscores
486
- .replace(/[^a-z0-9_]/g, ""); // Remove invalid characters
535
+ .replace(/[\s-]+/g, '_') // Replace spaces and hyphens with underscores
536
+ .replace(/[^a-z0-9_]/g, ''); // Remove invalid characters
487
537
  formProps.form?.setFieldsValue({ code: generatedCode });
488
538
  }
489
539
  // Auto-generate path from name if path hasn't been manually edited (only in create mode)
490
- if (!isPathManuallyEdited && nameValue && formActionType === "create") {
540
+ if (
541
+ !isPathManuallyEdited &&
542
+ nameValue &&
543
+ formActionType === 'create'
544
+ ) {
491
545
  const generatedPathSegment = nameValue
492
546
  .trim()
493
547
  .toLowerCase()
494
- .replace(/[\s_]+/g, "-") // Replace spaces and underscores with hyphens
495
- .replace(/[^a-z0-9-/]/g, ""); // Remove invalid characters
548
+ .replace(/[\s_]+/g, '-') // Replace spaces and underscores with hyphens
549
+ .replace(/[^a-z0-9-/]/g, ''); // Remove invalid characters
496
550
  const newPath = defaultPathPrefix + generatedPathSegment;
497
551
  formProps.form?.setFieldsValue({ path: newPath });
498
552
  }
@@ -501,10 +555,11 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
501
555
  </Form.Item>
502
556
  <Form.Item
503
557
  rules={[
504
- { required: true, message: "Page Code is required" },
558
+ { required: true, message: 'Page Code is required' },
505
559
  {
506
560
  pattern: /^[a-zA-Z0-9_]+$/,
507
- message: "Page Code can only contain letters, numbers and underscores",
561
+ message:
562
+ 'Page Code can only contain letters, numbers and underscores',
508
563
  },
509
564
  {
510
565
  validator: async (_, value) => {
@@ -517,15 +572,19 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
517
572
  // Check if page code already exists (case-insensitive)
518
573
  const isDuplicate = allPagesData.some((page: any) => {
519
574
  // Skip current page when editing
520
- if (formActionType === "edit" && page.id === editingPageId) {
575
+ if (formActionType === 'edit' && page.id === editingPageId) {
521
576
  return false;
522
577
  }
523
- return page.code?.toLowerCase() === trimmedValue.toLowerCase();
578
+ return (
579
+ page.code?.toLowerCase() === trimmedValue.toLowerCase()
580
+ );
524
581
  });
525
582
 
526
583
  if (isDuplicate) {
527
584
  return Promise.reject(
528
- new Error("Page Code already exists. Please use a different code."),
585
+ new Error(
586
+ 'Page Code already exists. Please use a different code.',
587
+ ),
529
588
  );
530
589
  }
531
590
 
@@ -554,7 +613,7 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
554
613
  <Form.Item name="parentId" label="Parent Page (Menu Position)">
555
614
  {filteredParentPageTreeOptions?.length ? (
556
615
  <TreeSelect
557
- style={{ width: "100%" }}
616
+ style={{ width: '100%' }}
558
617
  treeData={filteredParentPageTreeOptions}
559
618
  treeDefaultExpandAll
560
619
  allowClear
@@ -563,7 +622,8 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
563
622
  ) : (
564
623
  <>
565
624
  <Typography.Text type="secondary">
566
- No parent pages available. This page will be created at root level.
625
+ No parent pages available. This page will be created at root
626
+ level.
567
627
  </Typography.Text>
568
628
  <Input type="hidden" />
569
629
  </>
@@ -585,7 +645,7 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
585
645
  </Form.Item>
586
646
  <Form.Item
587
647
  name="iframeUrl"
588
- label={"Iframe URL"}
648
+ label={'Iframe URL'}
589
649
  tooltip={{
590
650
  title: (
591
651
  <div>
@@ -597,7 +657,7 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
597
657
  </p>
598
658
  <ul style={{ margin: 0, paddingLeft: 16 }}>
599
659
  <li>
600
- <code>{"{{locale}}"}</code> → 当前语言 (en/zh_CN)
660
+ <code>{'{{locale}}'}</code> → 当前语言 (en/zh_CN)
601
661
  </li>
602
662
  </ul>
603
663
  <p style={{ marginTop: 8 }}>
@@ -607,12 +667,16 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
607
667
  ),
608
668
  overlayStyle: { maxWidth: 320 },
609
669
  }}
610
- dependencies={["externalRedirectUrl"]}
670
+ dependencies={['externalRedirectUrl']}
611
671
  rules={[
612
672
  {
613
673
  validator: (_, value) => {
614
674
  if (value?.trim() && externalRedirectUrl?.trim()) {
615
- return Promise.reject(new Error("不能同时填写 Iframe URL 和 External Redirect URL,请只填其中一个"));
675
+ return Promise.reject(
676
+ new Error(
677
+ '不能同时填写 Iframe URL 和 External Redirect URL,请只填其中一个',
678
+ ),
679
+ );
616
680
  }
617
681
  return Promise.resolve();
618
682
  },
@@ -623,21 +687,29 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
623
687
  </Form.Item>
624
688
  <Form.Item
625
689
  name="externalRedirectUrl"
626
- dependencies={["iframeUrl"]}
627
- label={"External Redirect URL"}
690
+ dependencies={['iframeUrl']}
691
+ label={'External Redirect URL'}
628
692
  tooltip={{
629
- title: <p style={{ marginBottom: 8 }}>设置后,页面将打开一个新标签并跳转到指定的外部链接。</p>,
693
+ title: (
694
+ <p style={{ marginBottom: 8 }}>
695
+ 设置后,页面将打开一个新标签并跳转到指定的外部链接。
696
+ </p>
697
+ ),
630
698
  overlayStyle: { maxWidth: 320 },
631
699
  }}
632
700
  rules={[
633
701
  {
634
- type: "url",
635
- message: "Please enter a valid URL",
702
+ type: 'url',
703
+ message: 'Please enter a valid URL',
636
704
  },
637
705
  {
638
706
  validator: (_, value) => {
639
707
  if (value?.trim() && iframeUrl?.trim()) {
640
- return Promise.reject(new Error("不能同时填写 Iframe URL 和 External Redirect URL,请只填其中一个"));
708
+ return Promise.reject(
709
+ new Error(
710
+ '不能同时填写 Iframe URL 和 External Redirect URL,请只填其中一个',
711
+ ),
712
+ );
641
713
  }
642
714
  return Promise.resolve();
643
715
  },
@@ -651,11 +723,16 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
651
723
  rules={[
652
724
  {
653
725
  validator: (_, value) => {
654
- if (!value || !SPECIAL_CHARACTER_VALIDATION_PATTERN.test(value)) {
726
+ if (
727
+ !value ||
728
+ !SPECIAL_CHARACTER_VALIDATION_PATTERN.test(value)
729
+ ) {
655
730
  return Promise.resolve();
656
731
  }
657
732
  return Promise.reject(
658
- new Error("Special characters are not allowed in path.")
733
+ new Error(
734
+ 'Special characters are not allowed in path.',
735
+ ),
659
736
  );
660
737
  },
661
738
  },
@@ -678,16 +755,19 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
678
755
  </>
679
756
  )}
680
757
  <Form.Item name="description" label="Page Description">
681
- <Input.TextArea rows={2} placeholder="Enter a brief description of this page's purpose" />
758
+ <Input.TextArea
759
+ rows={2}
760
+ placeholder="Enter a brief description of this page's purpose"
761
+ />
682
762
  </Form.Item>
683
763
  <Divider>Resource Assignment & Permissions</Divider>
684
764
  <Form.Item label="Select Resources to Assign">
685
765
  <Transfer
686
766
  dataSource={resourceTransferDataSource}
687
- titles={["Available Resources", "Assigned Resources"]}
767
+ titles={['Available Resources', 'Assigned Resources']}
688
768
  targetKeys={selectedResourceIds}
689
769
  onChange={handleResourceTransferChange}
690
- render={item => item.title}
770
+ render={(item) => item.title}
691
771
  showSearch
692
772
  filterOption={(inputValue, item) =>
693
773
  item.title.toLowerCase().includes(inputValue.toLowerCase()) ||
@@ -699,8 +779,8 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
699
779
  {selectedResourceIds.length > 0 && (
700
780
  <Form.Item
701
781
  label="Configure Permissions for Each Resource"
702
- validateStatus={permissionValidationError ? "error" : ""}
703
- help={permissionValidationError || ""}
782
+ validateStatus={permissionValidationError ? 'error' : ''}
783
+ help={permissionValidationError || ''}
704
784
  >
705
785
  <Table
706
786
  dataSource={selectedResourcesForPermissionTable}
@@ -712,12 +792,16 @@ export const PageFormModal: React.FC<PageFormModalProps> = ({
712
792
  />
713
793
  </Form.Item>
714
794
  )}
715
- {formActionType === "edit" && currentResourceAssignments.length > 0 && (
795
+ {formActionType === 'edit' && currentResourceAssignments.length > 0 && (
716
796
  <Form.Item label="Current Permission Overview">
717
797
  <Space wrap>
718
798
  {Array.from(
719
- new Set(currentResourceAssignments.flatMap(a => a.assignedPermissions)),
720
- ).map(permissionAction => (
799
+ new Set(
800
+ currentResourceAssignments.flatMap(
801
+ (a) => a.assignedPermissions,
802
+ ),
803
+ ),
804
+ ).map((permissionAction) => (
721
805
  <Tag key={permissionAction} color="blue">
722
806
  {permissionAction}
723
807
  </Tag>