@gadmin2n/schematics 0.0.139 → 0.0.141
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.
- package/dist/lib/application/files/gadmin2-game-angle-demo/Jenkinsfile +6 -34
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/approval.prisma +199 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/system.prisma +9 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/prisma/workflow.prisma +191 -14
- package/dist/lib/application/files/gadmin2-game-angle-demo/config/ui/Event.ts +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/gitignore +6 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/readme.md +10 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/migrate-between-pg-schemas.js +6 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/package.json +5 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/prisma.config.ts +12 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/scripts/gen-jwt.ts +8 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/scripts/migrate-human-approval-configs.ts +86 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/workflow-node-types.ts +710 -121
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/workflow.seed.ts +125 -10
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/config/index.ts +28 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/json-body-parser.spec.ts +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/json-body-parser.ts +7 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/structured-all-exceptions.filter.spec.ts +54 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/lib/structured-all-exceptions.filter.ts +86 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/main.ts +9 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approval-channel.controller.ts +89 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approval-channel.dto.ts +68 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approval-channel.service.spec.ts +177 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approval-channel.service.ts +283 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/approvalChannel/approvalChannel.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/code-executor.spec.ts +42 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/code-executor.ts +108 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/code-runtime.controller.ts +101 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/code-runtime.dto.ts +29 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/codeRuntime/codeRuntime.module.ts +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-handler.registry.ts +30 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-handler.ts +15 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-runtime.controller.spec.ts +105 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-runtime.controller.ts +96 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-runtime.dto.ts +78 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-signal-outbox.service.spec.ts +56 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-signal-outbox.service.ts +111 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-token.spec.ts +23 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction-token.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction.service.spec.ts +240 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction.service.ts +339 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-interaction.types.ts +74 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/external-wait.handler.ts +47 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/externalInteraction.module.ts +41 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/human-approval.handler.spec.ts +70 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/human-approval.handler.ts +76 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/workflow-callback-url.controller.ts +12 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/workflow-callback-url.service.spec.ts +227 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/externalInteraction/workflow-callback-url.service.ts +121 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/http-request-runtime.controller.ts +160 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/http-request-runtime.dto.ts +41 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/http-request-runtime.util.spec.ts +171 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/http-request-runtime.util.ts +245 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/httpRequest/httpRequest.module.ts +22 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-rule-evaluator.spec.ts +68 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-rule-evaluator.ts +126 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-rule.types.ts +34 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-signal-outbox.service.ts +115 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-subject-source.util.spec.ts +45 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/approval-subject-source.util.ts +59 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.controller.ts +72 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.dto.ts +144 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.errors.ts +19 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.external-decision.spec.ts +350 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/human-approval.service.ts +774 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/humanApproval.module.ts +46 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/legacy-approval-config-migration.ts +227 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/outbox-retry.util.ts +14 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/runtime/human-approval-runtime.controller.ts +151 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/runtime/human-approval-runtime.dto.ts +88 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/humanApproval/runtime/runtime-token.guard.ts +43 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/index.ts +21 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-connection.controller.ts +77 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-connection.dto.ts +98 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-connection.service.ts +277 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-secret-cipher.spec.ts +14 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integration-secret-cipher.ts +59 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/integrationConnection/integrationConnection.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/actor-context.util.ts +27 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/providers/user-group.provider.ts +208 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/providers/user.provider.ts +168 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.controller.spec.ts +157 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.controller.ts +176 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.dto.ts +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.errors.ts +78 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.registry.spec.ts +100 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.registry.ts +115 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subject-provider.types.ts +97 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/subjectProvider/subjectProvider.module.ts +34 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/temporalTenantConfig/temporalTenantConfig.controller.spec.ts +89 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/temporalTenantConfig/temporalTenantConfig.controller.ts +4 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.controller.ts +119 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.dto.ts +91 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.errors.ts +34 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.service.spec.ts +161 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/user-group.service.ts +390 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/userGroup/userGroup.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/dsl-validate.util.spec.ts +17 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/dsl-validate.util.ts +8 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/parameter-binding.ts +93 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/temporal.service.spec.ts +34 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/temporal.service.ts +26 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-callable.spec.ts +158 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-callable.ts +155 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-compiler.service.spec.ts +512 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-compiler.service.ts +368 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-compiler.types.ts +43 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-data-edge.util.spec.ts +174 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-data-edge.util.ts +149 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-dsl-comparison.ts +43 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-execution.dto.ts +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-export.dto.ts +4 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-export.service.ts +70 -28
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-handle-validator.ts +128 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-http-response.spec.ts +85 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow-http-response.ts +157 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow.controller.spec.ts +59 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow.controller.ts +27 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow.module.ts +18 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow.service.spec.ts +493 -21
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflow/workflow.service.ts +426 -90
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/node-config-validator.service.spec.ts +79 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/node-config-validator.service.ts +62 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/schema.types.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/subject-config-validator.service.spec.ts +124 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/subject-config-validator.service.ts +236 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/widget-catalog.service.spec.ts +49 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/widget-catalog.service.ts +69 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowConfig/workflowConfig.module.ts +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/node-instance-config.util.spec.ts +15 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/node-instance-config.util.ts +25 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.controller.ts +103 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.dto.ts +98 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.module.ts +3 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.service.spec.ts +72 -62
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/workflowNodeInstance/workflowNodeInstance.service.ts +148 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/package.json +13 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/App.tsx +5 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/authProvider.ts +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/BulkActions.tsx +0 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/PageHeader.tsx +46 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/SearchBar.tsx +26 -18
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/eventList/index.tsx +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logButton/index.tsx +24 -17
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/logList/index.tsx +7 -18
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/auditLog/components/modalDiffViewer/index.tsx +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/index.tsx +288 -33
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/contexts/color-mode/themeStyles.ts +97 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/index.ts +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/SettingDrawer.tsx +251 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/header.tsx +47 -19
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/layout.tsx +18 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/menuRenderer.tsx +155 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/layout/sider.tsx +123 -129
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.test.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.tsx +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/constants/layout.ts +32 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddDataModal.tsx +98 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/AddPageModal.tsx +101 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/DevShell.tsx +8 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/style.css +51 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/form.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/list.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/login.ts +40 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/helpers/show.tsx +5 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useDynamicResources.tsx +16 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/hooks/useListPageState.ts +10 -7
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/i18n.ts +4 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/en/common.json +26 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/en/workflow.json +575 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/zh_CN/common.json +26 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/zh_CN/workflow.json +575 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/plugins/devShellPlugin.ts +152 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agenda/index.tsx +9 -15
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agenda/show.tsx +41 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agendaJob/edit.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agendaJob/list.tsx +10 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agendaJob/show.tsx +3 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/components/action-cell.css +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/edit.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/list.tsx +141 -138
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/audit/show.tsx +3 -6
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasCell.css +3 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasCell.tsx +45 -13
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasComponentLibrary.tsx +45 -22
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasListPage.tsx +175 -119
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasPage.tsx +248 -74
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasToolbar.tsx +33 -18
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CodeFloatWindow.tsx +16 -10
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/PublishModal.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasContextMenuRegistry.tsx +31 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasDefaults.ts +15 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/BarChartDataSourceModal.tsx +16 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/CanvasAiModal.tsx +25 -21
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/ExportModal.tsx +6 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/LineChartDataSourceModal.tsx +9 -10
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/MultiChartConfigModal.tsx +4 -7
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/MultiChartDataSourceModal.tsx +23 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/NumCardDataSourceModal.tsx +16 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/PromptModal.tsx +2 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/RadarChartDataSourceModal.tsx +16 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/TableConfigModal.tsx +2 -9
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/TableDataSourceModal.tsx +23 -12
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/components/canvasModalProps.ts +2 -17
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/sectionCompactor.test.ts +149 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/sectionCompactor.ts +111 -17
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/types.ts +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/whiteboardLayout.test.ts +83 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/whiteboardLayout.ts +118 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/whiteboardName.test.ts +26 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas-page/index.tsx +9 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/edit.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/list.tsx +10 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/game/show.tsx +3 -6
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/human-approval/DecisionModal.tsx +71 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/human-approval/inbox.tsx +209 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/Components/AssignRolesModal.tsx +6 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/page/list.tsx +47 -150
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/permissionReadme/index.tsx +21 -20
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/Components/modal.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/resource/list.tsx +115 -118
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/Components/modal.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/role/list.tsx +61 -64
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/components/show-drawer.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/user/list.tsx +187 -200
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/approval-channels/ApprovalChannelModal.test.tsx +84 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/approval-channels/ApprovalChannelModal.tsx +141 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/approval-channels/approval-channel.types.ts +16 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/approval-channels/index.tsx +210 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/CreateNodeInstanceDrawer.tsx +154 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/CustomNode.tsx +194 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/DeletableEdge.tsx +76 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/DslView.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/EnhancedFlowRenderer.tsx +176 -22
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ExecutionStatusNode.test.tsx +62 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ExecutionStatusNode.tsx +94 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ExportModal.tsx +15 -10
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/FlowRenderer.tsx +251 -70
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ImportModal.tsx +18 -24
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/InstanceRequiredDialog.tsx +106 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/LookupConnectionDialog.test.tsx +45 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/LookupConnectionDialog.tsx +43 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/NewNodeDefaults.test.tsx +283 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/NodeEditModal.tsx +6 -7
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/NodePropertyPanel.test.tsx +335 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/NodePropertyPanel.tsx +433 -237
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/ParameterBindingEditor.tsx +179 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/RunWorkflowModal.tsx +18 -16
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/StatusCards.tsx +20 -16
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/components/VersionPanel.tsx +6 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/connections/ConnectionModal.test.tsx +68 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/connections/ConnectionModal.tsx +367 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/connections/connection.types.ts +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/connections/index.tsx +180 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/editor.tsx +38 -22
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/hooks/useNodeInstanceLibrary.ts +41 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/hooks/useWorkflowAgent.ts +6 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/index.tsx +29 -35
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/instance-detail.tsx +8 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/instances.tsx +4 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/components/NodeInstanceForm.tsx +56 -23
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/create.tsx +21 -6
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/edit.tsx +17 -20
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/index.tsx +9 -17
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/SchemaField.tsx +311 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/SchemaForm.test.tsx +218 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/SchemaForm.tsx +83 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/default-widgets.tsx +135 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/schema-defaults.ts +36 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/schema.types.ts +32 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/widget-registry.test.tsx +23 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/schema-form/widget-registry.tsx +52 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/show.tsx +9 -13
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApprovalRequestTriggerConfigEditor.tsx +39 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApprovalRuleEditor.test.tsx +20 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApprovalRuleEditor.tsx +72 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApproverSourceEditor.test.tsx +47 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ApproverSourceEditor.tsx +185 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/CallableInputParametersEditor.test.tsx +102 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/CallableInputParametersEditor.tsx +150 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/CodeConfigEditor.tsx +103 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ExternalRequestConfigEditor.test.tsx +135 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ExternalRequestConfigEditor.tsx +273 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ExternalWaitConfigEditor.tsx +303 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/HttpRequestConfigEditor.test.tsx +189 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/HttpRequestConfigEditor.tsx +706 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/HumanApprovalConfigEditor.test.tsx +86 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/HumanApprovalConfigEditor.tsx +458 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ReturnResultConfigEditor.test.tsx +81 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/ReturnResultConfigEditor.tsx +281 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/SubjectPicker.test.tsx +61 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/SubjectPicker.tsx +266 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/SubmitApprovalResultConfigEditor.tsx +104 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/SubmitExternalResultConfigEditor.tsx +98 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/UserGroupCreateModal.tsx +70 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/UserGroupEditModal.tsx +138 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/approver-source.test.ts +25 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/approver-source.ts +42 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/widgets/subject-provider.api.ts +95 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/show.tsx +15 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/temporal-tenant/index.test.tsx +152 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/temporal-tenant/index.tsx +438 -141
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/types/parameter-binding.ts +49 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/types.ts +31 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/lookupConnection.test.ts +208 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/lookupConnection.ts +246 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/newNodeConfig.ts +77 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/removeWorkflowEdges.test.ts +34 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/removeWorkflowEdges.ts +18 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveLookupPorts.ts +66 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveOutputs.test.ts +39 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveOutputs.ts +48 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveWorkflowDisplay.test.ts +51 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/utils/resolveWorkflowDisplay.ts +32 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflowEventOutbox/edit.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflowEventOutbox/list.tsx +10 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflowEventOutbox/show.tsx +3 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd-theme-vars.css +93 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/antd.css +8 -8
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/fc.css +4 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/index.css +40 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-drawer.module.css +3 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-page.module.css +3 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/theme-styles.css +81 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/test/setup.ts +5 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/vite.config.ts +1 -7
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/vitest.config.ts +12 -0
- package/package.json +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/workflow/node-instances/components/DynamicConfigForm.tsx +0 -154
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { WorkflowNode } from '../types';
|
|
2
|
+
|
|
3
|
+
export interface LookupPort {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
direction: 'input' | 'output';
|
|
7
|
+
kind: 'CALL' | 'RETURN';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface RuntimePorts {
|
|
11
|
+
inputId?: string;
|
|
12
|
+
inputLabel: string;
|
|
13
|
+
outputId?: string;
|
|
14
|
+
outputLabel: string;
|
|
15
|
+
emphasized?: boolean;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export function resolveRuntimePorts(node: WorkflowNode): RuntimePorts {
|
|
19
|
+
if (node.type === 'http_request')
|
|
20
|
+
return {
|
|
21
|
+
inputId: 'request-in',
|
|
22
|
+
inputLabel: 'Request IN',
|
|
23
|
+
outputId: 'response-out',
|
|
24
|
+
outputLabel: 'Response OUT',
|
|
25
|
+
emphasized: true,
|
|
26
|
+
};
|
|
27
|
+
if (node.type === 'code')
|
|
28
|
+
return {
|
|
29
|
+
inputId: 'data-in',
|
|
30
|
+
inputLabel: 'Data IN',
|
|
31
|
+
outputId: 'result-out',
|
|
32
|
+
outputLabel: 'Result OUT',
|
|
33
|
+
emphasized: true,
|
|
34
|
+
};
|
|
35
|
+
return { inputLabel: 'IN', outputLabel: 'OUT' };
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export function resolveLookupPorts(node: WorkflowNode): LookupPort[] {
|
|
39
|
+
if (node.type !== 'approval' && node.type !== 'human_approval') return [];
|
|
40
|
+
const subjects = Array.isArray(node.config?.subjects)
|
|
41
|
+
? node.config.subjects
|
|
42
|
+
: [];
|
|
43
|
+
return subjects.flatMap((subject: any) => {
|
|
44
|
+
if (subject?.source !== 'DYNAMIC' || !subject.inputKey) return [];
|
|
45
|
+
const isGroup = subject.provider === 'USER_GROUP';
|
|
46
|
+
const inputKey = String(subject.inputKey);
|
|
47
|
+
return [
|
|
48
|
+
{
|
|
49
|
+
id: `approver:${inputKey}`,
|
|
50
|
+
label: isGroup ? 'User groups IN' : 'Users IN',
|
|
51
|
+
direction: 'input' as const,
|
|
52
|
+
kind: 'RETURN' as const,
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
id: `lookup:${inputKey}`,
|
|
56
|
+
label: isGroup ? 'Find user groups OUT' : 'Find users OUT',
|
|
57
|
+
direction: 'output' as const,
|
|
58
|
+
kind: 'CALL' as const,
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export function lookupInputKey(handle: string | null | undefined): string {
|
|
65
|
+
return handle?.startsWith('lookup:') ? handle.slice('lookup:'.length) : '';
|
|
66
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import type { WorkflowNode } from '../types';
|
|
3
|
+
import { resolveOutputs } from './resolveOutputs';
|
|
4
|
+
|
|
5
|
+
describe('resolveOutputs', () => {
|
|
6
|
+
it('always exposes approved and rejected branches for human approval', () => {
|
|
7
|
+
const node = {
|
|
8
|
+
id: 'approval-1',
|
|
9
|
+
type: 'approval',
|
|
10
|
+
label: 'Approval',
|
|
11
|
+
position: { x: 0, y: 0 },
|
|
12
|
+
config: {},
|
|
13
|
+
} as WorkflowNode;
|
|
14
|
+
|
|
15
|
+
expect(resolveOutputs(node, { outputs: [] })).toEqual(['true', 'false']);
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
it('uses configured external outcomes and the timeout branch', () => {
|
|
19
|
+
const node = {
|
|
20
|
+
id: 'wait-1',
|
|
21
|
+
type: 'external_wait',
|
|
22
|
+
label: '等待签署',
|
|
23
|
+
position: { x: 0, y: 0 },
|
|
24
|
+
config: {
|
|
25
|
+
outcomes: [
|
|
26
|
+
{ code: 'SIGNED', label: '已签署' },
|
|
27
|
+
{ code: 'REJECTED', label: '已拒绝' },
|
|
28
|
+
],
|
|
29
|
+
timeout: { durationSeconds: 3600, outcome: 'TIMEOUT' },
|
|
30
|
+
},
|
|
31
|
+
} as WorkflowNode;
|
|
32
|
+
|
|
33
|
+
expect(resolveOutputs(node, { outputs: [] })).toEqual([
|
|
34
|
+
'SIGNED',
|
|
35
|
+
'REJECTED',
|
|
36
|
+
'TIMEOUT',
|
|
37
|
+
]);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
@@ -14,6 +14,9 @@ export function resolveOutputs(
|
|
|
14
14
|
node: WorkflowNode,
|
|
15
15
|
nodeTypeMeta: { outputs?: string[] | null } | undefined,
|
|
16
16
|
): string[] {
|
|
17
|
+
if (node.type === 'approval' || node.type === 'human_approval') {
|
|
18
|
+
return ['true', 'false'];
|
|
19
|
+
}
|
|
17
20
|
if (node.type === 'switch') {
|
|
18
21
|
const cases = (node.config as any)?.cases as
|
|
19
22
|
| Array<{ value?: string }>
|
|
@@ -23,5 +26,50 @@ export function resolveOutputs(
|
|
|
23
26
|
.map((c) => c?.value)
|
|
24
27
|
.filter((v): v is string => typeof v === 'string' && v.length > 0);
|
|
25
28
|
}
|
|
29
|
+
if (node.type === 'external_wait') {
|
|
30
|
+
const outcomes = Array.isArray((node.config as any)?.outcomes)
|
|
31
|
+
? ((node.config as any).outcomes as Array<{ code?: unknown }>)
|
|
32
|
+
: [];
|
|
33
|
+
const codes = outcomes
|
|
34
|
+
.map((item) => item?.code)
|
|
35
|
+
.filter(
|
|
36
|
+
(code): code is string =>
|
|
37
|
+
typeof code === 'string' && code.trim().length > 0,
|
|
38
|
+
);
|
|
39
|
+
const timeoutOutcome = (node.config as any)?.timeout?.outcome;
|
|
40
|
+
return [
|
|
41
|
+
...codes,
|
|
42
|
+
...(typeof timeoutOutcome === 'string' && timeoutOutcome.trim()
|
|
43
|
+
? [timeoutOutcome]
|
|
44
|
+
: []),
|
|
45
|
+
];
|
|
46
|
+
}
|
|
26
47
|
return nodeTypeMeta?.outputs ?? [];
|
|
27
48
|
}
|
|
49
|
+
|
|
50
|
+
export function resolveOutputLabels(
|
|
51
|
+
node: WorkflowNode,
|
|
52
|
+
): Record<string, string> {
|
|
53
|
+
if (node.type !== 'external_wait') return {};
|
|
54
|
+
const outcomes = Array.isArray((node.config as any)?.outcomes)
|
|
55
|
+
? ((node.config as any).outcomes as Array<{
|
|
56
|
+
code?: unknown;
|
|
57
|
+
label?: unknown;
|
|
58
|
+
}>)
|
|
59
|
+
: [];
|
|
60
|
+
const labels = Object.fromEntries(
|
|
61
|
+
outcomes.flatMap((item) =>
|
|
62
|
+
typeof item.code === 'string' &&
|
|
63
|
+
item.code.trim() &&
|
|
64
|
+
typeof item.label === 'string' &&
|
|
65
|
+
item.label.trim()
|
|
66
|
+
? [[item.code, item.label]]
|
|
67
|
+
: [],
|
|
68
|
+
),
|
|
69
|
+
);
|
|
70
|
+
const timeoutOutcome = (node.config as any)?.timeout?.outcome;
|
|
71
|
+
if (typeof timeoutOutcome === 'string' && timeoutOutcome.trim()) {
|
|
72
|
+
labels[timeoutOutcome] = '已超时';
|
|
73
|
+
}
|
|
74
|
+
return labels;
|
|
75
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import type { Workflow, WorkflowDSL } from '../types';
|
|
3
|
+
import { resolveWorkflowDisplay } from './resolveWorkflowDisplay';
|
|
4
|
+
|
|
5
|
+
const draftDsl: WorkflowDSL = { nodes: [], edges: [] };
|
|
6
|
+
|
|
7
|
+
function workflow(overrides: Partial<Workflow>): Workflow {
|
|
8
|
+
return {
|
|
9
|
+
id: '1',
|
|
10
|
+
name: 'Approval',
|
|
11
|
+
description: null,
|
|
12
|
+
status: 'DRAFT',
|
|
13
|
+
isEnabled: false,
|
|
14
|
+
dsl: null,
|
|
15
|
+
creator: 'test',
|
|
16
|
+
createdAt: '',
|
|
17
|
+
updatedAt: '',
|
|
18
|
+
...overrides,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
describe('resolveWorkflowDisplay', () => {
|
|
23
|
+
it('shows a saved draft even when it has not been published', () => {
|
|
24
|
+
expect(resolveWorkflowDisplay(workflow({ dsl: draftDsl }))).toEqual({
|
|
25
|
+
dsl: draftDsl,
|
|
26
|
+
version: null,
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
it('shows the immutable latest version for a published workflow', () => {
|
|
31
|
+
const publishedDsl: WorkflowDSL = {
|
|
32
|
+
nodes: [
|
|
33
|
+
{
|
|
34
|
+
id: 'start',
|
|
35
|
+
type: 'start',
|
|
36
|
+
label: 'Start',
|
|
37
|
+
position: { x: 0, y: 0 },
|
|
38
|
+
config: {},
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
edges: [],
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
expect(
|
|
45
|
+
resolveWorkflowDisplay({
|
|
46
|
+
...workflow({ status: 'PUBLISHED', dsl: draftDsl }),
|
|
47
|
+
versions: [{ version: 2, dsl: publishedDsl }],
|
|
48
|
+
}),
|
|
49
|
+
).toEqual({ dsl: publishedDsl, version: 2 });
|
|
50
|
+
});
|
|
51
|
+
});
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Workflow, WorkflowDSL, WorkflowVersion } from '../types';
|
|
2
|
+
|
|
3
|
+
type WorkflowWithLoadedVersion = Workflow & {
|
|
4
|
+
versions?: Array<Partial<WorkflowVersion>>;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export interface WorkflowDisplay {
|
|
8
|
+
dsl: WorkflowDSL | null;
|
|
9
|
+
version: number | null;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Drafts are the latest saved editor state. Published workflows display the
|
|
14
|
+
* compiled DSL snapshot belonging to their latest immutable version.
|
|
15
|
+
*/
|
|
16
|
+
export function resolveWorkflowDisplay(
|
|
17
|
+
workflow: WorkflowWithLoadedVersion,
|
|
18
|
+
): WorkflowDisplay {
|
|
19
|
+
if (workflow.status === 'DRAFT' && workflow.dsl) {
|
|
20
|
+
return { dsl: workflow.dsl, version: null };
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const latestVersion = workflow.versions?.[0];
|
|
24
|
+
if (latestVersion?.dsl) {
|
|
25
|
+
return {
|
|
26
|
+
dsl: latestVersion.dsl,
|
|
27
|
+
version: latestVersion.version ?? null,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return { dsl: workflow.dsl ?? null, version: null };
|
|
32
|
+
}
|
|
@@ -95,10 +95,10 @@ export const WorkflowEventOutboxList: React.FC<
|
|
|
95
95
|
const {
|
|
96
96
|
tableProps,
|
|
97
97
|
sorters: sorter,
|
|
98
|
-
|
|
98
|
+
setCurrentPage,
|
|
99
99
|
setFilters,
|
|
100
100
|
filters,
|
|
101
|
-
|
|
101
|
+
tableQuery,
|
|
102
102
|
searchFormProps,
|
|
103
103
|
} = useTable<WorkflowEventOutbox, HttpError>({
|
|
104
104
|
meta: {
|
|
@@ -114,22 +114,24 @@ export const WorkflowEventOutboxList: React.FC<
|
|
|
114
114
|
// onFinish: 将表单值转换为 CrudFilters 并更新筛选条件
|
|
115
115
|
// 有 createdAt 字段的模型(默认)
|
|
116
116
|
searchFormProps.initialValues = getSearchFormInitialValues(parsedFilters);
|
|
117
|
-
searchFormProps.onFinish = createSearchFormOnFinish(
|
|
117
|
+
searchFormProps.onFinish = createSearchFormOnFinish(
|
|
118
|
+
setCurrentPage,
|
|
119
|
+
setFilters,
|
|
120
|
+
);
|
|
118
121
|
|
|
119
122
|
// 没有 createdAt 字段的模型
|
|
120
123
|
// searchFormProps.initialValues = getSearchFormInitialValues(parsedFilters, { dateField: null });
|
|
121
|
-
// searchFormProps.onFinish = createSearchFormOnFinish(
|
|
122
|
-
|
|
124
|
+
// searchFormProps.onFinish = createSearchFormOnFinish(setCurrentPage, setFilters, { dateField: null });
|
|
123
125
|
// 使用其他日期字段(如 updatedAt)
|
|
124
126
|
// searchFormProps.initialValues = getSearchFormInitialValues(parsedFilters, { dateField: 'updatedAt' });
|
|
125
|
-
// searchFormProps.onFinish = createSearchFormOnFinish(
|
|
127
|
+
// searchFormProps.onFinish = createSearchFormOnFinish(setCurrentPage, setFilters, { dateField: 'updatedAt' });
|
|
126
128
|
|
|
127
129
|
// Batch operations (selection, update, delete)
|
|
128
130
|
const batchOps = useBatchOperations({
|
|
129
131
|
resourceName,
|
|
130
132
|
apiUrl,
|
|
131
133
|
requestHeaders,
|
|
132
|
-
onSuccess: () =>
|
|
134
|
+
onSuccess: () => tableQuery.refetch(),
|
|
133
135
|
t,
|
|
134
136
|
});
|
|
135
137
|
|
|
@@ -201,7 +203,7 @@ export const WorkflowEventOutboxList: React.FC<
|
|
|
201
203
|
importProps={importProps}
|
|
202
204
|
onExport={triggerExport}
|
|
203
205
|
exportLoading={exportLoading}
|
|
204
|
-
onRefresh={() =>
|
|
206
|
+
onRefresh={() => tableQuery.refetch()}
|
|
205
207
|
resourceName={resourceName}
|
|
206
208
|
/>
|
|
207
209
|
),
|
|
@@ -22,10 +22,10 @@ export const WorkflowEventOutboxShow: React.FC<
|
|
|
22
22
|
const resourceName = 'workflowEventOutbox';
|
|
23
23
|
const t = useTranslate();
|
|
24
24
|
|
|
25
|
-
const {
|
|
25
|
+
const { query } = useShow<WorkflowEventOutbox>({
|
|
26
26
|
meta: { select: showPrismaSelect },
|
|
27
27
|
});
|
|
28
|
-
const { data, isLoading } =
|
|
28
|
+
const { data, isLoading } = query;
|
|
29
29
|
const record = data?.data;
|
|
30
30
|
|
|
31
31
|
const [[fields, model]] = useState(() => {
|
|
@@ -60,7 +60,7 @@ export const WorkflowEventOutboxShow: React.FC<
|
|
|
60
60
|
>
|
|
61
61
|
<div
|
|
62
62
|
style={{
|
|
63
|
-
border: '1px solid
|
|
63
|
+
border: '1px solid var(--ant-color-border-secondary)',
|
|
64
64
|
borderRadius: 8,
|
|
65
65
|
overflow: 'hidden',
|
|
66
66
|
}}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* --ant-* 主题变量(手写,替代 antd theme.cssVar)。
|
|
3
|
+
*
|
|
4
|
+
* 背景:antd 5.x 的 cssVar 机制按 ConfigProvider 实例生成 .css-var-{id} 类并全局
|
|
5
|
+
* 注入变量规则;在暗→浅来回切换时,旧主题的样式 tag 清理依赖 cssinjs 的引用计数
|
|
6
|
+
* 与 effect 时序,组件树较大时会出现旧暗色规则滞后的竞态(表头/按钮残留暗色)。
|
|
7
|
+
* 弃用 cssVar 后,antd 组件改回按主题生成 hash 类(类名随主题变化,旧规则天然
|
|
8
|
+
* 失效),明暗切换稳健;我们页面里使用的 var(--ant-*) 则由本文件提供。
|
|
9
|
+
*
|
|
10
|
+
* 取值来源:antd 5.29 defaultAlgorithm / darkAlgorithm 的实际派生结果
|
|
11
|
+
* (colorError 固定 #fa541c;主色按 THEME_PRESETS 各预设分别派生)。
|
|
12
|
+
* 升级 antd 或调整预设色板时,需同步核对本文件。
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/* ============ 亮色(默认蓝色预设) ============ */
|
|
16
|
+
html[data-mode='light'] {
|
|
17
|
+
--ant-color-bg-layout: #f0f2f5; /* 项目约定值,antd 默认 #f5f5f5 */
|
|
18
|
+
--ant-color-bg-container: #ffffff;
|
|
19
|
+
--ant-color-bg-elevated: #ffffff;
|
|
20
|
+
--ant-color-border: #d9d9d9;
|
|
21
|
+
--ant-color-border-secondary: #f0f0f0;
|
|
22
|
+
--ant-color-error-bg: #fff2e8;
|
|
23
|
+
--ant-color-fill-alter: rgba(0, 0, 0, 0.02);
|
|
24
|
+
--ant-color-fill-quaternary: rgba(0, 0, 0, 0.02);
|
|
25
|
+
--ant-color-fill-secondary: rgba(0, 0, 0, 0.06);
|
|
26
|
+
--ant-color-fill-tertiary: rgba(0, 0, 0, 0.04);
|
|
27
|
+
--ant-color-text: rgba(0, 0, 0, 0.88);
|
|
28
|
+
--ant-color-text-secondary: rgba(0, 0, 0, 0.65);
|
|
29
|
+
--ant-color-text-tertiary: rgba(0, 0, 0, 0.45);
|
|
30
|
+
--ant-color-text-quaternary: rgba(0, 0, 0, 0.25);
|
|
31
|
+
--ant-color-text-disabled: rgba(0, 0, 0, 0.25);
|
|
32
|
+
--ant-color-warning-bg: #fffbe6;
|
|
33
|
+
|
|
34
|
+
--ant-color-primary: #1677ff;
|
|
35
|
+
--ant-color-primary-bg: #e6f4ff;
|
|
36
|
+
--ant-color-primary-border: #91caff;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* ============ 暗色(默认蓝色预设) ============ */
|
|
40
|
+
html[data-mode='dark'] {
|
|
41
|
+
--ant-color-bg-layout: #000000;
|
|
42
|
+
--ant-color-bg-container: #141414;
|
|
43
|
+
--ant-color-bg-elevated: #1f1f1f;
|
|
44
|
+
--ant-color-border: #424242;
|
|
45
|
+
--ant-color-border-secondary: #303030;
|
|
46
|
+
--ant-color-error-bg: #2b1611;
|
|
47
|
+
--ant-color-fill-alter: rgba(255, 255, 255, 0.04);
|
|
48
|
+
--ant-color-fill-quaternary: rgba(255, 255, 255, 0.04);
|
|
49
|
+
--ant-color-fill-secondary: rgba(255, 255, 255, 0.12);
|
|
50
|
+
--ant-color-fill-tertiary: rgba(255, 255, 255, 0.08);
|
|
51
|
+
--ant-color-text: rgba(255, 255, 255, 0.85);
|
|
52
|
+
--ant-color-text-secondary: rgba(255, 255, 255, 0.65);
|
|
53
|
+
--ant-color-text-tertiary: rgba(255, 255, 255, 0.45);
|
|
54
|
+
--ant-color-text-quaternary: rgba(255, 255, 255, 0.25);
|
|
55
|
+
--ant-color-text-disabled: rgba(255, 255, 255, 0.25);
|
|
56
|
+
--ant-color-warning-bg: #2b2111;
|
|
57
|
+
|
|
58
|
+
--ant-color-primary: #1668dc;
|
|
59
|
+
--ant-color-primary-bg: #15325b;
|
|
60
|
+
--ant-color-primary-border: #15325b;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
/* ============ 主色预设覆盖(仅 primary 系列随预设变化) ============ */
|
|
64
|
+
html[data-preset='teal'][data-mode='light'] {
|
|
65
|
+
--ant-color-primary: #13a8a8;
|
|
66
|
+
--ant-color-primary-bg: #d3e8e5;
|
|
67
|
+
--ant-color-primary-border: #7acfc6;
|
|
68
|
+
}
|
|
69
|
+
html[data-preset='teal'][data-mode='dark'] {
|
|
70
|
+
--ant-color-primary: #139292;
|
|
71
|
+
--ant-color-primary-bg: #144040;
|
|
72
|
+
--ant-color-primary-border: #144040;
|
|
73
|
+
}
|
|
74
|
+
html[data-preset='purple'][data-mode='light'] {
|
|
75
|
+
--ant-color-primary: #722ed1;
|
|
76
|
+
--ant-color-primary-bg: #f9f0ff;
|
|
77
|
+
--ant-color-primary-border: #d3adf7;
|
|
78
|
+
}
|
|
79
|
+
html[data-preset='purple'][data-mode='dark'] {
|
|
80
|
+
--ant-color-primary: #642ab5;
|
|
81
|
+
--ant-color-primary-bg: #301c4d;
|
|
82
|
+
--ant-color-primary-border: #301c4d;
|
|
83
|
+
}
|
|
84
|
+
html[data-preset='orange'][data-mode='light'] {
|
|
85
|
+
--ant-color-primary: #fa8c16;
|
|
86
|
+
--ant-color-primary-bg: #fff7e6;
|
|
87
|
+
--ant-color-primary-border: #ffd591;
|
|
88
|
+
}
|
|
89
|
+
html[data-preset='orange'][data-mode='dark'] {
|
|
90
|
+
--ant-color-primary: #d87a16;
|
|
91
|
+
--ant-color-primary-bg: #593815;
|
|
92
|
+
--ant-color-primary-border: #593815;
|
|
93
|
+
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
.ant-modal-header {
|
|
7
7
|
padding: 20px 24px;
|
|
8
|
-
border-bottom: 1px solid
|
|
8
|
+
border-bottom: 1px solid var(--ant-color-border);
|
|
9
9
|
margin-bottom: 0px;
|
|
10
10
|
}
|
|
11
11
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
|
|
20
20
|
.ant-modal-footer {
|
|
21
21
|
padding: 20px 24px;
|
|
22
|
-
border-top: 1px solid
|
|
22
|
+
border-top: 1px solid var(--ant-color-border);
|
|
23
23
|
margin-top: 0px;
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
|
|
44
44
|
.ant-select.kanban-users-form-select {
|
|
45
45
|
.ant-select-selector {
|
|
46
|
-
background-color:
|
|
46
|
+
background-color: var(--ant-color-bg-container);
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
.ant-pagination-total-text {
|
|
78
78
|
margin-right: auto;
|
|
79
79
|
font-size: 14px !important;
|
|
80
|
-
color:
|
|
80
|
+
color: var(--ant-color-text-tertiary) !important;
|
|
81
81
|
margin-inline-end: auto !important;
|
|
82
82
|
}
|
|
83
83
|
|
|
@@ -94,11 +94,11 @@
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
th.ant-table-column-sort {
|
|
97
|
-
background-color:
|
|
97
|
+
background-color: var(--ant-color-fill-alter) !important;
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
td.ant-table-column-sort {
|
|
101
|
-
background-color:
|
|
101
|
+
background-color: var(--ant-color-bg-container) !important;
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
.ant-table-tbody > tr > td {
|
|
@@ -131,8 +131,8 @@ tr.ant-table-measure-row {
|
|
|
131
131
|
}
|
|
132
132
|
|
|
133
133
|
.ant-picker-input > input[disabled] {
|
|
134
|
-
color:
|
|
134
|
+
color: var(--ant-color-text-disabled) !important;
|
|
135
135
|
}
|
|
136
136
|
.ant-table-expanded-row-level-1 {
|
|
137
|
-
background-color:
|
|
137
|
+
background-color: var(--ant-color-fill-secondary);
|
|
138
138
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
:root {
|
|
2
|
-
--fc-today-bg-color:
|
|
2
|
+
--fc-today-bg-color: var(--ant-color-primary-bg);
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
.fc-daygrid-day-number,
|
|
6
6
|
.fc-col-header-cell-cushion {
|
|
7
|
-
color:
|
|
7
|
+
color: var(--ant-color-text) !important;
|
|
8
8
|
font-weight: 400;
|
|
9
9
|
}
|
|
10
10
|
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
.fc-event {
|
|
22
22
|
.fc-event-title,
|
|
23
23
|
.fc-event-time {
|
|
24
|
-
color:
|
|
24
|
+
color: var(--ant-color-text-secondary);
|
|
25
25
|
font-weight: 400 !important;
|
|
26
26
|
font-size: 12px;
|
|
27
27
|
}
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
.fc-timegrid-slot-label-cushion,
|
|
45
45
|
.fc-list-day-text,
|
|
46
46
|
.fc-list-day-side-text {
|
|
47
|
-
color:
|
|
47
|
+
color: var(--ant-color-text);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
.fc-list-day {
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
.ant-text,
|
|
47
47
|
.anticon {
|
|
48
48
|
&.primary {
|
|
49
|
-
color:
|
|
49
|
+
color: var(--ant-color-text);
|
|
50
50
|
}
|
|
51
51
|
&.secondary {
|
|
52
|
-
color:
|
|
52
|
+
color: var(--ant-color-text-secondary);
|
|
53
53
|
}
|
|
54
54
|
&.tertiary {
|
|
55
|
-
color:
|
|
55
|
+
color: var(--ant-color-text-tertiary);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
.ant-picker-prefix,
|
|
104
104
|
.ant-input-prefix,
|
|
105
105
|
.ant-select-prefix {
|
|
106
|
-
color:
|
|
106
|
+
color: var(--ant-color-text-quaternary) !important;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
109
|
.flex-center {
|
|
@@ -119,10 +119,45 @@
|
|
|
119
119
|
}
|
|
120
120
|
|
|
121
121
|
.cost-cente-cell-bg-color {
|
|
122
|
-
background-color:
|
|
122
|
+
background-color: var(--ant-color-warning-bg);
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
.endpoint-self-select .ant-select-selection-item {
|
|
126
126
|
display: inline-flex !important;
|
|
127
127
|
justify-content: flex-end !important;
|
|
128
128
|
}
|
|
129
|
+
|
|
130
|
+
/* 卡片内的筛选表单:去掉 Form.Item 底部间距,避免卡片下方空隙过大 */
|
|
131
|
+
.card-search-bar .ant-form-item {
|
|
132
|
+
margin-bottom: 0;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/* 卡片内的表格:去掉分页器底部间距,避免卡片下方空隙过大 */
|
|
136
|
+
.card-table .ant-table-pagination.ant-pagination {
|
|
137
|
+
margin-bottom: 0;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
/* 批量操作栏为空(无选中且非检查模式)时,隐藏占位容器避免多余空隙 */
|
|
141
|
+
.card-table > .ant-card-body > div:empty {
|
|
142
|
+
display: none;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/*
|
|
146
|
+
* Refine CRUD 页头统一为「压扁白卡」风格(与 PageHeader/HEADER_CARD_PROPS 一致)。
|
|
147
|
+
* Refine Create/Edit/Show/List 的页头是 pro-layout PageHeader(ghost 透明底、
|
|
148
|
+
* 根节点内联 padding:0),其标题行渲染为 .ant-page-header-heading,
|
|
149
|
+
* 内容(表单/卡片)在兄弟节点 .ant-page-header-content,因此只给标题行加白卡样式。
|
|
150
|
+
* cssinjs 生成的类优先级更高,box 属性需 !important。
|
|
151
|
+
*/
|
|
152
|
+
.ant-page-header-heading {
|
|
153
|
+
background: var(--ant-color-bg-container);
|
|
154
|
+
border: 1px solid var(--ant-color-border-secondary);
|
|
155
|
+
border-radius: 8px;
|
|
156
|
+
padding: 12px 24px !important;
|
|
157
|
+
margin-bottom: 16px !important;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
/* pro-layout 默认给内容区 12px 上 padding,归零使页头卡与内容卡间距恰为 16px */
|
|
161
|
+
.ant-page-header-content {
|
|
162
|
+
padding-top: 0 !important;
|
|
163
|
+
}
|
package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-drawer.module.css
CHANGED
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
display: flex;
|
|
3
3
|
justify-content: flex-end;
|
|
4
4
|
padding: 16px;
|
|
5
|
-
background:
|
|
5
|
+
background: var(--ant-color-bg-container);
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
.container {
|
|
9
9
|
padding: 16px;
|
|
10
|
-
background:
|
|
10
|
+
background: var(--ant-color-bg-layout);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.container > div {
|
|
14
14
|
padding: 16px;
|
|
15
|
-
background:
|
|
15
|
+
background: var(--ant-color-bg-container);
|
|
16
16
|
border-radius: 2px;
|
|
17
17
|
margin-bottom: 16px;
|
|
18
18
|
}
|
package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/styles/show-page.module.css
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
.contentProps {
|
|
2
|
-
background-color:
|
|
2
|
+
background-color: var(--ant-color-bg-layout);
|
|
3
3
|
padding: 0;
|
|
4
4
|
margin-top: 1rem;
|
|
5
5
|
}
|
|
@@ -10,12 +10,12 @@
|
|
|
10
10
|
|
|
11
11
|
.container {
|
|
12
12
|
padding: 0px;
|
|
13
|
-
background:
|
|
13
|
+
background: var(--ant-color-bg-layout);
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.container > div {
|
|
17
17
|
padding: 16px;
|
|
18
|
-
background:
|
|
18
|
+
background: var(--ant-color-bg-container);
|
|
19
19
|
border-radius: 2px;
|
|
20
20
|
margin-bottom: 16px;
|
|
21
21
|
}
|