openxiangda 2.0.0-alpha.31 → 2.0.0-alpha.34

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 (47) hide show
  1. package/dist/browser/admin-contributions.d.ts +20 -11
  2. package/dist/browser/admin-contributions.d.ts.map +1 -1
  3. package/dist/browser/admin-contributions.js +21 -4
  4. package/dist/browser/admin-contributions.js.map +1 -1
  5. package/dist/browser/application.d.ts +2 -2
  6. package/dist/browser/application.d.ts.map +1 -1
  7. package/dist/browser/application.js +47 -19
  8. package/dist/browser/application.js.map +1 -1
  9. package/dist/browser/components/resource/GeneratedResourceCrud.d.ts +9 -1
  10. package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
  11. package/dist/browser/components/resource/GeneratedResourceCrud.js +39 -22
  12. package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
  13. package/dist/browser/components/resource/StandardResourcePages.d.ts.map +1 -1
  14. package/dist/browser/components/resource/StandardResourcePages.js +11 -12
  15. package/dist/browser/components/resource/StandardResourcePages.js.map +1 -1
  16. package/dist/browser/components/todo/ApplicationTodoCenterPage.d.ts +6 -0
  17. package/dist/browser/components/todo/ApplicationTodoCenterPage.d.ts.map +1 -0
  18. package/dist/browser/components/todo/ApplicationTodoCenterPage.js +149 -0
  19. package/dist/browser/components/todo/ApplicationTodoCenterPage.js.map +1 -0
  20. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +4 -2
  21. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -1
  22. package/dist/browser/components/workflow/StandardWorkflowPages.js +45 -14
  23. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -1
  24. package/dist/browser/platform-client.d.ts +11 -2
  25. package/dist/browser/platform-client.d.ts.map +1 -1
  26. package/dist/browser/platform-client.js +28 -0
  27. package/dist/browser/platform-client.js.map +1 -1
  28. package/dist/browser/styles.css +238 -0
  29. package/dist/browser/workflow-definitions.d.ts +4 -0
  30. package/dist/browser/workflow-definitions.d.ts.map +1 -1
  31. package/dist/browser/workflow-definitions.js.map +1 -1
  32. package/dist/config.d.ts +1 -1
  33. package/dist/config.d.ts.map +1 -1
  34. package/dist/config.js +1 -1
  35. package/dist/config.js.map +1 -1
  36. package/dist/core.d.ts +1 -1
  37. package/dist/core.d.ts.map +1 -1
  38. package/dist/core.js.map +1 -1
  39. package/dist/react.d.ts +1 -0
  40. package/dist/react.d.ts.map +1 -1
  41. package/dist/react.js +1 -0
  42. package/dist/react.js.map +1 -1
  43. package/package.json +7 -7
  44. package/skills/openxiangda-v2/SKILL.md +3 -3
  45. package/skills/openxiangda-v2/references/frontend.md +42 -13
  46. package/skills/openxiangda-v2/references/workflow-events.md +64 -0
  47. package/skills/openxiangda-v2/references/workspace.md +2 -2
@@ -2,9 +2,12 @@ import type { AppFrontendRouteContract } from 'openxiangda-contracts/browser';
2
2
  import { type ComponentType, type ReactNode } from 'react';
3
3
  declare const ADMIN_CONTRIBUTIONS_BRAND: unique symbol;
4
4
  export type AdminContributionAccess = Pick<AppFrontendRouteContract, 'capability' | 'access'>;
