@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
@@ -0,0 +1,1153 @@
1
+ import type { ComponentDemo } from './types';
2
+
3
+ // ─── NumCard ──────────────────────────────────────────────────────────────────
4
+ const numCardDemo: ComponentDemo = {
5
+ id: 'num-card',
6
+ title: 'NumCard',
7
+ description:
8
+ "项目唯一的数字指标卡片,用于展示单一关键数字(如总数、成功率、延迟、金额)。传 null / undefined / NaN 自动显示 '--',无需手动判断。",
9
+ imports: `import { NumCard } from "@/components/canvas/NumCard";`,
10
+ props: [
11
+ {
12
+ name: 'variant',
13
+ type: '"default" | "withChart"',
14
+ required: true,
15
+ desc: 'default: 28px 值字体,通用指标卡(支持 comparisons);withChart: 左数字右折线图',
16
+ },
17
+ { name: 'title', type: 'ReactNode', required: true, desc: '卡片标题' },
18
+ {
19
+ name: 'value',
20
+ type: 'number | string | ReactNode | null',
21
+ desc: '指标值,传 null / undefined / NaN / 空字符串时自动显示 "--"',
22
+ },
23
+ {
24
+ name: 'unit',
25
+ type: 'ReactNode',
26
+ desc: '数值右侧单位,字号缩小为 0.6em,显示在数值和 suffix 之间',
27
+ },
28
+ { name: 'prefix', type: 'ReactNode', desc: '数值左侧前缀,如货币符号 ¥' },
29
+ {
30
+ name: 'suffix',
31
+ type: 'ReactNode',
32
+ desc: '数值右侧后缀,紧跟在 unit 之后',
33
+ },
34
+ {
35
+ name: 'subTitle',
36
+ type: 'ReactNode',
37
+ desc: '数值下方副标题小字,居中显示,12px 灰色,适合补充单位说明(如 MUSD、截止今日)',
38
+ },
39
+ { name: 'icon', type: 'ReactNode', desc: '标题左侧图标(compact 常用)' },
40
+ {
41
+ name: 'metricId',
42
+ type: 'string',
43
+ desc: '指标 ID,传入后标题自动包裹 MetricInfoTooltip 展示指标详情,与 info 二选一',
44
+ },
45
+ {
46
+ name: 'info',
47
+ type: 'string',
48
+ desc: 'hover 提示文字,在标题右侧显示 InfoIcon;与 metricId 二选一',
49
+ },
50
+ {
51
+ name: 'showInfoIcon',
52
+ type: 'boolean',
53
+ default: 'true',
54
+ desc: '是否显示 InfoIcon;info 存在时有效',
55
+ },
56
+ {
57
+ name: 'formatNumber',
58
+ type: 'boolean',
59
+ default: 'true',
60
+ desc: '数字自动加千位分隔符;含单位的预格式化字符串须传 false',
61
+ },
62
+ { name: 'valueColor', type: 'string', desc: '自定义数值颜色' },
63
+ {
64
+ name: 'comparisons',
65
+ type: 'ComparisonItem[]',
66
+ desc: '环比数组,每项 { label: string, value: string, isUp: boolean };isUp=true 绿色 ↑,false 红色 ↓',
67
+ },
68
+ {
69
+ name: 'onTitleClick',
70
+ type: '() => void',
71
+ desc: '标题点击回调,显示右箭头 →,可跳转详情页',
72
+ },
73
+ {
74
+ name: 'loading',
75
+ type: 'boolean',
76
+ default: 'false',
77
+ desc: 'true 时显示 Spin 加载态',
78
+ },
79
+ {
80
+ name: 'skeleton',
81
+ type: 'boolean',
82
+ default: 'false',
83
+ desc: '与 loading 同时为 true 时显示骨架屏替代 Spin',
84
+ },
85
+ {
86
+ name: 'styles',
87
+ type: '{ container?, title?, value?, subTitle? }',
88
+ desc: '各子区域 CSSProperties 精细控制,优先级高于 variant 默认样式',
89
+ },
90
+ { name: 'style', type: 'CSSProperties', desc: '容器自定义样式' },
91
+ { name: 'className', type: 'string', desc: '容器 className' },
92
+ {
93
+ name: 'testId',
94
+ type: 'string',
95
+ required: true,
96
+ desc: 'E2E 定位用,必填,不传编译报错',
97
+ },
98
+ ],
99
+ variants: [
100
+ {
101
+ name: 'default',
102
+ label: 'default',
103
+ code: `<NumCard
104
+ variant="default"
105
+ title="指标名称"
106
+ value={12345}
107
+ unit="台"
108
+ testId="canvas-numcard-default"
109
+ />`,
110
+ },
111
+ ],
112
+ };
113
+
114
+ // ─── Filter ────────────────────────────────────────────────────────────────────
115
+ const filterDemo: ComponentDemo = {
116
+ id: 'filter',
117
+ title: 'Filter',
118
+ description:
119
+ '项目统一的过滤条容器,封装布局标准化、搜索/重置按钮、Form 实例管理。3 种 layout:card-grid(Card+Grid)/ inline(单行)/ inline-right(右对齐,无按钮)。',
120
+ imports: `import { Filter } from "@/components/canvas/Filter";
121
+ import { Form, Select, DatePicker, Input } from "antd";`,
122
+ props: [
123
+ {
124
+ name: 'layout',
125
+ type: '"card-grid" | "inline" | "inline-right"',
126
+ default: '"card-grid"',
127
+ desc: 'card-grid: Card 容器 + Grid 布局;inline: 单行水平排列;inline-right: 右对齐,默认无查询/重置按钮',
128
+ },
129
+ {
130
+ name: 'columns',
131
+ type: 'number',
132
+ default: '4',
133
+ desc: 'card-grid 模式下 Grid 列数,按钮自动占最后 1 格',
134
+ },
135
+ {
136
+ name: 'onSearch',
137
+ type: '(values: Record<string, unknown>) => void',
138
+ required: true,
139
+ desc: '点击「查询」按钮回调,参数为 Form.getFieldsValue() 全量值',
140
+ },
141
+ {
142
+ name: 'onReset',
143
+ type: '(form: FormInstance) => void',
144
+ desc: '点击「重置」回调;不传时只执行 form.resetFields(),不触发 onSearch',
145
+ },
146
+ {
147
+ name: 'formProps',
148
+ type: 'FormProps',
149
+ desc: '透传至内部 antd Form,支持 initialValues / onValuesChange 等所有 Form 属性(form 和 layout 由组件内部管理)',
150
+ },
151
+ {
152
+ name: 'form',
153
+ type: 'FormInstance',
154
+ desc: '外部传入 form 实例,用于父组件需要主动调用 form.resetFields() / form.getFieldsValue() 等方法的场景',
155
+ },
156
+ {
157
+ name: 'showActions',
158
+ type: 'boolean',
159
+ desc: '是否显示查询/重置按钮。inline-right 默认 false,其余默认 true',
160
+ },
161
+ {
162
+ name: 'searchText',
163
+ type: 'string',
164
+ desc: '查询按钮文字,默认读 i18n common.query',
165
+ },
166
+ {
167
+ name: 'resetText',
168
+ type: 'string',
169
+ desc: '重置按钮文字,默认读 i18n common.reset',
170
+ },
171
+ {
172
+ name: 'children',
173
+ type: 'ReactNode',
174
+ required: true,
175
+ desc: '过滤字段,通常为 Form.Item 列表',
176
+ },
177
+ { name: 'style', type: 'CSSProperties', desc: '容器样式' },
178
+ { name: 'className', type: 'string', desc: '容器 className' },
179
+ {
180
+ name: 'testId',
181
+ type: 'string',
182
+ required: true,
183
+ desc: 'E2E 定位用,必填,不传编译报错',
184
+ },
185
+ ],
186
+ variants: [
187
+ {
188
+ name: 'card-grid',
189
+ label: 'card-grid',
190
+ code: `<Filter
191
+ layout="card-grid"
192
+ columns={4}
193
+ onSearch={(values) => console.log("search:", values)}
194
+ testId="canvas-filter-card-grid"
195
+ >
196
+ <Form.Item name="keyword" label="关键词">
197
+ <Input placeholder="请输入" style={{ width: "100%" }} />
198
+ </Form.Item>
199
+ <Form.Item name="region" label="大区">
200
+ <Select options={[
201
+ { label: "APAC", value: "APAC" },
202
+ { label: "EMEA", value: "EMEA" },
203
+ { label: "Americas", value: "AMER" },
204
+ ]} style={{ width: "100%" }} />
205
+ </Form.Item>
206
+ <Form.Item name="type" label="类型">
207
+ <Select options={[
208
+ { label: "类型A", value: "a" },
209
+ { label: "类型B", value: "b" },
210
+ ]} style={{ width: "100%" }} />
211
+ </Form.Item>
212
+ </Filter>`,
213
+ },
214
+ {
215
+ name: 'inline',
216
+ label: 'inline',
217
+ code: `<Filter
218
+ layout="inline"
219
+ onSearch={(values) => console.log("search:", values)}
220
+ testId="canvas-filter-inline"
221
+ >
222
+ <Form.Item name="keyword" label="关键词">
223
+ <Input placeholder="请输入" style={{ width: 200 }} />
224
+ </Form.Item>
225
+ <Form.Item name="type" label="类型">
226
+ <Select
227
+ placeholder="全部类型"
228
+ allowClear
229
+ style={{ width: 150 }}
230
+ options={[
231
+ { label: "类型A", value: "a" },
232
+ { label: "类型B", value: "b" },
233
+ ]}
234
+ />
235
+ </Form.Item>
236
+ </Filter>`,
237
+ },
238
+ {
239
+ name: 'inline-right',
240
+ label: 'inline-right',
241
+ code: `<Filter
242
+ layout="inline-right"
243
+ formProps={{
244
+ initialValues: { granularity: "day" },
245
+ onValuesChange: (_, all) => console.log("change:", all),
246
+ }}
247
+ onSearch={(values) => console.log("search:", values)}
248
+ testId="canvas-filter-inline-right"
249
+ >
250
+ <Form.Item name="granularity" style={{ marginBottom: 0 }}>
251
+ <Select
252
+ style={{ width: 120 }}
253
+ options={[
254
+ { label: "按天", value: "day" },
255
+ { label: "按周", value: "week" },
256
+ { label: "按月", value: "month" },
257
+ ]}
258
+ />
259
+ </Form.Item>
260
+ </Filter>`,
261
+ },
262
+ ],
263
+ };
264
+
265
+ // ─── BarChart ──────────────────────────────────────────────────────────────────
266
+ const barChartDemo: ComponentDemo = {
267
+ id: 'bar-chart',
268
+ title: 'BarChart',
269
+ description:
270
+ '项目统一柱状图,封装标准 ECharts 配置。支持纵柱、横柱、多系列堆叠、百分比堆叠,数据格式随 variant 不同。',
271
+ imports: `import { BarChart } from "@/components/canvas/BarChart";`,
272
+ props: [
273
+ {
274
+ name: 'variant',
275
+ type: '"bar" | "stackBar" | "stackBarPercent"',
276
+ default: '"bar"',
277
+ desc: 'bar: 单系列柱状图;stackBar: 多系列堆叠柱状图;stackBarPercent: 百分比堆叠柱状图(Y 轴 0–100%)',
278
+ },
279
+ {
280
+ name: 'direction',
281
+ type: '"vertical" | "horizontal"',
282
+ default: '"vertical"',
283
+ desc: '图表方向:vertical 为纵向(默认),horizontal 为横向',
284
+ },
285
+ {
286
+ name: 'data',
287
+ type: 'BarDataSingle | BarDataMulti | BarDataPercent',
288
+ required: true,
289
+ desc: '单系列用 { name, value, extraTxt? }[];多系列用 { xData, series };百分比堆叠用 { xData, series(百分比值), allTypes, originalData(原始计数,用于 tooltip/label)}',
290
+ },
291
+ { name: 'unit', type: 'string', desc: 'tooltip 和 label 中显示的单位' },
292
+ {
293
+ name: 'title',
294
+ type: 'string | ReactNode',
295
+ desc: '字符串自动套居中 12px bold 样式;传 ReactNode 完全自定义',
296
+ },
297
+ {
298
+ name: 'height',
299
+ type: 'number | string',
300
+ default: '300',
301
+ desc: '图表容器高度(px)',
302
+ },
303
+ {
304
+ name: 'showLabel',
305
+ type: 'boolean',
306
+ default: 'true',
307
+ desc: '是否在柱顶/柱右显示数值标签;stackBar 堆叠模式仅最后一段显示总量',
308
+ },
309
+ {
310
+ name: 'legendShow',
311
+ type: 'boolean',
312
+ desc: '是否显示图例,多系列默认 true,单系列默认 false',
313
+ },
314
+ {
315
+ name: 'chartProps',
316
+ type: 'Record<string, any>',
317
+ desc: '透传至 ECharts option,支持 yAxis / xAxis / grid / seriesProps(透传到每条 series)/ reverseTooltip(tooltip 反向排序)',
318
+ },
319
+ {
320
+ name: 'option',
321
+ type: 'EChartsCoreOption',
322
+ desc: '完全自定义 option,与组件生成的 option 浅合并,优先级最高',
323
+ },
324
+ {
325
+ name: 'onChartReady',
326
+ type: '(instance: ECharts | null) => void',
327
+ desc: '图表实例就绪回调,用于 chart linking(如 BarChart ↔ PieChart 联动);销毁时传 null',
328
+ },
329
+ {
330
+ name: 'loading',
331
+ type: 'boolean',
332
+ default: 'false',
333
+ desc: 'true 时显示 Spin 加载态',
334
+ },
335
+ {
336
+ name: 'empty',
337
+ type: 'boolean',
338
+ desc: '强制显示空态;未传时根据数据是否为空自动判断',
339
+ },
340
+ { name: 'style', type: 'CSSProperties', desc: '容器样式' },
341
+ { name: 'className', type: 'string', desc: '容器 className' },
342
+ {
343
+ name: 'testId',
344
+ type: 'string',
345
+ required: true,
346
+ desc: 'E2E 定位用,必填,不传编译报错',
347
+ },
348
+ ],
349
+ variants: [
350
+ {
351
+ name: 'bar',
352
+ label: 'bar',
353
+ code: `<BarChart
354
+ variant="bar"
355
+ data={[
356
+ { name: "A", value: 420 },
357
+ { name: "B", value: 580 },
358
+ { name: "C", value: 310 },
359
+ { name: "D", value: 670 },
360
+ ]}
361
+ unit="件"
362
+ title="数据对比"
363
+ height={300}
364
+ legendShow={true}
365
+ testId="canvas-barchart-bar"
366
+ />`,
367
+ },
368
+ {
369
+ name: 'stackBar',
370
+ label: 'stackBar',
371
+ code: `<BarChart
372
+ variant="stackBar"
373
+ data={{
374
+ xData: ["Jan", "Feb", "Mar", "Apr", "May", "Jun"],
375
+ series: [
376
+ { name: "系列A", data: [120, 132, 101, 134, 90, 150] },
377
+ { name: "系列B", data: [220, 182, 191, 234, 290, 330] },
378
+ { name: "系列C", data: [ 80, 72, 85, 90, 110, 95] },
379
+ ],
380
+ }}
381
+ unit="万"
382
+ title="构成分析"
383
+ height={300}
384
+ legendShow={true}
385
+ testId="canvas-barchart-stack"
386
+ />`,
387
+ },
388
+ {
389
+ name: 'stackBarPercent',
390
+ label: 'stackBarPercent',
391
+ code: `<BarChart
392
+ variant="stackBarPercent"
393
+ data={{
394
+ xData: ["Jan", "Feb", "Mar", "Apr", "May"],
395
+ series: [
396
+ { name: "类型A", data: [55, 58, 52, 60, 57] },
397
+ { name: "类型B", data: [30, 28, 33, 25, 29] },
398
+ { name: "类型C", data: [15, 14, 15, 15, 14] },
399
+ ],
400
+ allTypes: ["类型A", "类型B", "类型C"],
401
+ originalData: {
402
+ "Jan": [{ key: "类型A", active_device_cnt: 110 }, { key: "类型B", active_device_cnt: 60 }, { key: "类型C", active_device_cnt: 30 }],
403
+ "Feb": [{ key: "类型A", active_device_cnt: 116 }, { key: "类型B", active_device_cnt: 56 }, { key: "类型C", active_device_cnt: 28 }],
404
+ "Mar": [{ key: "类型A", active_device_cnt: 104 }, { key: "类型B", active_device_cnt: 66 }, { key: "类型C", active_device_cnt: 30 }],
405
+ "Apr": [{ key: "类型A", active_device_cnt: 120 }, { key: "类型B", active_device_cnt: 50 }, { key: "类型C", active_device_cnt: 30 }],
406
+ "May": [{ key: "类型A", active_device_cnt: 114 }, { key: "类型B", active_device_cnt: 58 }, { key: "类型C", active_device_cnt: 28 }],
407
+ },
408
+ }}
409
+ unit="%"
410
+ title="占比分析"
411
+ height={300}
412
+ legendShow={true}
413
+ testId="canvas-barchart-stackpercent"
414
+ />`,
415
+ },
416
+ ],
417
+ };
418
+
419
+ // ─── LineChart ─────────────────────────────────────────────────────────────────
420
+ const lineChartDemo: ComponentDemo = {
421
+ id: 'line-chart',
422
+ title: 'LineChart',
423
+ description:
424
+ '项目统一折线图,支持单系列、多系列堆叠、面积堆叠(hover 只高亮当前系列)、分组面积折线(hover 同父类分组高亮)、迷你趋势线、双 Y 轴混合图。',
425
+ imports: `import { LineChart } from "@/components/canvas/LineChart";`,
426
+ props: [
427
+ {
428
+ name: 'variant',
429
+ type: '"line" | "mulAreaLine" | "dualYAxis"',
430
+ default: '"line"',
431
+ desc: 'line: 默认折线图(单/多系列自动判断);mulAreaLine: 复合面积折线(外层 BG 着色区域 + 内层虚线);dualYAxis: 双 Y 轴混合图(折线+柱状)',
432
+ },
433
+ {
434
+ name: 'data',
435
+ type: 'LineDataSingle | LineDataMulti | LineDataDualYAxis',
436
+ required: true,
437
+ desc: '单系列用 { name, value }[];多系列用 { xData, series[] };dualYAxis 增加 yData 和 series[].yAxisIndex / type',
438
+ },
439
+ { name: 'title', type: 'string | ReactNode', desc: '图表标题' },
440
+ {
441
+ name: 'unit',
442
+ type: 'string',
443
+ desc: 'Y 轴单位,显示在 tooltip 和 Y 轴 label 中(dualYAxis 使用 yData 中的 unit)',
444
+ },
445
+ {
446
+ name: 'height',
447
+ type: 'number | string',
448
+ default: '300',
449
+ desc: '图表容器高度(px)',
450
+ },
451
+ {
452
+ name: 'smartYAxis',
453
+ type: 'boolean',
454
+ default: 'false',
455
+ desc: '自动计算 Y 轴范围避免趋势被压扁,两侧加 30% padding;适用于 line / stackLine',
456
+ },
457
+ {
458
+ name: 'legendShow',
459
+ type: 'boolean',
460
+ desc: '是否显示图例,多系列默认 true,单系列默认 false',
461
+ },
462
+ {
463
+ name: 'smartLabel',
464
+ type: 'boolean',
465
+ default: 'false',
466
+ desc: '仅 line variant:label 只在每隔一个刻度的点上显示,避免密集重叠',
467
+ },
468
+ {
469
+ name: 'markLine',
470
+ type: '{ value: number, color?: string }',
471
+ desc: '在指定 Y 值绘制水平参考线,适用于 stackLine(如带宽 80% 阈值)',
472
+ },
473
+ {
474
+ name: 'chartProps',
475
+ type: 'Record<string, any>',
476
+ desc: '透传至 ECharts option,支持 yAxis / xAxis / grid / legend / tooltip / seriesProps(覆盖 series 级配置)',
477
+ },
478
+ {
479
+ name: 'onChartReady',
480
+ type: '(instance: ECharts | null) => void',
481
+ desc: '图表实例就绪回调,用于 PieChart ↔ LineChart 联动;销毁时传 null',
482
+ },
483
+ {
484
+ name: 'onEvents',
485
+ type: 'Record<string, (params, chart) => void>',
486
+ desc: 'ECharts 事件绑定(click、mouseover 等)',
487
+ },
488
+ {
489
+ name: 'loading',
490
+ type: 'boolean',
491
+ default: 'false',
492
+ desc: 'true 时显示 Spin 加载态',
493
+ },
494
+ {
495
+ name: 'empty',
496
+ type: 'boolean',
497
+ desc: '强制显示空态;未传时根据数据是否为空自动判断',
498
+ },
499
+ { name: 'style', type: 'CSSProperties', desc: '容器样式' },
500
+ { name: 'className', type: 'string', desc: '容器 className' },
501
+ {
502
+ name: 'testId',
503
+ type: 'string',
504
+ required: true,
505
+ desc: 'E2E 定位用,必填,不传编译报错',
506
+ },
507
+ ],
508
+ variants: [
509
+ {
510
+ name: 'default',
511
+ label: 'default',
512
+ code: `<LineChart
513
+ data={{
514
+ xData: ["Jan", "Feb", "Mar", "Apr", "May", "Jun"],
515
+ series: [
516
+ { name: "利用率", data: [65, 72, 78, 85, 82, 91] },
517
+ ],
518
+ }}
519
+ unit="%"
520
+ title="利用率"
521
+ height={300}
522
+ legendShow={true}
523
+ testId="canvas-linechart-default"
524
+ />`,
525
+ },
526
+ ],
527
+ };
528
+
529
+ // ─── PieChart ──────────────────────────────────────────────────────────────────
530
+ const pieChartDemo: ComponentDemo = {
531
+ id: 'pie-chart',
532
+ title: 'PieChart',
533
+ description:
534
+ '项目统一饼图,支持标准饼图、环形图(甜甜圈)、旭日图。数据自动按 value 从大到小排序,超 topN 项自动合并为 Others。',
535
+ imports: `import { PieChart } from "@/components/canvas/PieChart";`,
536
+ props: [
537
+ {
538
+ name: 'variant',
539
+ type: '"pie" | "ring" | "sunburst"',
540
+ default: '"pie"',
541
+ desc: 'pie: 标准饼图;ring: 环形图(甜甜圈,默认不显示图例);sunburst: 旭日图(支持多层嵌套,children 字段)',
542
+ },
543
+ {
544
+ name: 'data',
545
+ type: '{ name: string, value: number, itemStyle?: { color? }, comment?, children? }[]',
546
+ required: true,
547
+ desc: '数据项,自动按 value 降序排序;itemStyle.color 可为每项指定颜色;sunburst 通过 children 支持嵌套结构',
548
+ },
549
+ { name: 'title', type: 'string | ReactNode', desc: '图表标题' },
550
+ {
551
+ name: 'height',
552
+ type: 'number | string',
553
+ default: '300',
554
+ desc: '图表容器高度(px)',
555
+ },
556
+ {
557
+ name: 'topN',
558
+ type: 'number',
559
+ default: '5',
560
+ desc: '显示前 N 项,其余自动合并为 Others;传 0 不限制;hover Others 展示明细 tooltip(sunburst 不受影响)',
561
+ },
562
+ {
563
+ name: 'insideLabelThreshold',
564
+ type: 'number',
565
+ desc: '扇区占比(0-100)超过此值时将 label 放到扇区内部(白色);仅 pie variant 有效,推荐 15',
566
+ },
567
+ {
568
+ name: 'legendOrient',
569
+ type: '"horizontal" | "vertical"',
570
+ default: '"horizontal"',
571
+ desc: 'horizontal: 底部横排滚动图例;vertical: 右侧纵排图例',
572
+ },
573
+ {
574
+ name: 'legendShow',
575
+ type: 'boolean',
576
+ desc: '是否显示图例;pie 默认 true,ring 默认 false,sunburst 默认 true',
577
+ },
578
+ {
579
+ name: 'chartProps',
580
+ type: 'Record<string, any>',
581
+ desc: '透传至 ECharts series 配置,与基准配置浅合并',
582
+ },
583
+ {
584
+ name: 'option',
585
+ type: 'EChartsCoreOption',
586
+ desc: '完全自定义 option,与组件生成的 option 浅合并,优先级最高',
587
+ },
588
+ { name: 'onClick', type: '(params) => void', desc: '饼图扇区点击回调' },
589
+ {
590
+ name: 'onEvents',
591
+ type: 'Record<string, (params, chart) => void>',
592
+ desc: '其他 ECharts 事件绑定',
593
+ },
594
+ {
595
+ name: 'loading',
596
+ type: 'boolean',
597
+ default: 'false',
598
+ desc: 'true 时显示 Spin 加载态',
599
+ },
600
+ {
601
+ name: 'empty',
602
+ type: 'boolean',
603
+ desc: '强制显示空态;未传时根据 data.length === 0 自动判断',
604
+ },
605
+ { name: 'style', type: 'CSSProperties', desc: '容器样式' },
606
+ { name: 'className', type: 'string', desc: '容器 className' },
607
+ {
608
+ name: 'testId',
609
+ type: 'string',
610
+ required: true,
611
+ desc: 'E2E 定位用,必填,不传编译报错',
612
+ },
613
+ ],
614
+ variants: [
615
+ {
616
+ name: 'pie',
617
+ label: 'pie',
618
+ code: `<PieChart
619
+ variant="pie"
620
+ data={[
621
+ { name: "类目A", value: 1245 },
622
+ { name: "类目B", value: 876 },
623
+ { name: "类目C", value: 234 },
624
+ { name: "类目D", value: 189 },
625
+ { name: "类目E", value: 156 },
626
+ ]}
627
+ height={300}
628
+ title="分布"
629
+ legendShow={true}
630
+ insideLabelThreshold={15}
631
+ topN={0}
632
+ testId="canvas-piechart-pie"
633
+ />`,
634
+ },
635
+ {
636
+ name: 'ring',
637
+ label: 'ring',
638
+ code: `<PieChart
639
+ variant="ring"
640
+ data={[
641
+ { name: "正常", value: 820, itemStyle: { color: "#52c41a" } },
642
+ { name: "警告", value: 124, itemStyle: { color: "#faad14" } },
643
+ { name: "异常", value: 42, itemStyle: { color: "#f5222d" } },
644
+ ]}
645
+ height={300}
646
+ title="状态"
647
+ legendShow={true}
648
+ topN={0}
649
+ testId="canvas-piechart-ring"
650
+ />`,
651
+ },
652
+ {
653
+ name: 'sunburst',
654
+ label: 'sunburst',
655
+ code: `<PieChart
656
+ variant="sunburst"
657
+ data={[
658
+ {
659
+ name: "A类", value: 600,
660
+ children: [
661
+ { name: "A-1", value: 320 },
662
+ { name: "A-2", value: 180 },
663
+ { name: "A-3", value: 100 },
664
+ ],
665
+ },
666
+ {
667
+ name: "B类", value: 300,
668
+ children: [
669
+ { name: "B-1", value: 150 },
670
+ { name: "B-2", value: 90 },
671
+ { name: "B-3", value: 60 },
672
+ ],
673
+ },
674
+ {
675
+ name: "C类", value: 200,
676
+ children: [
677
+ { name: "C-1", value: 120 },
678
+ { name: "C-2", value: 80 },
679
+ ],
680
+ },
681
+ ]}
682
+ height={360}
683
+ title="分类"
684
+ legendShow={true}
685
+ testId="canvas-piechart-sunburst"
686
+ />`,
687
+ },
688
+ ],
689
+ };
690
+
691
+ // ─── RadarChart ────────────────────────────────────────────────────────────────
692
+ const radarChartDemo: ComponentDemo = {
693
+ id: 'radar-chart',
694
+ title: 'RadarChart',
695
+ description:
696
+ '项目统一雷达图,适用于多维度能力评估和多实体横向对比。indicators 和 series.data 长度必须相同。',
697
+ imports: `import { RadarChart } from "@/components/canvas/RadarChart";`,
698
+ props: [
699
+ {
700
+ name: 'indicators',
701
+ type: '{ name: string, max?: number, min?: number }[]',
702
+ required: true,
703
+ desc: '维度定义,max 默认 100,min 默认 0,数组长度须与 series[].data 相同',
704
+ },
705
+ {
706
+ name: 'series',
707
+ type: '{ name: string, data: number[], color?: string }[]',
708
+ required: true,
709
+ desc: '数据系列,data 与 indicators 顺序严格对应;color 自定义该系列颜色',
710
+ },
711
+ {
712
+ name: 'title',
713
+ type: 'string | ReactNode',
714
+ desc: '图表标题,字符串套默认样式;ReactNode 完全自定义',
715
+ },
716
+ {
717
+ name: 'legendShow',
718
+ type: 'boolean',
719
+ default: 'true',
720
+ desc: '是否显示图例;单系列建议传 false',
721
+ },
722
+ {
723
+ name: 'height',
724
+ type: 'number | string',
725
+ default: '300',
726
+ desc: '图表容器高度(px)',
727
+ },
728
+ {
729
+ name: 'chartProps',
730
+ type: 'object',
731
+ desc: "透传至 ECharts option,支持 radar(含 shape: 'circle' 切换圆形)、legend、tooltip;推荐覆盖 radar.splitArea.areaStyle.color 避免默认白色遮罩",
732
+ },
733
+ {
734
+ name: 'loading',
735
+ type: 'boolean',
736
+ default: 'false',
737
+ desc: 'true 时显示 Spin 加载态',
738
+ },
739
+ {
740
+ name: 'empty',
741
+ type: 'boolean',
742
+ desc: '强制显示空态;未传时根据 series.length === 0 自动判断',
743
+ },
744
+ { name: 'style', type: 'CSSProperties', desc: '容器样式' },
745
+ { name: 'className', type: 'string', desc: '容器 className' },
746
+ {
747
+ name: 'testId',
748
+ type: 'string',
749
+ required: true,
750
+ desc: 'E2E 定位用,必填,不传编译报错',
751
+ },
752
+ ],
753
+ variants: [
754
+ {
755
+ name: 'demo',
756
+ label: 'demo',
757
+ code: `<RadarChart
758
+ indicators={[
759
+ { name: "维度A" }, { name: "维度B" },
760
+ { name: "维度C" }, { name: "维度D" },
761
+ { name: "维度E" }, { name: "维度F" },
762
+ ]}
763
+ series={[
764
+ { name: "组A", data: [92, 88, 75, 84, 90, 78], color: "#3889f3" },
765
+ { name: "组B", data: [85, 92, 88, 91, 83, 95], color: "#0db46c" },
766
+ ]}
767
+ height={300}
768
+ testId="canvas-radar-demo"
769
+ />`,
770
+ },
771
+ ],
772
+ };
773
+
774
+ // ─── TreemapChart ──────────────────────────────────────────────────────────────
775
+ const treemapChartDemo: ComponentDemo = {
776
+ id: 'treemap-chart',
777
+ title: 'TreemapChart',
778
+ description:
779
+ '矩形树图,方块面积 = 数值大小,适合多分类占比展示(>8 项时替代饼图)。自动检测扁平 / 嵌套结构。',
780
+ imports: `import { TreemapChart } from "@/components/canvas/TreemapChart";`,
781
+ props: [
782
+ {
783
+ name: 'data',
784
+ type: 'TreemapDataItem[]',
785
+ required: true,
786
+ desc: '有 children 字段视为嵌套结构,底部自动生成可点击图例;无 children 视为扁平结构,自动按色相排序聚集相近颜色',
787
+ },
788
+ {
789
+ name: 'data[].name',
790
+ type: 'string',
791
+ required: true,
792
+ desc: '节点名称,显示在方块内',
793
+ },
794
+ {
795
+ name: 'data[].value',
796
+ type: 'number',
797
+ required: true,
798
+ desc: '节点数值,决定方块面积大小',
799
+ },
800
+ {
801
+ name: 'data[].color',
802
+ type: 'string',
803
+ desc: '顶层节点颜色;子节点继承父节点颜色',
804
+ },
805
+ {
806
+ name: 'data[].children',
807
+ type: 'TreemapDataItem[]',
808
+ desc: '子节点列表,有此字段时触发嵌套模式,顶层 value 由子节点之和决定',
809
+ },
810
+ { name: 'title', type: 'string | ReactNode', desc: '图表标题' },
811
+ {
812
+ name: 'height',
813
+ type: 'number | string',
814
+ default: '400',
815
+ desc: '图表容器高度(px)',
816
+ },
817
+ {
818
+ name: 'chartProps',
819
+ type: 'Record<string, any>',
820
+ desc: '透传至 ECharts option,可覆盖 tooltip(含 formatter)、series 等字段',
821
+ },
822
+ {
823
+ name: 'loading',
824
+ type: 'boolean',
825
+ default: 'false',
826
+ desc: 'true 时显示 Spin 加载态(绝对定位覆盖层,不占用图表空间)',
827
+ },
828
+ {
829
+ name: 'empty',
830
+ type: 'boolean',
831
+ desc: '强制显示空态;未传时根据 data.length === 0 自动判断',
832
+ },
833
+ { name: 'style', type: 'CSSProperties', desc: '容器样式' },
834
+ { name: 'className', type: 'string', desc: '容器 className' },
835
+ {
836
+ name: 'testId',
837
+ type: 'string',
838
+ required: true,
839
+ desc: 'E2E 定位用,必填,不传编译报错',
840
+ },
841
+ ],
842
+ variants: [
843
+ {
844
+ name: 'demo',
845
+ label: 'demo',
846
+ code: `<TreemapChart
847
+ data={[
848
+ {
849
+ name: "A组",
850
+ color: "#3889f3",
851
+ children: [
852
+ { name: "A-1", value: 42 },
853
+ { name: "A-2", value: 28 },
854
+ { name: "A-3", value: 35 },
855
+ ],
856
+ },
857
+ {
858
+ name: "B组",
859
+ color: "#0db46c",
860
+ children: [
861
+ { name: "B-1", value: 31 },
862
+ { name: "B-2", value: 24 },
863
+ { name: "B-3", value: 18 },
864
+ ],
865
+ },
866
+ {
867
+ name: "C组",
868
+ color: "#f5a623",
869
+ children: [
870
+ { name: "C-1", value: 12 },
871
+ { name: "C-2", value: 17 },
872
+ ],
873
+ },
874
+ ]}
875
+ height={400}
876
+ title="矩形树图"
877
+ testId="canvas-treemap-demo"
878
+ />`,
879
+ },
880
+ ],
881
+ };
882
+
883
+ // ─── Table ─────────────────────────────────────────────────────────────────────
884
+ const tableDemo: ComponentDemo = {
885
+ id: 'table',
886
+ title: 'Table',
887
+ description:
888
+ 'drop-in 替换 antd Table,传 pagination 对象自动补 showSizeChanger + pageSizeOptions。不传 pagination 则不分页。',
889
+ imports: `import { Table } from "@/components/canvas/Table";`,
890
+ props: [
891
+ {
892
+ name: 'dataSource',
893
+ type: 'object[]',
894
+ required: true,
895
+ desc: '表格数据,每项须包含 key 字段(antd Table 要求)',
896
+ },
897
+ {
898
+ name: 'columns',
899
+ type: 'ColumnType<T>[]',
900
+ required: true,
901
+ desc: '列定义,与 antd Table columns 完全相同',
902
+ },
903
+ {
904
+ name: 'pagination',
905
+ type: 'TablePaginationConfig | false',
906
+ desc: '分页配置。未传或 false → 不显示分页;传对象自动补 showSizeChanger + pageSizeOptions(调用者显式传入的字段优先级更高)',
907
+ },
908
+ {
909
+ name: 'entityName',
910
+ type: 'string',
911
+ desc: "传入后 showTotal 显示 'Total {n} {entityName} in total';pagination.showTotal 已传时忽略",
912
+ },
913
+ {
914
+ name: 'size',
915
+ type: '"large" | "middle" | "small"',
916
+ desc: '表格 size,默认使用 antd 默认值',
917
+ },
918
+ {
919
+ name: 'scroll',
920
+ type: '{ x?: number, y?: number }',
921
+ desc: '开启横向/纵向滚动;x 为表格总宽度,开启时每列须设 width',
922
+ },
923
+ { name: 'loading', type: 'boolean', desc: '表格加载态' },
924
+ {
925
+ name: 'rowSelection',
926
+ type: 'TableRowSelection<T>',
927
+ desc: '行选择配置,与 antd Table rowSelection 相同',
928
+ },
929
+ { name: 'style', type: 'CSSProperties', desc: '容器样式' },
930
+ { name: 'className', type: 'string', desc: '容器 className' },
931
+ {
932
+ name: 'testId',
933
+ type: 'string',
934
+ required: true,
935
+ desc: 'E2E 定位用,必填,不传编译报错',
936
+ },
937
+ ],
938
+ variants: [
939
+ {
940
+ name: 'default',
941
+ label: 'default',
942
+ code: `<Table
943
+ size="small"
944
+ dataSource={[
945
+ { key: "1", name: "Alice", dept: "Engineering", status: "在职" },
946
+ { key: "2", name: "Bob", dept: "Design", status: "在职" },
947
+ { key: "3", name: "Carol", dept: "Marketing", status: "离职" },
948
+ ]}
949
+ columns={[
950
+ { title: "姓名", dataIndex: "name", key: "name" },
951
+ { title: "部门", dataIndex: "dept", key: "dept" },
952
+ { title: "状态", dataIndex: "status", key: "status" },
953
+ ]}
954
+ testId="canvas-table-default"
955
+ />`,
956
+ },
957
+ ],
958
+ };
959
+
960
+ // ─── WorldMap ─────────────────────────────────────────────────────────────────
961
+ const worldMapDemo: ComponentDemo = {
962
+ id: 'world-map',
963
+ title: 'WorldMap',
964
+ description:
965
+ '项目统一世界地图,封装标准 geo 基准配置(Highcharts 坐标系,aspectScale 固定为 1)。通过 option 透传 series、geo 差异字段即可。',
966
+ imports: `import { WorldMap } from "@/components/canvas/WorldMap";`,
967
+ props: [
968
+ {
969
+ name: 'option',
970
+ type: 'EChartsOption',
971
+ required: true,
972
+ desc: 'ECharts option 差异字段,与内部基准配置浅合并;须包含 geo(传 {} 使用基准配置)和 series',
973
+ },
974
+ {
975
+ name: 'option.geo',
976
+ type: 'GeoComponentOption',
977
+ desc: '地理坐标系配置;传 {} 使用基准配置;可通过 regions 覆盖各国颜色;aspectScale 固定为 1(Highcharts 预投影坐标系)',
978
+ },
979
+ {
980
+ name: 'option.geo.regions',
981
+ type: '{ name: string, itemStyle: { areaColor: string } }[]',
982
+ desc: "各国/地区样式覆盖,name 需使用英文国家名(如 'China'、'US')",
983
+ },
984
+ {
985
+ name: 'option.series',
986
+ type: 'SeriesOption[]',
987
+ desc: "ECharts series 数组;effectScatter 类型配合 coordinateSystem: 'geo' 实现波纹散点",
988
+ },
989
+ {
990
+ name: 'option.tooltip',
991
+ type: 'TooltipOption',
992
+ desc: "tooltip 配置,trigger: 'item' 适合散点图",
993
+ },
994
+ {
995
+ name: 'loading',
996
+ type: 'boolean',
997
+ default: 'false',
998
+ desc: 'true 时显示 Spin 加载态',
999
+ },
1000
+ {
1001
+ name: 'style',
1002
+ type: 'CSSProperties',
1003
+ desc: '容器样式,必须通过 height 指定高度(默认 600px);支持 aspectRatio、flex 等响应式写法',
1004
+ },
1005
+ {
1006
+ name: 'onEvents',
1007
+ type: 'Record<string, (params, chart) => void>',
1008
+ desc: 'ECharts 事件绑定(click、mousemove 等);必须用 useMemo 保持引用稳定,否则地图会在每次渲染时闪烁重建',
1009
+ },
1010
+ {
1011
+ name: 'testId',
1012
+ type: 'string',
1013
+ required: true,
1014
+ desc: 'E2E 定位用,必填,不传编译报错',
1015
+ },
1016
+ ],
1017
+ variants: [
1018
+ {
1019
+ name: 'demo',
1020
+ label: 'demo',
1021
+ code: `<WorldMap
1022
+ option={{
1023
+ geo: {
1024
+ regions: [
1025
+ { name: "China", itemStyle: { areaColor: "#f8c471" } },
1026
+ { name: "US", itemStyle: { areaColor: "#f2b4aa" } },
1027
+ { name: "Russia", itemStyle: { areaColor: "#f5d7b2" } },
1028
+ { name: "Brazil", itemStyle: { areaColor: "#aed6f1" } },
1029
+ { name: "India", itemStyle: { areaColor: "#a9dfbf" } },
1030
+ ],
1031
+ },
1032
+ series: [],
1033
+ }}
1034
+ style={{ height: 400 }}
1035
+ testId="canvas-worldmap-basic"
1036
+ />`,
1037
+ },
1038
+ {
1039
+ name: 'heatmap',
1040
+ label: 'heatmap',
1041
+ testId: 'canvas-worldmap-heatmap',
1042
+ code: `<WorldMap
1043
+ option={{
1044
+ geo: {},
1045
+ visualMap: {
1046
+ min: 0,
1047
+ max: 1000,
1048
+ left: "left",
1049
+ top: "bottom",
1050
+ text: ["High", "Low"],
1051
+ calculable: true,
1052
+ inRange: { color: ["#e0f3f8", "#abd9e9", "#74add1", "#4575b4", "#313695"] },
1053
+ },
1054
+ series: [
1055
+ {
1056
+ name: "Headcount",
1057
+ type: "heatmap",
1058
+ coordinateSystem: "geo",
1059
+ data: [
1060
+ [116.4, 39.9, 980],
1061
+ [121.5, 31.2, 750],
1062
+ [113.3, 23.1, 620],
1063
+ [ -87.6, 41.9, 430],
1064
+ [-122.4, 37.8, 390],
1065
+ [ 2.3, 48.9, 310],
1066
+ [103.8, 1.4, 280],
1067
+ ],
1068
+ pointSize: 20,
1069
+ blurSize: 30,
1070
+ },
1071
+ ],
1072
+ tooltip: { trigger: "item" },
1073
+ }}
1074
+ style={{ height: 400 }}
1075
+ testId="canvas-worldmap-heatmap"
1076
+ />`,
1077
+ },
1078
+ ],
1079
+ };
1080
+
1081
+ // ─── ChartViewer ──────────────────────────────────────────────────────────────
1082
+ const chartViewerDemo: ComponentDemo = {
1083
+ id: 'chart-viewer',
1084
+ title: 'ChartViewer',
1085
+ description:
1086
+ '图表切换容器:右上角三个图标按钮可在柱状图、折线图、饼图之间切换。内置 mock 数据,状态内聚,零配置使用。',
1087
+ imports: `import { ChartViewer } from "@/components/canvas/ChartViewer";`,
1088
+ props: [
1089
+ { name: 'height', type: 'number', default: '300', desc: '图表高度(px)' },
1090
+ {
1091
+ name: 'defaultVariant',
1092
+ type: '"bar" | "line" | "pie"',
1093
+ default: '"bar"',
1094
+ desc: '初始显示的图表类型',
1095
+ },
1096
+ { name: 'style', type: 'CSSProperties', desc: '容器自定义样式' },
1097
+ { name: 'className', type: 'string', desc: '容器 className' },
1098
+ {
1099
+ name: 'testId',
1100
+ type: 'string',
1101
+ required: true,
1102
+ desc: 'E2E 定位用,必填',
1103
+ },
1104
+ ],
1105
+ variants: [
1106
+ {
1107
+ name: 'default',
1108
+ label: 'default',
1109
+ code: `<ChartViewer
1110
+ height={300}
1111
+ testId="canvas-chartviewer-default"
1112
+ />`,
1113
+ },
1114
+ ],
1115
+ };
1116
+
1117
+ // ─── Section ──────────────────────────────────────────────────────────────────
1118
+ const sectionDemo: ComponentDemo = {
1119
+ id: 'section',
1120
+ title: 'Section',
1121
+ description: '白色背景容器,左上角标题,其他组件可放在其上方形成视觉分组。',
1122
+ imports: `import { Section } from "@/components/canvas/Section";`,
1123
+ props: [
1124
+ { name: 'title', type: 'string', desc: '左上角标题文字' },
1125
+ {
1126
+ name: 'testId',
1127
+ type: 'string',
1128
+ required: true,
1129
+ desc: 'E2E 定位用,必填',
1130
+ },
1131
+ ],
1132
+ variants: [
1133
+ {
1134
+ name: 'default',
1135
+ label: 'default',
1136
+ code: `<Section title="分组标题" testId="canvas-section-default" />`,
1137
+ },
1138
+ ],
1139
+ };
1140
+
1141
+ // ─── 全部 demos ────────────────────────────────────────────────────────────────
1142
+ export const allDemos: ComponentDemo[] = [
1143
+ numCardDemo,
1144
+ barChartDemo,
1145
+ lineChartDemo,
1146
+ pieChartDemo,
1147
+ radarChartDemo,
1148
+ treemapChartDemo,
1149
+ tableDemo,
1150
+ worldMapDemo,
1151
+ chartViewerDemo,
1152
+ sectionDemo,
1153
+ ];