5
- export interface AdminOperationPageProps {
5
+ export interface ApplicationRoutePageProps {
6
6
  route: Readonly<AppFrontendRouteContract>;
7
7
  }
8
+ export type ApplicationRoutePageComponent = ComponentType<ApplicationRoutePageProps>;
9
+ export interface AdminOperationPageProps extends ApplicationRoutePageProps {
10
+ }
8
11
  export type AdminOperationPageComponent = ComponentType<AdminOperationPageProps>;
9
12
  interface AdminResourceActionContext {
10
13
  resource: string;
@@ -32,35 +35,41 @@ export interface AdminResourceContributions<RecordValue = Record<string, unknown
32
35
  row?: readonly AdminRowActionContribution<RecordValue>[];
33
36
  detail?: readonly AdminDetailActionContribution<RecordValue>[];
34
37
  }
35
- export interface AdminOperationPageContribution {
38
+ export interface ApplicationRoutePageContribution {
36
39
  route: Readonly<AppFrontendRouteContract>;
40
+ component: ApplicationRoutePageComponent;
41
+ }
42
+ export interface AdminOperationPageContribution extends ApplicationRoutePageContribution {
37
43
  component: AdminOperationPageComponent;
38
44
  }
39
- export interface OpenXiangdaAdminContributions {
45
+ export interface OpenXiangdaApplicationContributions {
40
46
  readonly [ADMIN_CONTRIBUTIONS_BRAND]: true;
41
- routes: readonly AdminOperationPageContribution[];
47
+ routes: readonly ApplicationRoutePageContribution[];
42
48
  resources: Readonly<Record<string, Readonly<AdminResourceContributions>>>;
43
49
  }
50
+ export interface OpenXiangdaAdminContributions extends OpenXiangdaApplicationContributions {
51
+ routes: readonly AdminOperationPageContribution[];
52
+ }
44
53
  type RouteContracts = Readonly<Record<string, Readonly<AppFrontendRouteContract>>>;
45
54
  type PagesFor<Routes extends RouteContracts> = {
46
- readonly [Key in keyof Routes]: AdminOperationPageComponent;
55
+ readonly [Key in keyof Routes]: ApplicationRoutePageComponent;
47
56
  };
48
57
  export interface DefineAdminContributionsInput<Routes extends RouteContracts> {
49
58
  pages: PagesFor<Routes>;
50
59
  resources?: Readonly<Record<string, AdminResourceContributions>>;
51
60
  }
52
- /**
53
- * Binds every compiler-generated route contract to exactly one local React
54
- * component and declares bounded extension slots for generated resource pages.
55
- */
61
+ export interface DefineApplicationContributionsInput<Routes extends RouteContracts> extends DefineAdminContributionsInput<Routes> {
62
+ }
63
+ export declare function defineApplicationContributions<const Routes extends RouteContracts>(routeContracts: Routes, input: DefineApplicationContributionsInput<Routes>): OpenXiangdaApplicationContributions;
56
64
  export declare function defineAdminContributions<const Routes extends RouteContracts>(routeContracts: Routes, input: DefineAdminContributionsInput<Routes>): OpenXiangdaAdminContributions;
57
65
  export declare function isAdminContributionAllowed(contribution: AdminContributionAccess, hasCapability: (capability: string) => boolean): boolean;
58
66
  export declare function isAdminRouteAllowed(contribution: AdminOperationPageContribution, allRoutes: readonly AdminOperationPageContribution[], hasCapability: (capability: string) => boolean): boolean;
67
+ export declare function isApplicationRouteAllowed(contribution: ApplicationRoutePageContribution, allRoutes: readonly ApplicationRoutePageContribution[], hasCapability: (capability: string) => boolean): boolean;
59
68
  export declare function AdminContributionsProvider({ children, contributions, }: {
60
69
  children: ReactNode;
61
- contributions?: OpenXiangdaAdminContributions;
70
+ contributions?: OpenXiangdaApplicationContributions;
62
71
  }): import("react/jsx-runtime").JSX.Element;
63
- export declare function useAdminContributions(): OpenXiangdaAdminContributions;
72
+ export declare function useAdminContributions(): OpenXiangdaApplicationContributions;
64
73
  export declare function useAdminResourceContributions(resource: string): Readonly<AdminResourceContributions> | undefined;
65
74
  export {};
66
75
  //# sourceMappingURL=admin-contributions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-contributions.d.ts","sourceRoot":"","sources":["../../src/browser/admin-contributions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-contributions.d.ts","sourceRoot":"","sources":["../../src/browser/admin-contributions.tsx"],"names":[],"mappings":"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"}
@@ -66,7 +66,7 @@ function orderedActions(actions) {
66
66
  * Binds every compiler-generated route contract to exactly one local React
67
67
  * component and declares bounded extension slots for generated resource pages.
68
68
  */
69
- export function defineAdminContributions(routeContracts, input) {
69
+ function defineContributions(routeContracts, input, allowedSurfaces, adminPathMode) {
70
70
  const routeEntries = Object.entries(routeContracts);
71
71
  const pageEntries = Object.entries(input.pages);
72
72
  if (routeEntries.length > MAX_ROUTES)
@@ -81,10 +81,14 @@ export function defineAdminContributions(routeContracts, input) {
81
81
  const component = input.pages[key];
82
82
  if (!CODE_PATTERN.test(route.code) ||
83
83
  codes.has(route.code) ||
84
- !(route.path === '/admin/operations' ||
85
- route.path.startsWith('/admin/operations/')) ||
84
+ (route.surface === 'admin' &&
85
+ !(adminPathMode === 'application'
86
+ ? route.path.startsWith('/admin/')
87
+ : route.path === '/admin/operations' ||
88
+ route.path.startsWith('/admin/operations/'))) ||
89
+ (route.surface === 'user' && route.path.startsWith('/admin')) ||
86
90
  paths.has(route.path) ||
87
- route.surface !== 'admin' ||
91
+ !allowedSurfaces.has(route.surface) ||
88
92
  !route.label.trim() ||
89
93
  !component)
90
94
  invalid(`route:${key}`);
@@ -114,6 +118,10 @@ export function defineAdminContributions(routeContracts, input) {
114
118
  for (const [code, parentCode] of parentByCode) {
115
119
  if (!codes.has(parentCode) || code === parentCode)
116
120
  invalid(`route:${code}:parent`);
121
+ const route = routes.find(item => item.route.code === code);
122
+ const parent = routes.find(item => item.route.code === parentCode);
123
+ if (route.route.surface !== parent.route.surface)
124
+ invalid(`route:${code}:parent-surface`);
117
125
  const visited = new Set();
118
126
  let current = code;
119
127
  while (current && parentByCode.has(current)) {
@@ -147,6 +155,12 @@ export function defineAdminContributions(routeContracts, input) {
147
155
  resources: Object.freeze(resources),
148
156
  });
149
157
  }
158
+ export function defineApplicationContributions(routeContracts, input) {
159
+ return defineContributions(routeContracts, input, new Set(['admin', 'user']), 'application');
160
+ }
161
+ export function defineAdminContributions(routeContracts, input) {
162
+ return defineContributions(routeContracts, input, new Set(['admin']), 'operation');
163
+ }
150
164
  export function isAdminContributionAllowed(contribution, hasCapability) {
151
165
  if (contribution.capability)
152
166
  return hasCapability(contribution.capability);
@@ -156,6 +170,9 @@ export function isAdminContributionAllowed(contribution, hasCapability) {
156
170
  (anyOf.length === 0 || anyOf.some(hasCapability)));
157
171
  }
158
172
  export function isAdminRouteAllowed(contribution, allRoutes, hasCapability) {
173
+ return isApplicationRouteAllowed(contribution, allRoutes, hasCapability);
174
+ }
175
+ export function isApplicationRouteAllowed(contribution, allRoutes, hasCapability) {
159
176
  const byCode = new Map(allRoutes.map((item) => [item.route.code, item]));
160
177
  let current = contribution;
161
178
  const visited = new Set();
@@ -1 +1 @@
1
- {"version":3,"file":"admin-contributions.js","sourceRoot":"","sources":["../../src/browser/admin-contributions.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"admin-contributions.js","sourceRoot":"","sources":["../../src/browser/admin-contributions.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { type OpenXiangdaAdminContributions } from './admin-contributions';
1
+ import { type OpenXiangdaApplicationContributions } from './admin-contributions';
2
2
  import { type AdminNavigationInput, type AdminPagesInput } from './admin-information-architecture';
3
3
  import type { GeneratedResourceDefinitionsInput } from './components/resource/generated-resource-definition';
4
4
  import type { RuntimePerspective } from './runtime';
@@ -11,7 +11,7 @@ export interface OpenXiangdaApplicationProps {
11
11
  adminNavigation: AdminNavigationInput;
12
12
  perspectives?: readonly RuntimePerspective[];
13
13
  workflows?: StandardWorkflowDefinitionsInput;
14
- contributions?: OpenXiangdaAdminContributions;
14
+ contributions?: OpenXiangdaApplicationContributions;
15
15
  }
16
16
  export declare function OpenXiangdaApplication({ appCode, appName, resourceDefinitions: readonlyResourceDefinitions, adminPages, adminNavigation, perspectives, workflows, contributions, }: OpenXiangdaApplicationProps): import("react/jsx-runtime").JSX.Element;
17
17
  //# sourceMappingURL=application.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/browser/application.tsx"],"names":[],"mappings":"AAYA,OAAO,EAKL,KAAK,6BAA6B,EACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAEV,iCAAiC,EAClC,MAAM,qDAAqD,CAAC;AAC7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGpD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,wBAAwB,CAAC;AA6DhC,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,iCAAiC,CAAC;IACvD,UAAU,EAAE,eAAe,CAAC;IAC5B,eAAe,EAAE,oBAAoB,CAAC;IACtC,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC7C,SAAS,CAAC,EAAE,gCAAgC,CAAC;IAC7C,aAAa,CAAC,EAAE,6BAA6B,CAAC;CAC/C;AA8DD,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,OAAO,EACP,mBAAmB,EAAE,2BAA2B,EAChD,UAAU,EACV,eAAe,EACf,YAAiB,EACjB,SAAc,EACd,aAAa,GACd,EAAE,2BAA2B,2CAkL7B"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/browser/application.tsx"],"names":[],"mappings":"AAYA,OAAO,EAKL,KAAK,mCAAmC,EACzC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAIL,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACrB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,KAAK,EAEV,iCAAiC,EAClC,MAAM,qDAAqD,CAAC;AAE7D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAGpD,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,wBAAwB,CAAC;AAiGhC,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,iCAAiC,CAAC;IACvD,UAAU,EAAE,eAAe,CAAC;IAC5B,eAAe,EAAE,oBAAoB,CAAC;IACtC,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAC7C,SAAS,CAAC,EAAE,gCAAgC,CAAC;IAC7C,aAAa,CAAC,EAAE,mCAAmC,CAAC;CACrD;AAsED,wBAAgB,sBAAsB,CAAC,EACrC,OAAO,EACP,OAAO,EACP,mBAAmB,EAAE,2BAA2B,EAChD,UAAU,EACV,eAAe,EACf,YAAiB,EACjB,SAAc,EACd,aAAa,GACd,EAAE,2BAA2B,2CA2N7B"}
@@ -8,7 +8,7 @@ import { createApplicationProvider } from './data-provider';
8
8
  import { RuntimeBoundary, useRuntime } from './runtime';
9
9
  import { applicationBasename, configureApplicationIdentity, } from './runtime-meta';
10
10
  import { EmptyApplicationPage, Shell } from './Shell';
11
- import { AdminContributionsProvider, isAdminRouteAllowed, useAdminContributions, } from './admin-contributions';
11
+ import { AdminContributionsProvider, isApplicationRouteAllowed, useAdminContributions, } from './admin-contributions';
12
12
  import { AdminInformationArchitectureProvider, firstAllowedAdminPath, useAdminInformationArchitecture, } from './admin-information-architecture';
13
13
  import { OpenXiangdaResourceDefinitionsProvider } from './resource-definitions';
14
14
  import { useGlobalRequestLoading } from './platform-client';
@@ -26,6 +26,9 @@ const WorkflowTaskPage = lazy(() => workflowPages().then((module) => ({ default:
26
26
  const WorkflowWorkCenterPage = lazy(() => workflowPages().then((module) => ({
27
27
  default: module.WorkflowWorkCenterPage,
28
28
  })));
29
+ const ApplicationTodoCenterPage = lazy(() => import('./components/todo/ApplicationTodoCenterPage').then((module) => ({
30
+ default: module.ApplicationTodoCenterPage,
31
+ })));
29
32
  function WorkflowRoute({ children }) {
30
33
  return (_jsx(Suspense, { fallback: _jsx("div", { className: "oxa-page-loading", children: "\u6B63\u5728\u52A0\u8F7D\u5BA1\u6279\u9875\u9762\u2026" }), children: children }));
31
34
  }
@@ -33,7 +36,29 @@ function ApplicationRoute({ children }) {
33
36
  return (_jsx(Suspense, { fallback: _jsx("div", { className: "oxa-page-loading", children: "\u6B63\u5728\u52A0\u8F7D\u5E94\u7528\u9875\u9762\u2026" }), children: children }));
34
37
  }
35
38
  function GeneratedResourceRoute(props) {
36
- return (_jsx(ApplicationRoute, { children: _jsx(GeneratedResourcePage, { ...props }) }));
39
+ const content = (_jsx(ApplicationRoute, { children: _jsx(GeneratedResourcePage, { ...props }) }));
40
+ return props.variant === 'mobile' ? content : _jsx(Shell, { children: content });
41
+ }
42
+ function resourceRoutePaths(pages, resourceCode, variant) {
43
+ const project = (path) => variant === 'mobile' ? `/m${path}` : path;
44
+ const byKind = new Map(pages
45
+ .filter(page => page.resourceCode === resourceCode)
46
+ .map(page => [page.kind, project(page.path)]));
47
+ return Object.freeze({
48
+ fallback: variant === 'mobile' ? '/' : '/admin',
49
+ ...(byKind.get('resource-list')
50
+ ? { list: byKind.get('resource-list') }
51
+ : {}),
52
+ ...(byKind.get('resource-detail')
53
+ ? { detail: byKind.get('resource-detail') }
54
+ : {}),
55
+ ...(byKind.get('resource-create')
56
+ ? { create: byKind.get('resource-create') }
57
+ : {}),
58
+ ...(byKind.get('resource-update')
59
+ ? { edit: byKind.get('resource-update') }
60
+ : {}),
61
+ });
37
62
  }
38
63
  function ApplicationAdminEntry({}) {
39
64
  const { hasCapability, hasReadCapability } = useRuntime();
@@ -41,17 +66,17 @@ function ApplicationAdminEntry({}) {
41
66
  const contributions = useAdminContributions();
42
67
  const target = firstAllowedAdminPath(architecture, hasCapability, hasReadCapability, routeCode => {
43
68
  const route = contributions.routes.find(contribution => contribution.route.code === routeCode);
44
- return Boolean(route && isAdminRouteAllowed(route, contributions.routes, hasCapability));
69
+ return Boolean(route &&
70
+ route.route.surface === 'admin' &&
71
+ isApplicationRouteAllowed(route, contributions.routes, hasCapability));
45
72
  });
46
73
  return target ? _jsx(Navigate, { replace: true, to: target }) : _jsx(EmptyApplicationPage, {});
47
74
  }
48
- function AdminOperationRoute({ contribution, allRoutes, }) {
75
+ function ApplicationContributionRoute({ contribution, allRoutes, }) {
49
76
  const { hasCapability } = useRuntime();
50
77
  const Component = contribution.component;
51
- if (!isAdminRouteAllowed(contribution, allRoutes, hasCapability)) {
52
- return (_jsx(Shell, { children: _jsx(Result, { status: "403", title: "\u5F53\u524D\u5E73\u53F0\u7528\u6237\u65E0\u6B64\u9875\u9762\u6743\u9650" }) }));
53
- }
54
- return (_jsx(Shell, { children: _jsx(ApplicationRoute, { children: _jsx(Component, { route: contribution.route }) }) }));
78
+ const content = !isApplicationRouteAllowed(contribution, allRoutes, hasCapability) ? (_jsx(Result, { status: "403", title: "\u5F53\u524D\u5E73\u53F0\u7528\u6237\u65E0\u6B64\u9875\u9762\u6743\u9650" })) : (_jsx(ApplicationRoute, { children: _jsx(Component, { route: contribution.route }) }));
79
+ return contribution.route.surface === 'admin' ? (_jsx(Shell, { children: content })) : (content);
55
80
  }
56
81
  function GlobalRequestLoading() {
57
82
  const loading = useGlobalRequestLoading();
@@ -73,20 +98,22 @@ export function OpenXiangdaApplication({ appCode, appName, resourceDefinitions:
73
98
  : page.kind === 'resource-detail'
74
99
  ? 'detail'
75
100
  : 'list';
76
- const mobilePath = mode === 'list'
77
- ? `/m/${resourceCode}`
78
- : mode === 'create'
79
- ? `/m/${resourceCode}/new`
80
- : mode === 'edit'
81
- ? `/m/${resourceCode}/:id/edit`
82
- : `/m/${resourceCode}/:id`;
101
+ const desktopPaths = resourceRoutePaths(resourcePages, resourceCode, 'desktop');
102
+ const mobilePaths = resourceRoutePaths(resourcePages, resourceCode, 'mobile');
103
+ const mobilePath = `/m${page.path}`;
83
104
  return [
84
- _jsx(Route, { path: page.path, element: _jsx(GeneratedResourceRoute, { mode: mode, resourceCode: resourceCode }) }, page.code),
85
- _jsx(Route, { path: mobilePath, element: _jsx(GeneratedResourceRoute, { mode: mode, resourceCode: resourceCode, variant: "mobile" }) }, `${page.code}:mobile`),
105
+ _jsx(Route, { path: page.path, element: _jsx(GeneratedResourceRoute, { mode: mode, paths: desktopPaths, resourceCode: resourceCode }) }, page.code),
106
+ _jsx(Route, { path: mobilePath, element: _jsx(GeneratedResourceRoute, { mode: mode, paths: mobilePaths, resourceCode: resourceCode, variant: "mobile" }) }, `${page.code}:mobile`),
86
107
  ];
87
108
  });
88
- const operationRoutes = contributionRoutes.map((contribution) => (_jsx(Route, { element: _jsx(AdminOperationRoute, { allRoutes: contributionRoutes, contribution: contribution }), path: contribution.route.path }, contribution.route.code)));
109
+ const applicationRoutes = contributionRoutes.map((contribution) => (_jsx(Route, { element: _jsx(ApplicationContributionRoute, { allRoutes: contributionRoutes, contribution: contribution }), path: contribution.route.path }, contribution.route.code)));
89
110
  const workflowRoutes = adminPages.flatMap(page => {
111
+ if (page.kind === 'application-todo-center') {
112
+ return [
113
+ _jsx(Route, { path: page.path, element: _jsx(ApplicationRoute, { children: _jsx(Shell, { children: _jsx(ApplicationTodoCenterPage, {}) }) }) }, page.code),
114
+ _jsx(Route, { path: "/m/todos", element: _jsx(ApplicationRoute, { children: _jsx(ApplicationTodoCenterPage, { variant: "mobile" }) }) }, `${page.code}:mobile`),
115
+ ];
116
+ }
90
117
  if (page.kind === 'workflow-work-center') {
91
118
  return [
92
119
  _jsx(Route, { path: page.path, element: _jsx(WorkflowRoute, { children: _jsx(WorkflowWorkCenterPage, {}) }) }, page.code),
@@ -108,6 +135,7 @@ export function OpenXiangdaApplication({ appCode, appName, resourceDefinitions:
108
135
  if (page.kind === 'workflow-launch') {
109
136
  return [
110
137
  _jsx(Route, { path: page.path, element: _jsx(WorkflowRoute, { children: _jsx(WorkflowSubmissionPage, { workflowCode: page.workflowCode }) }) }, page.code),
138
+ _jsx(Route, { path: "/m/workflows/:workflowCode/start", element: _jsx(WorkflowRoute, { children: _jsx(WorkflowSubmissionPage, { variant: "mobile" }) }) }, `${page.code}:mobile`),
111
139
  ];
112
140
  }
113
141
  return [];
@@ -132,6 +160,6 @@ export function OpenXiangdaApplication({ appCode, appName, resourceDefinitions:
132
160
  ? { show: byKind.get('resource-detail') }
133
161
  : {}),
134
162
  };
135
- }), children: _jsxs(Routes, { children: [_jsx(Route, { path: "/", element: adminEntry }), _jsx(Route, { path: "/admin", element: adminEntry }), _jsx(Route, { path: "/files/:resourceCode/:fileId/preview", element: _jsx(ApplicationRoute, { children: _jsx(FilePreviewPage, {}) }) }), resourceRoutes, workflowRoutes, operationRoutes] }) }) }) })] }) }) }) }) }));
163
+ }), children: _jsxs(Routes, { children: [_jsx(Route, { path: "/", element: adminEntry }), _jsx(Route, { path: "/admin", element: adminEntry }), _jsx(Route, { path: "/files/:resourceCode/:fileId/preview", element: _jsx(ApplicationRoute, { children: _jsx(FilePreviewPage, {}) }) }), resourceRoutes, workflowRoutes, applicationRoutes] }) }) }) })] }) }) }) }) }));
136
164
  }
137
165
  //# sourceMappingURL=application.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/browser/application.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/browser/application.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +1,16 @@
1
1
  import type { GeneratedResourceDefinition } from './generated-resource-definition';
2
- export declare function GeneratedResourcePage({ resourceCode, mode, variant, definition: providedDefinition, }: {
2
+ export interface GeneratedResourceRoutePaths {
3
+ fallback: string;
4
+ list?: string;
5
+ detail?: string;
6
+ create?: string;
7
+ edit?: string;
8
+ }
9
+ export declare function GeneratedResourcePage({ resourceCode, mode, variant, definition: providedDefinition, paths, }: {
3
10
  resourceCode: string;
4
11
  mode?: 'list' | 'create' | 'edit' | 'detail';
5
12
  variant?: 'desktop' | 'mobile';
6
13
  definition?: GeneratedResourceDefinition;
14
+ paths: GeneratedResourceRoutePaths;
7
15
  }): import("react/jsx-runtime").JSX.Element;
8
16
  //# sourceMappingURL=GeneratedResourceCrud.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratedResourceCrud.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/GeneratedResourceCrud.tsx"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAmQnF,wBAAgB,qBAAqB,CAAC,EACpC,YAAY,EACZ,IAAa,EACb,OAAmB,EACnB,UAAU,EAAE,kBAAkB,GAC/B,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7C,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C,2CAYA"}
1
+ {"version":3,"file":"GeneratedResourceCrud.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/GeneratedResourceCrud.tsx"],"names":[],"mappings":"AAuFA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AASnF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAmQD,wBAAgB,qBAAqB,CAAC,EACpC,YAAY,EACZ,IAAa,EACb,OAAmB,EACnB,UAAU,EAAE,kBAAkB,EAC9B,KAAK,GACN,EAAE;IACD,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7C,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC/B,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,KAAK,EAAE,2BAA2B,CAAC;CACpC,2CAqBA"}
@@ -15,6 +15,12 @@ import { isAdminContributionAllowed, useAdminResourceContributions, } from '../.
15
15
  import { SubtableField, SubtableValueDisplay, } from '../platform-fields/SubtableField';
16
16
  import { buildSubtableOperations, } from '../platform-fields/subtable-value';
17
17
  import { useResourceDefinitions } from '../../resource-definitions';
18
+ function resourceRecordPath(path, id) {
19
+ if (!path || !path.includes(':id')) {
20
+ throw new Error('OPENXIANGDA_GENERATED_RESOURCE_ROUTE_MISSING');
21
+ }
22
+ return path.replace(':id', encodeURIComponent(id));
23
+ }
18
24
  function signatureSigner(profile) {
19
25
  if (!profile)
20
26
  return undefined;
@@ -189,24 +195,31 @@ function useGeneratedList(definition, readableFieldCodes) {
189
195
  sort,
190
196
  };
191
197
  }
192
- export function GeneratedResourcePage({ resourceCode, mode = 'list', variant = 'desktop', definition: providedDefinition, }) {
198
+ export function GeneratedResourcePage({ resourceCode, mode = 'list', variant = 'desktop', definition: providedDefinition, paths, }) {
193
199
  const definitions = useResourceDefinitions();
194
200
  const definition = providedDefinition || definitions[resourceCode];
195
201
  const operation = mode === 'edit' ? 'update' : mode;
196
202
  if (!definition || definition.surface.generated?.[operation] !== true) {
197
203
  return _jsx(Result, { status: "404", title: "\u672A\u58F0\u660E\u53EF\u751F\u6210\u7684\u8D44\u6E90\u9875\u9762" });
198
204
  }
205
+ const generated = definition.surface.generated;
206
+ if ((generated.list && !paths.list) ||
207
+ (generated.detail && !paths.detail) ||
208
+ (generated.create && !paths.create) ||
209
+ (generated.update && !paths.edit)) {
210
+ return _jsx(Result, { status: "500", title: "\u751F\u6210\u8D44\u6E90\u8DEF\u7531\u5408\u540C\u4E0D\u5B8C\u6574" });
211
+ }
199
212
  const pageKey = `${variant}:${mode}:${resourceCode}`;
200
213
  if (mode === 'list')
201
- return _jsx(GeneratedResourceListPage, { definition: definition, variant: variant }, pageKey);
214
+ return _jsx(GeneratedResourceListPage, { definition: definition, paths: paths, variant: variant }, pageKey);
202
215
  if (mode === 'detail')
203
- return _jsx(GeneratedResourceDetailPage, { definition: definition, variant: variant }, pageKey);
204
- return _jsx(GeneratedResourceFormPage, { definition: definition, mode: mode, variant: variant }, pageKey);
216
+ return _jsx(GeneratedResourceDetailPage, { definition: definition, paths: paths, variant: variant }, pageKey);
217
+ return _jsx(GeneratedResourceFormPage, { definition: definition, mode: mode, paths: paths, variant: variant }, pageKey);
205
218
  }
206
- function GeneratedResourceListPage({ definition, variant }) {
207
- return variant === 'mobile' ? _jsx(GeneratedMobileList, { definition: definition }) : _jsx(GeneratedDesktopList, { definition: definition });
219
+ function GeneratedResourceListPage({ definition, paths, variant }) {
220
+ return variant === 'mobile' ? _jsx(GeneratedMobileList, { definition: definition, paths: paths }) : _jsx(GeneratedDesktopList, { definition: definition, paths: paths });
208
221
  }
209
- function GeneratedDesktopList({ definition }) {
222
+ function GeneratedDesktopList({ definition, paths }) {
210
223
  const navigate = useNavigate();
211
224
  const { message } = App.useApp();
212
225
  const { hasCapability, hasReadCapability, identity } = useRuntime();
@@ -255,7 +268,7 @@ function GeneratedDesktopList({ definition }) {
255
268
  key: field.key,
256
269
  sorter: Boolean(field.sortable),
257
270
  render: (value, record) => (_jsx(SurfaceFieldValue, { field: field, resourceCode: code, value: value, renderers: {
258
- renderValue: ({ value: current }) => field.key === fields[0]?.key && generated.detail ? (_jsx("a", { onClick: () => navigate(`/${code}/${record.id}`), children: String(current || '-') })) : undefined,
271
+ renderValue: ({ value: current }) => field.key === fields[0]?.key && generated.detail ? (_jsx("a", { onClick: () => navigate(resourceRecordPath(paths.detail, record.id)), children: String(current || '-') })) : undefined,
259
272
  } })),
260
273
  })),
261
274
  {
@@ -268,7 +281,7 @@ function GeneratedDesktopList({ definition }) {
268
281
  title: '操作',
269
282
  key: 'actions',
270
283
  fixed: 'right',
271
- render: (_, record) => (_jsxs(Space, { size: 4, children: [generated.detail && (_jsx(Button, { "aria-label": "\u67E5\u770B", icon: _jsx(EyeOutlined, {}), onClick: () => navigate(`/${code}/${record.id}`), size: "small", type: "text" })), generated.update && hasCapability(capabilities.update) && (_jsx(Button, { "aria-label": "\u7F16\u8F91", icon: _jsx(EditOutlined, {}), onClick: () => navigate(`/${code}/${record.id}/edit`), size: "small", type: "text" })), generated.delete && hasCapability(capabilities.delete) && (_jsx(Popconfirm, { onConfirm: () => remove.mutate({
284
+ render: (_, record) => (_jsxs(Space, { size: 4, children: [generated.detail && (_jsx(Button, { "aria-label": "\u67E5\u770B", icon: _jsx(EyeOutlined, {}), onClick: () => navigate(resourceRecordPath(paths.detail, record.id)), size: "small", type: "text" })), generated.update && hasCapability(capabilities.update) && (_jsx(Button, { "aria-label": "\u7F16\u8F91", icon: _jsx(EditOutlined, {}), onClick: () => navigate(resourceRecordPath(paths.edit, record.id)), size: "small", type: "text" })), generated.delete && hasCapability(capabilities.delete) && (_jsx(Popconfirm, { onConfirm: () => remove.mutate({
272
285
  resource: code,
273
286
  id: record.id,
274
287
  meta: { expectedRevision: record.revision },
@@ -370,7 +383,7 @@ function GeneratedDesktopList({ definition }) {
370
383
  selectedKeys: [density],
371
384
  onClick: ({ key }) => setDensity(key),
372
385
  };
373
- return (_jsxs(ResourceListPage, { createCapability: generated.create ? capabilities.create : undefined, createPath: generated.create ? `/${code}/new` : undefined, readCapability: capabilities.read, resource: code, surface: surface, title: name, children: [state.list.query.isError && (_jsx(Alert, { action: _jsx(Button, { onClick: () => void state.list.query.refetch(), size: "small", children: "\u91CD\u8BD5" }), description: state.list.query.error instanceof Error ? state.list.query.error.message : '请稍后重试或联系平台管理员', showIcon: true, title: "\u6570\u636E\u8BFB\u53D6\u5931\u8D25", type: "error" })), _jsxs("section", { "aria-label": "\u6570\u636E\u7B5B\u9009", className: "oxa-search-panel", children: [_jsxs("div", { className: "oxa-filter-primary-row", children: [_jsx("div", { className: "oxa-filter-keyword", children: _jsx(Input, { allowClear: true, onChange: (event) => state.setDraft((item) => ({ ...item, keyword: event.target.value })), onPressEnter: () => applyQuery(state.draft), placeholder: keywordPlaceholder, prefix: _jsx(SearchOutlined, {}), value: state.draft.keyword }) }), primaryFilterFields.map(key => {
386
+ return (_jsxs(ResourceListPage, { createCapability: generated.create ? capabilities.create : undefined, createPath: generated.create ? paths.create : undefined, readCapability: capabilities.read, resource: code, surface: surface, title: name, children: [state.list.query.isError && (_jsx(Alert, { action: _jsx(Button, { onClick: () => void state.list.query.refetch(), size: "small", children: "\u91CD\u8BD5" }), description: state.list.query.error instanceof Error ? state.list.query.error.message : '请稍后重试或联系平台管理员', showIcon: true, title: "\u6570\u636E\u8BFB\u53D6\u5931\u8D25", type: "error" })), _jsxs("section", { "aria-label": "\u6570\u636E\u7B5B\u9009", className: "oxa-search-panel", children: [_jsxs("div", { className: "oxa-filter-primary-row", children: [_jsx("div", { className: "oxa-filter-keyword", children: _jsx(Input, { allowClear: true, onChange: (event) => state.setDraft((item) => ({ ...item, keyword: event.target.value })), onPressEnter: () => applyQuery(state.draft), placeholder: keywordPlaceholder, prefix: _jsx(SearchOutlined, {}), value: state.draft.keyword }) }), primaryFilterFields.map(key => {
374
387
  const field = fieldFor(surface, key);
375
388
  return (_jsx("div", { className: "oxa-filter-primary-item", children: _jsx(SurfaceFilterControl, { field: field, resourceCode: code, onChange: (value) => state.setDraft((item) => ({
376
389
  ...item,
@@ -395,7 +408,7 @@ function GeneratedDesktopList({ definition }) {
395
408
  }, open: moreFiltersOpen, title: "\u66F4\u591A\u7B5B\u9009", width: 860, children: _jsx("div", { className: "oxa-more-filter-grid", children: additionalFilterFields.map(key => {
396
409
  const field = fieldFor(surface, key);
397
410
  return (_jsxs("div", { className: "oxa-more-filter-field", children: [_jsx("label", { children: field.label }), _jsx(SurfaceFilterControl, { field: field, resourceCode: code, onChange: (value) => setMoreFilterDraft(current => ({ ...current, [key]: value })), value: moreFilterDraft[key] })] }, key));
398
- }) }) }), _jsxs("div", { className: "oxa-list-toolbar", children: [_jsxs(Space, { className: "oxa-list-toolbar-primary", wrap: true, children: [generated.create && hasCapability(capabilities.create) && (_jsxs(Button, { icon: _jsx(PlusOutlined, {}), onClick: () => navigate(`/${code}/new`), type: "primary", children: ["\u65B0\u589E", name] })), generated.create && hasCapability(capabilities.create) && (_jsx(ResourceImportButton, { code: code, name: name, surface: surface, writableFieldCodes: importWritableFieldCodes, onCompleted: () => state.list.query.refetch() })), _jsx(Button, { icon: _jsx(ExportOutlined, {}), loading: exporting, onClick: () => void handleExport(), children: "\u5BFC\u51FA" }), toolbarContributions.map((contribution) => (_jsx(Fragment, { children: contribution.render({
411
+ }) }) }), _jsxs("div", { className: "oxa-list-toolbar", children: [_jsxs(Space, { className: "oxa-list-toolbar-primary", wrap: true, children: [generated.create && hasCapability(capabilities.create) && (_jsxs(Button, { icon: _jsx(PlusOutlined, {}), onClick: () => navigate(paths.create), type: "primary", children: ["\u65B0\u589E", name] })), generated.create && hasCapability(capabilities.create) && (_jsx(ResourceImportButton, { code: code, name: name, surface: surface, writableFieldCodes: importWritableFieldCodes, onCompleted: () => state.list.query.refetch() })), _jsx(Button, { icon: _jsx(ExportOutlined, {}), loading: exporting, onClick: () => void handleExport(), children: "\u5BFC\u51FA" }), toolbarContributions.map((contribution) => (_jsx(Fragment, { children: contribution.render({
399
412
  resource: code,
400
413
  selectedRecords: selectedRows,
401
414
  refresh: () => state.list.query.refetch(),
@@ -427,7 +440,7 @@ function GeneratedDesktopList({ definition }) {
427
440
  },
428
441
  } })] }));
429
442
  }
430
- function GeneratedMobileList({ definition }) {
443
+ function GeneratedMobileList({ definition, paths }) {
431
444
  const navigate = useNavigate();
432
445
  const { hasCapability, hasReadCapability, identity } = useRuntime();
433
446
  const { message } = App.useApp();
@@ -455,15 +468,15 @@ function GeneratedMobileList({ definition }) {
455
468
  setExporting(false);
456
469
  }
457
470
  };
458
- return (_jsxs(MobileResourceListPage, { createCapability: generated.create ? capabilities.create : undefined, createPath: generated.create ? `/${code}/new` : undefined, description: `${code} 资源`, onExport: () => void handleExport(), readCapability: capabilities.read, resource: code, surface: surface, title: name, children: [state.list.query.isError && (_jsx(Alert, { action: _jsx(Button, { onClick: () => void state.list.query.refetch(), size: "small", children: "\u91CD\u8BD5" }), description: state.list.query.error instanceof Error ? state.list.query.error.message : '请稍后重试或联系平台管理员', showIcon: true, title: "\u6570\u636E\u8BFB\u53D6\u5931\u8D25", type: "error" })), _jsxs("div", { className: "oxa-mobile-filter", children: [_jsx(Input, { allowClear: true, placeholder: "\u5173\u952E\u8BCD", value: state.draft.keyword, onChange: (event) => state.setDraft((item) => ({ ...item, keyword: event.target.value })), onPressEnter: () => {
471
+ return (_jsxs(MobileResourceListPage, { createCapability: generated.create ? capabilities.create : undefined, createPath: generated.create ? paths.create : undefined, description: `${code} 资源`, onExport: () => void handleExport(), readCapability: capabilities.read, resource: code, surface: surface, title: name, children: [state.list.query.isError && (_jsx(Alert, { action: _jsx(Button, { onClick: () => void state.list.query.refetch(), size: "small", children: "\u91CD\u8BD5" }), description: state.list.query.error instanceof Error ? state.list.query.error.message : '请稍后重试或联系平台管理员', showIcon: true, title: "\u6570\u636E\u8BFB\u53D6\u5931\u8D25", type: "error" })), _jsxs("div", { className: "oxa-mobile-filter", children: [_jsx(Input, { allowClear: true, placeholder: "\u5173\u952E\u8BCD", value: state.draft.keyword, onChange: (event) => state.setDraft((item) => ({ ...item, keyword: event.target.value })), onPressEnter: () => {
459
472
  state.setPage(1);
460
473
  state.setQuery(state.draft);
461
474
  } }), _jsx(Button, { loading: state.list.query.isFetching, icon: _jsx(SearchOutlined, {}), onClick: () => {
462
475
  state.setPage(1);
463
476
  state.setQuery(state.draft);
464
- }, type: "primary", children: "\u67E5\u8BE2" })] }), state.list.query.isFetching ? (_jsx("div", { className: "oxa-page-loading", children: _jsx(Spin, {}) })) : rows.length ? (_jsx("div", { className: "oxa-mobile-record-list", children: rows.map((record) => (_jsxs(Card, { className: "oxa-mobile-record-card", size: "small", children: [_jsx("div", { className: "oxa-mobile-record-heading", children: generated.detail ? (_jsx("a", { onClick: () => navigate(`/${code}/${record.id}`), children: String(record[fields[0]?.key || 'id'] || '-') })) : (String(record[fields[0]?.key || 'id'] || '-')) }), _jsx("div", { className: "oxa-mobile-record-fields", children: fields.slice(1).map((field) => (_jsxs("div", { children: [_jsx(Typography.Text, { type: "secondary", children: field.label }), _jsx("div", { children: _jsx(SurfaceFieldValue, { field: field, resourceCode: code, value: record[field.key] }) })] }, field.key))) }), _jsxs(Space, { children: [generated.detail && (_jsx(Button, { onClick: () => navigate(`/${code}/${record.id}`), size: "small", children: "\u67E5\u770B" })), generated.update && hasCapability(capabilities.update) && (_jsx(Button, { onClick: () => navigate(`/${code}/${record.id}/edit`), size: "small", children: "\u7F16\u8F91" }))] })] }, record.id))) })) : (_jsx(Card, { children: _jsx(Empty, { description: `暂无${name}` }) })), _jsxs("div", { className: "oxa-mobile-pagination", children: [_jsx(Button, { disabled: state.page <= 1, onClick: () => state.setPage((item) => item - 1), children: "\u4E0A\u4E00\u9875" }), _jsxs(Typography.Text, { children: ["\u7B2C ", state.page, " \u9875"] }), _jsx(Button, { disabled: rows.length < (surface.list?.defaultPageSize || 20), onClick: () => state.setPage((item) => item + 1), children: "\u4E0B\u4E00\u9875" })] })] }));
477
+ }, type: "primary", children: "\u67E5\u8BE2" })] }), state.list.query.isFetching ? (_jsx("div", { className: "oxa-page-loading", children: _jsx(Spin, {}) })) : rows.length ? (_jsx("div", { className: "oxa-mobile-record-list", children: rows.map((record) => (_jsxs(Card, { className: "oxa-mobile-record-card", size: "small", children: [_jsx("div", { className: "oxa-mobile-record-heading", children: generated.detail ? (_jsx("a", { onClick: () => navigate(resourceRecordPath(paths.detail, record.id)), children: String(record[fields[0]?.key || 'id'] || '-') })) : (String(record[fields[0]?.key || 'id'] || '-')) }), _jsx("div", { className: "oxa-mobile-record-fields", children: fields.slice(1).map((field) => (_jsxs("div", { children: [_jsx(Typography.Text, { type: "secondary", children: field.label }), _jsx("div", { children: _jsx(SurfaceFieldValue, { field: field, resourceCode: code, value: record[field.key] }) })] }, field.key))) }), _jsxs(Space, { children: [generated.detail && (_jsx(Button, { onClick: () => navigate(resourceRecordPath(paths.detail, record.id)), size: "small", children: "\u67E5\u770B" })), generated.update && hasCapability(capabilities.update) && (_jsx(Button, { onClick: () => navigate(resourceRecordPath(paths.edit, record.id)), size: "small", children: "\u7F16\u8F91" }))] })] }, record.id))) })) : (_jsx(Card, { children: _jsx(Empty, { description: `暂无${name}` }) })), _jsxs("div", { className: "oxa-mobile-pagination", children: [_jsx(Button, { disabled: state.page <= 1, onClick: () => state.setPage((item) => item - 1), children: "\u4E0A\u4E00\u9875" }), _jsxs(Typography.Text, { children: ["\u7B2C ", state.page, " \u9875"] }), _jsx(Button, { disabled: rows.length < (surface.list?.defaultPageSize || 20), onClick: () => state.setPage((item) => item + 1), children: "\u4E0B\u4E00\u9875" })] })] }));
465
478
  }
466
- function GeneratedResourceFormPage({ definition, mode, variant, }) {
479
+ function GeneratedResourceFormPage({ definition, mode, paths, variant, }) {
467
480
  const { id = '' } = useParams();
468
481
  const navigate = useNavigate();
469
482
  const { message } = App.useApp();
@@ -484,8 +497,10 @@ function GeneratedResourceFormPage({ definition, mode, variant, }) {
484
497
  if (record)
485
498
  form.setFieldsValue(normalizeRecordForForm(record, surface));
486
499
  }, [form, record, surface]);
487
- const listPath = `/${code}`;
488
- const detailPath = `/${code}/${id}`;
500
+ const listPath = paths.list || paths.fallback;
501
+ const detailPath = paths.detail
502
+ ? resourceRecordPath(paths.detail, id)
503
+ : paths.fallback;
489
504
  const Page = variant === 'mobile' ? MobileResourceFormPage : ResourceFormPage;
490
505
  const FieldControl = variant === 'mobile' ? MobileSurfaceFieldControl : SurfaceFieldControl;
491
506
  if (!hasCapability(mode === 'create' ? capabilities.create : capabilities.update))
@@ -551,7 +566,7 @@ function GeneratedResourceFormPage({ definition, mode, variant, }) {
551
566
  message.success(mode === 'create' ? `${name}已创建` : '修改已保存');
552
567
  navigate(mode === 'create' || !surface.generated?.detail
553
568
  ? listPath
554
- : `/${code}/${parent.id}`);
569
+ : resourceRecordPath(paths.detail, parent.id));
555
570
  }
556
571
  finally {
557
572
  setTransactionPending(false);
@@ -571,7 +586,9 @@ function GeneratedResourceFormPage({ definition, mode, variant, }) {
571
586
  meta: { expectedRevision: record?.revision },
572
587
  });
573
588
  message.success('修改已保存');
574
- navigate(surface.generated?.detail ? `/${code}/${result.data.id}` : listPath);
589
+ navigate(surface.generated?.detail
590
+ ? resourceRecordPath(paths.detail, result.data.id)
591
+ : listPath);
575
592
  }
576
593
  };
577
594
  return (_jsx(Page, { backLabel: mode === 'edit' && surface.generated?.detail
@@ -586,7 +603,7 @@ function GeneratedResourceFormPage({ definition, mode, variant, }) {
586
603
  upload: (current, file, recordId) => createNativeResourceClient(code, surface).upload(current.key, file, recordId),
587
604
  } }, field.key))) }) }, group.section))) }), _jsxs("div", { className: "oxa-actions", children: [_jsx(Button, { onClick: () => navigate(mode === 'edit' ? detailPath : listPath), children: "\u53D6\u6D88" }), _jsx(Button, { htmlType: "submit", loading: create.mutation.isPending || update.mutation.isPending || transactionPending, type: "primary", children: mode === 'create' ? '保存' : '保存修改' })] })] }) }));
588
605
  }
589
- function GeneratedResourceDetailPage({ definition, variant }) {
606
+ function GeneratedResourceDetailPage({ definition, paths, variant }) {
590
607
  const { id = '' } = useParams();
591
608
  const navigate = useNavigate();
592
609
  const { hasCapability, hasReadCapability, identity } = useRuntime();
@@ -659,12 +676,12 @@ function GeneratedResourceDetailPage({ definition, variant }) {
659
676
  }) }, contribution.code))) })) : null,
660
677
  auditTargetId: `${definition.code}-audit`,
661
678
  backLabel: `返回${definition.name}`,
662
- backPath: `/${definition.code}`,
679
+ backPath: paths.list || paths.fallback,
663
680
  editCapability: definition.surface.generated?.update
664
681
  ? definition.capabilities.update
665
682
  : undefined,
666
683
  editPath: definition.surface.generated?.update
667
- ? `/${definition.code}/${id}/edit`
684
+ ? resourceRecordPath(paths.edit, id)
668
685
  : undefined,
669
686
  error: query.query.isError || (!query.query.isFetching && !record) ? query.query.error?.message || '记录不存在' : undefined,
670
687
  hero,