openxiangda 2.0.0-alpha.2 → 2.0.0-alpha.20

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 (78) hide show
  1. package/bin/run.js +6 -1
  2. package/dist/browser/AuthoritativeSelector.d.ts.map +1 -1
  3. package/dist/browser/AuthoritativeSelector.js +4 -2
  4. package/dist/browser/AuthoritativeSelector.js.map +1 -1
  5. package/dist/browser/Shell.d.ts.map +1 -1
  6. package/dist/browser/Shell.js +154 -55
  7. package/dist/browser/Shell.js.map +1 -1
  8. package/dist/browser/application.d.ts +5 -1
  9. package/dist/browser/application.d.ts.map +1 -1
  10. package/dist/browser/application.js +47 -21
  11. package/dist/browser/application.js.map +1 -1
  12. package/dist/browser/components/platform-fields/SubtableField.js +3 -3
  13. package/dist/browser/components/platform-fields/SubtableField.js.map +1 -1
  14. package/dist/browser/components/platform-fields/resource-query.d.ts +0 -1
  15. package/dist/browser/components/platform-fields/resource-query.d.ts.map +1 -1
  16. package/dist/browser/components/platform-fields/resource-query.js +7 -8
  17. package/dist/browser/components/platform-fields/resource-query.js.map +1 -1
  18. package/dist/browser/components/resource/GeneratedResourceCrud.d.ts.map +1 -1
  19. package/dist/browser/components/resource/GeneratedResourceCrud.js +111 -43
  20. package/dist/browser/components/resource/GeneratedResourceCrud.js.map +1 -1
  21. package/dist/browser/components/resource/StandardResourcePages.d.ts.map +1 -1
  22. package/dist/browser/components/resource/StandardResourcePages.js +9 -9
  23. package/dist/browser/components/resource/StandardResourcePages.js.map +1 -1
  24. package/dist/browser/components/resource/SurfaceFields.d.ts.map +1 -1
  25. package/dist/browser/components/resource/SurfaceFields.js +6 -2
  26. package/dist/browser/components/resource/SurfaceFields.js.map +1 -1
  27. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts +13 -0
  28. package/dist/browser/components/workflow/StandardWorkflowPages.d.ts.map +1 -0
  29. package/dist/browser/components/workflow/StandardWorkflowPages.js +407 -0
  30. package/dist/browser/components/workflow/StandardWorkflowPages.js.map +1 -0
  31. package/dist/browser/platform-client.d.ts +41 -2
  32. package/dist/browser/platform-client.d.ts.map +1 -1
  33. package/dist/browser/platform-client.js +117 -10
  34. package/dist/browser/platform-client.js.map +1 -1
  35. package/dist/browser/runtime-meta.d.ts +2 -0
  36. package/dist/browser/runtime-meta.d.ts.map +1 -1
  37. package/dist/browser/runtime-meta.js +12 -0
  38. package/dist/browser/runtime-meta.js.map +1 -1
  39. package/dist/browser/runtime.d.ts +8 -1
  40. package/dist/browser/runtime.d.ts.map +1 -1
  41. package/dist/browser/runtime.js +61 -13
  42. package/dist/browser/runtime.js.map +1 -1
  43. package/dist/browser/selector-copy.d.ts +6 -0
  44. package/dist/browser/selector-copy.d.ts.map +1 -0
  45. package/dist/browser/selector-copy.js +13 -0
  46. package/dist/browser/selector-copy.js.map +1 -0
  47. package/dist/browser/styles.css +449 -15
  48. package/dist/browser/workflow-definitions.d.ts +25 -0
  49. package/dist/browser/workflow-definitions.d.ts.map +1 -0
  50. package/dist/browser/workflow-definitions.js +32 -0
  51. package/dist/browser/workflow-definitions.js.map +1 -0
  52. package/dist/internal/web-build-verifier.d.ts +8 -0
  53. package/dist/internal/web-build-verifier.d.ts.map +1 -0
  54. package/dist/internal/web-build-verifier.js +63 -0
  55. package/dist/internal/web-build-verifier.js.map +1 -0
  56. package/dist/nest.d.ts +3 -4
  57. package/dist/nest.d.ts.map +1 -1
  58. package/dist/nest.js +2 -3
  59. package/dist/nest.js.map +1 -1
  60. package/dist/react.d.ts +2 -0
  61. package/dist/react.d.ts.map +1 -1
  62. package/dist/react.js +2 -0
  63. package/dist/react.js.map +1 -1
  64. package/dist/testing.d.ts +1 -0
  65. package/dist/testing.d.ts.map +1 -1
  66. package/dist/testing.js +1 -0
  67. package/dist/testing.js.map +1 -1
  68. package/package.json +7 -7
  69. package/skills/manifest.json +1 -1
  70. package/skills/openxiangda-v2/SKILL.md +14 -12
  71. package/skills/openxiangda-v2/references/appspec.md +58 -0
  72. package/skills/openxiangda-v2/references/backend.md +39 -7
  73. package/skills/openxiangda-v2/references/data-authz.md +39 -5
  74. package/skills/openxiangda-v2/references/delivery.md +17 -1
  75. package/skills/openxiangda-v2/references/frontend.md +22 -1
  76. package/skills/openxiangda-v2/references/testing.md +46 -2
  77. package/skills/openxiangda-v2/references/workflow-notification.md +2 -2
  78. package/skills/openxiangda-v2/references/workspace.md +7 -5
@@ -1,42 +1,68 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Refine } from '@refinedev/core';
3
+ import { lazy, Suspense } from 'react';
3
4
  import { Navigate, Route, Routes, BrowserRouter } from 'react-router-dom';
4
5
  import { AppearanceProvider } from './appearance';
5
6
  import { createApplicationProvider } from './data-provider';
6
- import { FilePreviewPage } from './FilePreviewPage';
7
7
  import { RuntimeBoundary } from './runtime';
8
8
  import { applicationBasename, configureApplicationIdentity, } from './runtime-meta';
9
9
  import { EmptyApplicationPage } from './Shell';
10
- import { GeneratedResourcePage } from './components/resource/GeneratedResourceCrud';
11
10
  import { OpenXiangdaResourceDefinitionsProvider } from './resource-definitions';
12
11
  import { useGlobalRequestLoading } from './platform-client';
12
+ import { OpenXiangdaWorkflowDefinitionsProvider, } from './workflow-definitions';
13
+ const workflowPages = () => import('./components/workflow/StandardWorkflowPages');
14
+ const FilePreviewPage = lazy(() => import('./FilePreviewPage').then(module => ({ default: module.FilePreviewPage })));
15
+ const GeneratedResourcePage = lazy(() => import('./components/resource/GeneratedResourceCrud').then(module => ({
16
+ default: module.GeneratedResourcePage,
17
+ })));
18
+ const WorkflowInstancePage = lazy(() => workflowPages().then((module) => ({ default: module.WorkflowInstancePage })));
19
+ const WorkflowSubmissionPage = lazy(() => workflowPages().then((module) => ({
20
+ default: module.WorkflowSubmissionPage,
21
+ })));
22
+ const WorkflowTaskPage = lazy(() => workflowPages().then((module) => ({ default: module.WorkflowTaskPage })));
23
+ const WorkflowWorkCenterPage = lazy(() => workflowPages().then((module) => ({
24
+ default: module.WorkflowWorkCenterPage,
25
+ })));
26
+ function WorkflowRoute({ children }) {
27
+ return (_jsx(Suspense, { fallback: _jsx("div", { className: "oxa-page-loading", children: "\u6B63\u5728\u52A0\u8F7D\u5BA1\u6279\u9875\u9762\u2026" }), children: children }));
28
+ }
29
+ function ApplicationRoute({ children }) {
30
+ return (_jsx(Suspense, { fallback: _jsx("div", { className: "oxa-page-loading", children: "\u6B63\u5728\u52A0\u8F7D\u5E94\u7528\u9875\u9762\u2026" }), children: children }));
31
+ }
32
+ function GeneratedResourceRoute(props) {
33
+ return (_jsx(ApplicationRoute, { children: _jsx(GeneratedResourcePage, { ...props }) }));
34
+ }
13
35
  function GlobalRequestLoading() {
14
36
  const loading = useGlobalRequestLoading();
15
37
  return loading ? (_jsx("div", { "aria-label": "\u9875\u9762\u8BF7\u6C42\u8FDB\u884C\u4E2D", "aria-valuetext": "\u6B63\u5728\u52A0\u8F7D", className: "oxa-global-request-loading", role: "progressbar", children: _jsx("span", {}) })) : null;
16
38
  }
17
- export function OpenXiangdaApplication({ appCode, appName, resourceDefinitions: readonlyResourceDefinitions, }) {
39
+ export function OpenXiangdaApplication({ appCode, appName, resourceDefinitions: readonlyResourceDefinitions, perspectives = [], workflows = [], }) {
18
40
  configureApplicationIdentity({ appCode, appName });
19
41
  const resourceDefinitions = readonlyResourceDefinitions;
20
42
  const codes = Object.keys(resourceDefinitions);
21
- const firstPath = codes[0] ? `/${codes[0]}` : '/';
22
- const adminEntry = codes.length ? (_jsx(Navigate, { replace: true, to: firstPath })) : (_jsx(EmptyApplicationPage, {}));
23
- const resourceRoutes = codes.flatMap(resourceCode => [
24
- _jsx(Route, { path: `/${resourceCode}`, element: _jsx(GeneratedResourcePage, { resourceCode: resourceCode }) }, `${resourceCode}-list`),
25
- _jsx(Route, { path: `/${resourceCode}/new`, element: _jsx(GeneratedResourcePage, { mode: "create", resourceCode: resourceCode }) }, `${resourceCode}-new`),
26
- _jsx(Route, { path: `/${resourceCode}/:id`, element: _jsx(GeneratedResourcePage, { mode: "detail", resourceCode: resourceCode }) }, `${resourceCode}-detail`),
27
- _jsx(Route, { path: `/${resourceCode}/:id/edit`, element: _jsx(GeneratedResourcePage, { mode: "edit", resourceCode: resourceCode }) }, `${resourceCode}-edit`),
28
- _jsx(Route, { path: `/m/${resourceCode}`, element: _jsx(GeneratedResourcePage, { resourceCode: resourceCode, variant: "mobile" }) }, `${resourceCode}-mobile-list`),
29
- _jsx(Route, { path: `/m/${resourceCode}/new`, element: _jsx(GeneratedResourcePage, { mode: "create", resourceCode: resourceCode, variant: "mobile" }) }, `${resourceCode}-mobile-new`),
30
- _jsx(Route, { path: `/m/${resourceCode}/:id`, element: _jsx(GeneratedResourcePage, { mode: "detail", resourceCode: resourceCode, variant: "mobile" }) }, `${resourceCode}-mobile-detail`),
31
- _jsx(Route, { path: `/m/${resourceCode}/:id/edit`, element: _jsx(GeneratedResourcePage, { mode: "edit", resourceCode: resourceCode, variant: "mobile" }) }, `${resourceCode}-mobile-edit`),
43
+ const firstPath = codes[0]
44
+ ? `/${codes[0]}`
45
+ : workflows.length
46
+ ? '/admin/work-center'
47
+ : '/';
48
+ const adminEntry = codes.length || workflows.length ? (_jsx(Navigate, { replace: true, to: firstPath })) : (_jsx(EmptyApplicationPage, {}));
49
+ const resourceRoutes = codes.flatMap((resourceCode) => [
50
+ _jsx(Route, { path: `/${resourceCode}`, element: _jsx(GeneratedResourceRoute, { resourceCode: resourceCode }) }, `${resourceCode}-list`),
51
+ _jsx(Route, { path: `/${resourceCode}/new`, element: _jsx(GeneratedResourceRoute, { mode: "create", resourceCode: resourceCode }) }, `${resourceCode}-new`),
52
+ _jsx(Route, { path: `/${resourceCode}/:id`, element: _jsx(GeneratedResourceRoute, { mode: "detail", resourceCode: resourceCode }) }, `${resourceCode}-detail`),
53
+ _jsx(Route, { path: `/${resourceCode}/:id/edit`, element: _jsx(GeneratedResourceRoute, { mode: "edit", resourceCode: resourceCode }) }, `${resourceCode}-edit`),
54
+ _jsx(Route, { path: `/m/${resourceCode}`, element: _jsx(GeneratedResourceRoute, { resourceCode: resourceCode, variant: "mobile" }) }, `${resourceCode}-mobile-list`),
55
+ _jsx(Route, { path: `/m/${resourceCode}/new`, element: _jsx(GeneratedResourceRoute, { mode: "create", resourceCode: resourceCode, variant: "mobile" }) }, `${resourceCode}-mobile-new`),
56
+ _jsx(Route, { path: `/m/${resourceCode}/:id`, element: _jsx(GeneratedResourceRoute, { mode: "detail", resourceCode: resourceCode, variant: "mobile" }) }, `${resourceCode}-mobile-detail`),
57
+ _jsx(Route, { path: `/m/${resourceCode}/:id/edit`, element: _jsx(GeneratedResourceRoute, { mode: "edit", resourceCode: resourceCode, variant: "mobile" }) }, `${resourceCode}-mobile-edit`),
32
58
  ]);
33
59
  const provider = createApplicationProvider(resourceDefinitions);
34
- return (_jsx(OpenXiangdaResourceDefinitionsProvider, { definitions: resourceDefinitions, children: _jsxs(AppearanceProvider, { children: [_jsx(GlobalRequestLoading, {}), _jsx(RuntimeBoundary, { children: _jsx(BrowserRouter, { basename: applicationBasename(), children: _jsx(Refine, { dataProvider: provider, resources: codes.map(code => ({
35
- name: code,
36
- list: `/${code}`,
37
- create: `/${code}/new`,
38
- edit: `/${code}/:id/edit`,
39
- show: `/${code}/:id`,
40
- })), children: _jsxs(Routes, { children: [_jsx(Route, { path: "/", element: adminEntry }), _jsx(Route, { path: "/admin", element: adminEntry }), _jsx(Route, { path: "/files/:resourceCode/:fileId/preview", element: _jsx(FilePreviewPage, {}) }), resourceRoutes] }) }) }) })] }) }));
60
+ return (_jsx(OpenXiangdaResourceDefinitionsProvider, { definitions: resourceDefinitions, children: _jsx(OpenXiangdaWorkflowDefinitionsProvider, { definitions: workflows, children: _jsxs(AppearanceProvider, { children: [_jsx(GlobalRequestLoading, {}), _jsx(RuntimeBoundary, { perspectives: perspectives, children: _jsx(BrowserRouter, { basename: applicationBasename(), children: _jsx(Refine, { dataProvider: provider, resources: codes.map((code) => ({
61
+ name: code,
62
+ list: `/${code}`,
63
+ create: `/${code}/new`,
64
+ edit: `/${code}/:id/edit`,
65
+ show: `/${code}/:id`,
66
+ })), children: _jsxs(Routes, { children: [_jsx(Route, { path: "/", element: adminEntry }), _jsx(Route, { path: "/admin", element: adminEntry }), _jsx(Route, { path: "/admin/work-center", element: _jsx(WorkflowRoute, { children: _jsx(WorkflowWorkCenterPage, {}) }) }), _jsx(Route, { path: "/admin/tasks/:taskId", element: _jsx(WorkflowRoute, { children: _jsx(WorkflowTaskPage, {}) }) }), _jsx(Route, { path: "/admin/workflows/:workflowCode/new", element: _jsx(WorkflowRoute, { children: _jsx(WorkflowSubmissionPage, {}) }) }), _jsx(Route, { path: "/admin/workflows/:instanceId", element: _jsx(WorkflowRoute, { children: _jsx(WorkflowInstancePage, {}) }) }), _jsx(Route, { path: "/m/work-center", element: _jsx(WorkflowRoute, { children: _jsx(WorkflowWorkCenterPage, { variant: "mobile" }) }) }), _jsx(Route, { path: "/m/tasks/:taskId", element: _jsx(WorkflowRoute, { children: _jsx(WorkflowTaskPage, { variant: "mobile" }) }) }), _jsx(Route, { path: "/m/workflows/:instanceId", element: _jsx(WorkflowRoute, { children: _jsx(WorkflowInstancePage, { variant: "mobile" }) }) }), _jsx(Route, { path: "/files/:resourceCode/:fileId/preview", element: _jsx(ApplicationRoute, { children: _jsx(FilePreviewPage, {}) }) }), resourceRoutes] }) }) }) })] }) }) }));
41
67
  }
42
68
  //# 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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"}
@@ -11,7 +11,7 @@ export function SubtableField({ field, disabled, mobile, operation, parentRecord
11
11
  const definitions = useResourceDefinitions();
12
12
  const config = field.subtable;
13
13
  const definition = config ? definitions[config.resourceCode] : undefined;
14
- const { hasCapability, identity } = useRuntime();
14
+ const { hasCapability, hasReadCapability, identity } = useRuntime();
15
15
  const [internalRows, setInternalRows] = useState([]);
16
16
  const [loading, setLoading] = useState(false);
17
17
  const [loadError, setLoadError] = useState('');
@@ -23,8 +23,8 @@ export function SubtableField({ field, disabled, mobile, operation, parentRecord
23
23
  const maxRows = config?.maxRows ?? 20;
24
24
  const visibleRows = rows.filter(row => row.state !== 'deleted');
25
25
  const childFields = useMemo(() => childSurfaceFields(definition?.surface, config?.foreignKey, config?.orderField), [config?.foreignKey, config?.orderField, definition?.surface]);
26
- const readableFields = childFields.filter(child => fieldReadable(child, hasCapability, identity.isAppSuperAdmin));
27
- const editableFields = childFields.filter(child => fieldReadable(child, hasCapability, identity.isAppSuperAdmin) ||
26
+ const readableFields = childFields.filter(child => fieldReadable(child, hasReadCapability, identity.isAppSuperAdmin));
27
+ const editableFields = childFields.filter(child => fieldReadable(child, hasReadCapability, identity.isAppSuperAdmin) ||
28
28
  fieldWritable(child, editingKey ? 'update' : 'create', hasCapability, identity.isAppSuperAdmin));
29
29
  const editingRow = rows.find(row => row.key === editingKey);
30
30
  const editorOperation = editingRow?.state === 'persisted' ? 'update' : 'create';
@@ -1 +1 @@
1
- {"version":3,"file":"SubtableField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/SubtableField.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubtableField.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/SubtableField.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,6 @@ export interface GenericResourceQuery {
3
3
  page: number;
4
4
  pageSize: number;
5
5
  keyword?: string;
6
- searchField?: string;
7
6
  filters?: Record<string, unknown>;
8
7
  sort?: {
9
8
  field: string;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-query.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/resource-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EAGV,MAAM,+BAA+B,CAAC;AAOvC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;CACjD;AAWD,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,oBAAoB,GAC1B,SAAS,GAAG,SAAS,CAgGvB"}
1
+ {"version":3,"file":"resource-query.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/resource-query.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,SAAS,EAGV,MAAM,+BAA+B,CAAC;AAOvC,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;CACjD;AAWD,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,oBAAoB,GAC1B,SAAS,GAAG,SAAS,CAiGvB"}
@@ -16,15 +16,14 @@ export function buildResourceWhere(resourceCode, surface, query) {
16
16
  };
17
17
  const predicates = [];
18
18
  if (query.keyword?.trim()) {
19
- const searchable = surface.list?.searchableFields || [];
20
- const field = searchable.includes(query.searchField || '')
21
- ? query.searchField
22
- : searchable[0];
23
- if (field) {
19
+ const searchable = (surface.list?.searchableFields || []).filter(field => declaredFields.has(field));
20
+ if (searchable.length) {
24
21
  predicates.push({
25
- field: assertField(field),
26
- operator: 'contains',
27
- value: query.keyword.trim(),
22
+ or: searchable.map(field => ({
23
+ field: assertField(field),
24
+ operator: 'contains',
25
+ value: query.keyword.trim(),
26
+ })),
28
27
  });
29
28
  }
30
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource-query.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/resource-query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-query.js","sourceRoot":"","sources":["../../../../src/browser/components/platform-fields/resource-query.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratedResourceCrud.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/GeneratedResourceCrud.tsx"],"names":[],"mappings":"AAmFA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAmOnF,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,2CAUA"}
1
+ {"version":3,"file":"GeneratedResourceCrud.d.ts","sourceRoot":"","sources":["../../../../src/browser/components/resource/GeneratedResourceCrud.tsx"],"names":[],"mappings":"AAmFA,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,2CAUA"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { ArrowRightOutlined, ColumnHeightOutlined, DeleteOutlined, EditOutlined, EyeOutlined, ExportOutlined, PlusOutlined, ReloadOutlined, SearchOutlined, SettingOutlined, UpOutlined, DownOutlined, } from '@ant-design/icons';
2
+ import { ArrowRightOutlined, ColumnHeightOutlined, DeleteOutlined, EditOutlined, EyeOutlined, ExportOutlined, FilterOutlined, PlusOutlined, ReloadOutlined, SearchOutlined, SettingOutlined, } from '@ant-design/icons';
3
3
  import { useCreate, useDelete, useList, useOne, useUpdate } from '@refinedev/core';
4
- import { App, Alert, Button, Card, Collapse, Descriptions, Dropdown, Empty, Form, Input, Popconfirm, Result, Select, Space, Spin, Table, Tooltip, Typography, } from 'antd';
4
+ import { App, Alert, Button, Card, Collapse, Descriptions, Dropdown, Empty, Form, Input, Modal, Popconfirm, Result, Space, Spin, Table, Tag, Tooltip, Typography, } from 'antd';
5
5
  import { useEffect, useMemo, useState } from 'react';
6
6
  import { useNavigate, useParams } from 'react-router-dom';
7
7
  import { MobileResourceDetailPage, MobileResourceFormPage, MobileResourceListPage, ResourceDetailPage, ResourceFormPage, ResourceListPage, } from './StandardResourcePages';
@@ -46,9 +46,40 @@ function fieldFor(surface, key) {
46
46
  updateCapabilities: [],
47
47
  };
48
48
  }
49
- function fieldsBySection(surface) {
49
+ function filterValueLabel(value) {
50
+ if (Array.isArray(value))
51
+ return value.map(filterValueLabel).filter(Boolean).join('、');
52
+ if (value && typeof value === 'object') {
53
+ const record = value;
54
+ if (record.label)
55
+ return String(record.label);
56
+ if ('start' in record || 'end' in record) {
57
+ return [record.start, record.end].filter(Boolean).map(String).join(' 至 ');
58
+ }
59
+ return Object.values(record)
60
+ .map(filterValueLabel)
61
+ .filter(Boolean)
62
+ .join('、');
63
+ }
64
+ return String(value ?? '');
65
+ }
66
+ function activeFilterValue(value) {
67
+ return !(value === undefined ||
68
+ value === null ||
69
+ value === '' ||
70
+ (Array.isArray(value) && value.length === 0));
71
+ }
72
+ function fieldsBySection(surface, view = 'form') {
50
73
  const groups = new Map();
51
- for (const [key, field] of Object.entries(surface.fields)) {
74
+ const preferred = surface[view]?.fieldOrder || [];
75
+ const keys = [
76
+ ...preferred,
77
+ ...Object.keys(surface.fields).filter(key => !preferred.includes(key)),
78
+ ];
79
+ for (const key of keys) {
80
+ const field = surface.fields[key];
81
+ if (!field)
82
+ continue;
52
83
  if (field.system)
53
84
  continue;
54
85
  const section = field.section || 'default';
@@ -91,7 +122,6 @@ async function exportResourceRows(code, name, surface, fields, query, sort) {
91
122
  page: 1,
92
123
  pageSize: 200,
93
124
  keyword: query.keyword,
94
- searchField: query.searchField,
95
125
  filters: query.filters,
96
126
  sort,
97
127
  }, fields.map((field) => field.key));
@@ -120,10 +150,9 @@ function useGeneratedList(definition, readableFieldCodes) {
120
150
  : Object.keys(surface.fields).find((field) => readableFieldCodes.has(field))) || 'id';
121
151
  const defaultSortOrder = surface.list?.defaultSort?.order || 'asc';
122
152
  const defaultPageSize = surface.list?.defaultPageSize || 20;
123
- const defaultSearchField = (surface.list?.searchableFields || []).find((field) => readableFieldCodes.has(field));
124
153
  const [page, setPage] = useState(1);
125
154
  const [pageSize, setPageSize] = useState(defaultPageSize);
126
- const [draft, setDraft] = useState({ searchField: defaultSearchField });
155
+ const [draft, setDraft] = useState({});
127
156
  const [query, setQuery] = useState({});
128
157
  const [sort, setSort] = useState({
129
158
  field: defaultSortField,
@@ -132,13 +161,13 @@ function useGeneratedList(definition, readableFieldCodes) {
132
161
  useEffect(() => {
133
162
  setPage(1);
134
163
  setPageSize(defaultPageSize);
135
- setDraft({ searchField: defaultSearchField });
164
+ setDraft({});
136
165
  setQuery({});
137
166
  setSort({
138
167
  field: defaultSortField,
139
168
  order: defaultSortOrder,
140
169
  });
141
- }, [code, defaultPageSize, defaultSearchField, defaultSortField, defaultSortOrder]);
170
+ }, [code, defaultPageSize, defaultSortField, defaultSortOrder]);
142
171
  const list = useList({
143
172
  resource: code,
144
173
  pagination: { currentPage: page, pageSize },
@@ -178,15 +207,16 @@ function GeneratedResourceListPage({ definition, variant }) {
178
207
  function GeneratedDesktopList({ definition }) {
179
208
  const navigate = useNavigate();
180
209
  const { message } = App.useApp();
181
- const { hasCapability, identity } = useRuntime();
210
+ const { hasCapability, hasReadCapability, identity } = useRuntime();
182
211
  const { code, name, surface, capabilities } = definition;
183
- const fields = listSurfaceFields(surface.fields).filter((field) => fieldReadable(field, hasCapability, identity.isAppSuperAdmin));
212
+ const fields = listSurfaceFields(surface.fields).filter((field) => fieldReadable(field, hasReadCapability, identity.isAppSuperAdmin));
184
213
  const readableFieldCodes = new Set(Object.entries(surface.fields)
185
- .filter(([, field]) => fieldReadable({ key: '', ...field }, hasCapability, identity.isAppSuperAdmin))
214
+ .filter(([, field]) => fieldReadable({ key: '', ...field }, hasReadCapability, identity.isAppSuperAdmin))
186
215
  .map(([key]) => key));
187
216
  const state = useGeneratedList(definition, readableFieldCodes);
188
217
  const [exporting, setExporting] = useState(false);
189
- const [filtersExpanded, setFiltersExpanded] = useState(false);
218
+ const [moreFiltersOpen, setMoreFiltersOpen] = useState(false);
219
+ const [moreFilterDraft, setMoreFilterDraft] = useState({});
190
220
  const [density, setDensity] = useState('middle');
191
221
  const [visibleColumnKeys, setVisibleColumnKeys] = useState(() => fields.map((field) => field.key));
192
222
  const [selectedRowKeys, setSelectedRowKeys] = useState([]);
@@ -194,7 +224,8 @@ function GeneratedDesktopList({ definition }) {
194
224
  const rows = (state.list.result.data || []);
195
225
  useEffect(() => {
196
226
  setVisibleColumnKeys(fields.map((field) => field.key));
197
- setFiltersExpanded(false);
227
+ setMoreFiltersOpen(false);
228
+ setMoreFilterDraft({});
198
229
  setDensity('middle');
199
230
  setSelectedRowKeys([]);
200
231
  }, [code]);
@@ -269,7 +300,41 @@ function GeneratedDesktopList({ definition }) {
269
300
  };
270
301
  const filterFields = (surface.list?.filterFields || []).filter((field) => readableFieldCodes.has(field));
271
302
  const searchableFields = (surface.list?.searchableFields || []).filter((field) => readableFieldCodes.has(field));
272
- const hasMoreFilters = filterFields.length > 2;
303
+ const primaryFilterFields = filterFields.slice(0, 2);
304
+ const additionalFilterFields = filterFields.slice(2);
305
+ const hasMoreFilters = additionalFilterFields.length > 0;
306
+ const searchLabels = searchableFields.map(key => fieldFor(surface, key).label);
307
+ const keywordPlaceholder = searchLabels.length === 0
308
+ ? '搜索关键词'
309
+ : searchLabels.length === 1
310
+ ? `搜索${searchLabels[0]}`
311
+ : `搜索${searchLabels.slice(0, 2).join('或')}${searchLabels.length > 2 ? '等' : ''}`;
312
+ const activeAdditionalCount = additionalFilterFields.filter(key => activeFilterValue(state.query.filters?.[key])).length;
313
+ const applyQuery = (next) => {
314
+ state.setDraft(next);
315
+ state.setQuery(next);
316
+ state.setPage(1);
317
+ };
318
+ const removeAppliedFilter = (key) => {
319
+ if (key === 'keyword') {
320
+ applyQuery({ ...state.draft, keyword: undefined });
321
+ return;
322
+ }
323
+ const filters = { ...(state.draft.filters || {}) };
324
+ delete filters[key];
325
+ applyQuery({ ...state.draft, filters });
326
+ };
327
+ const appliedConditions = [
328
+ ...(state.query.keyword?.trim()
329
+ ? [{ key: 'keyword', label: `关键词:${state.query.keyword.trim()}` }]
330
+ : []),
331
+ ...filterFields
332
+ .filter(key => activeFilterValue(state.query.filters?.[key]))
333
+ .map(key => ({
334
+ key,
335
+ label: `${fieldFor(surface, key).label}:${filterValueLabel(state.query.filters?.[key])}`,
336
+ })),
337
+ ];
273
338
  const columnMenu = {
274
339
  items: fields.map((field) => ({ key: field.key, label: field.label })),
275
340
  multiple: true,
@@ -293,29 +358,32 @@ function GeneratedDesktopList({ definition }) {
293
358
  selectedKeys: [density],
294
359
  onClick: ({ key }) => setDensity(key),
295
360
  };
296
- return (_jsxs(ResourceListPage, { createCapability: capabilities.create, createPath: `/${code}/new`, 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-grid", children: [_jsx("div", { className: "oxa-filter-item", children: _jsx(Select, { allowClear: true, options: searchableFields.map((key) => ({
297
- label: fieldFor(surface, key).label,
298
- value: key,
299
- })), placeholder: "\u641C\u7D22\u5B57\u6BB5", value: state.draft.searchField, onChange: (value) => state.setDraft((item) => ({ ...item, searchField: value })) }) }), _jsx("div", { className: "oxa-filter-item", children: _jsx(Input, { allowClear: true, onChange: (event) => state.setDraft((item) => ({
300
- ...item,
301
- keyword: event.target.value,
302
- })), onPressEnter: () => {
303
- state.setPage(1);
304
- state.setQuery(state.draft);
305
- }, placeholder: "\u5173\u952E\u8BCD", prefix: _jsx(SearchOutlined, {}), value: state.draft.keyword }) }), filterFields.map((key, index) => {
361
+ return (_jsxs(ResourceListPage, { createCapability: capabilities.create, createPath: `/${code}/new`, 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 => {
306
362
  const field = fieldFor(surface, key);
307
- return (_jsx("div", { className: `oxa-filter-item${index >= 2 && !filtersExpanded ? ' is-collapsed' : ''}`, children: _jsx(SurfaceFilterControl, { field: field, resourceCode: code, onChange: (value) => state.setDraft((item) => ({
363
+ return (_jsx("div", { className: "oxa-filter-primary-item", children: _jsx(SurfaceFilterControl, { field: field, resourceCode: code, onChange: (value) => state.setDraft((item) => ({
308
364
  ...item,
309
365
  filters: { ...item.filters, [key]: value },
310
366
  })), value: state.draft.filters?.[key] }) }, key));
311
- })] }), _jsxs("div", { className: "oxa-filter-actions", children: [_jsx(Button, { icon: _jsx(SearchOutlined, {}), loading: state.list.query.isFetching, onClick: () => {
312
- state.setPage(1);
313
- state.setQuery(state.draft);
314
- }, type: "primary", children: "\u67E5\u8BE2" }), _jsx(Button, { onClick: () => {
315
- state.setDraft({});
316
- state.setQuery({});
317
- state.setPage(1);
318
- }, children: "\u91CD\u7F6E" }), hasMoreFilters && (_jsx(Button, { icon: filtersExpanded ? _jsx(UpOutlined, {}) : _jsx(DownOutlined, {}), onClick: () => setFiltersExpanded((value) => !value), type: "link", children: filtersExpanded ? '收起筛选' : `更多筛选(${filterFields.length - 2})` }))] })] }), _jsxs("div", { className: "oxa-list-toolbar", children: [_jsxs(Space, { className: "oxa-list-toolbar-primary", wrap: true, children: [hasCapability(capabilities.create) && (_jsxs(Button, { icon: _jsx(PlusOutlined, {}), onClick: () => navigate(`/${code}/new`), type: "primary", children: ["\u65B0\u589E", name] })), 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" })] }), _jsxs(Space, { className: "oxa-list-toolbar-secondary", size: 4, children: [_jsx(Tooltip, { title: "\u5237\u65B0", children: _jsx(Button, { "aria-label": "\u5237\u65B0\u6570\u636E", icon: _jsx(ReloadOutlined, {}), loading: state.list.query.isFetching, onClick: () => void state.list.query.refetch(), type: "text" }) }), _jsx(Dropdown, { menu: columnMenu, trigger: ['click'], children: _jsx(Button, { icon: _jsx(SettingOutlined, {}), type: "text", children: "\u5217\u8BBE\u7F6E" }) }), _jsx(Dropdown, { menu: densityMenu, trigger: ['click'], children: _jsx(Button, { icon: _jsx(ColumnHeightOutlined, {}), type: "text", children: "\u5BC6\u5EA6" }) })] })] }), _jsx(ResourceBatchActions, { canDelete: hasCapability(capabilities.delete), code: code, name: name, onClear: () => setSelectedRowKeys([]), onCompleted: () => state.list.query.refetch(), rows: selectedRows, surface: surface, writableFields: batchWritableFields }), _jsx(Table, { columns: columns, dataSource: rows, loading: state.list.query.isFetching, locale: { emptyText: _jsx(Empty, { description: `暂无${name}` }) }, rowKey: "id", rowSelection: canBatch
367
+ }), _jsxs("div", { className: "oxa-filter-actions", children: [_jsx(Button, { icon: _jsx(SearchOutlined, {}), loading: state.list.query.isFetching, onClick: () => applyQuery(state.draft), type: "primary", children: "\u67E5\u8BE2" }), _jsx(Button, { onClick: () => applyQuery({}), children: "\u91CD\u7F6E" }), hasMoreFilters && (_jsxs(Button, { icon: _jsx(FilterOutlined, {}), onClick: () => {
368
+ setMoreFilterDraft({ ...(state.draft.filters || {}) });
369
+ setMoreFiltersOpen(true);
370
+ }, children: ["\u66F4\u591A\u7B5B\u9009", activeAdditionalCount ? ` ${activeAdditionalCount}` : ''] }))] })] }), appliedConditions.length > 0 && (_jsxs("div", { className: "oxa-applied-filters", children: [_jsx("span", { children: "\u5DF2\u9009\u6761\u4EF6" }), _jsx("div", { className: "oxa-applied-filter-tags", children: appliedConditions.map(condition => (_jsx(Tag, { closable: true, onClose: (event) => {
371
+ event.preventDefault();
372
+ removeAppliedFilter(condition.key);
373
+ }, children: condition.label }, condition.key))) }), _jsx(Button, { onClick: () => applyQuery({}), type: "link", children: "\u6E05\u7A7A\u5168\u90E8" })] }))] }), _jsx(Modal, { cancelText: "\u53D6\u6D88", centered: true, className: "oxa-more-filter-modal", destroyOnHidden: true, okText: "\u5E94\u7528\u7B5B\u9009", onCancel: () => setMoreFiltersOpen(false), onOk: () => {
374
+ const filters = { ...(state.draft.filters || {}) };
375
+ for (const key of additionalFilterFields) {
376
+ if (activeFilterValue(moreFilterDraft[key]))
377
+ filters[key] = moreFilterDraft[key];
378
+ else
379
+ delete filters[key];
380
+ }
381
+ applyQuery({ ...state.draft, filters });
382
+ setMoreFiltersOpen(false);
383
+ }, open: moreFiltersOpen, title: "\u66F4\u591A\u7B5B\u9009", width: 860, children: _jsx("div", { className: "oxa-more-filter-grid", children: additionalFilterFields.map(key => {
384
+ const field = fieldFor(surface, key);
385
+ 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));
386
+ }) }) }), _jsxs("div", { className: "oxa-list-toolbar", children: [_jsxs(Space, { className: "oxa-list-toolbar-primary", wrap: true, children: [hasCapability(capabilities.create) && (_jsxs(Button, { icon: _jsx(PlusOutlined, {}), onClick: () => navigate(`/${code}/new`), type: "primary", children: ["\u65B0\u589E", name] })), 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" })] }), _jsxs(Space, { className: "oxa-list-toolbar-secondary", size: 4, children: [_jsx(Tooltip, { title: "\u5237\u65B0", children: _jsx(Button, { "aria-label": "\u5237\u65B0\u6570\u636E", icon: _jsx(ReloadOutlined, {}), loading: state.list.query.isFetching, onClick: () => void state.list.query.refetch(), type: "text" }) }), _jsx(Dropdown, { menu: columnMenu, trigger: ['click'], children: _jsx(Button, { icon: _jsx(SettingOutlined, {}), type: "text", children: "\u5217\u8BBE\u7F6E" }) }), _jsx(Dropdown, { menu: densityMenu, trigger: ['click'], children: _jsx(Button, { icon: _jsx(ColumnHeightOutlined, {}), type: "text", children: "\u5BC6\u5EA6" }) })] })] }), _jsx(ResourceBatchActions, { canDelete: hasCapability(capabilities.delete), code: code, name: name, onClear: () => setSelectedRowKeys([]), onCompleted: () => state.list.query.refetch(), rows: selectedRows, surface: surface, writableFields: batchWritableFields }), _jsx(Table, { columns: columns, dataSource: rows, loading: state.list.query.isFetching, locale: { emptyText: _jsx(Empty, { description: `暂无${name}` }) }, rowKey: "id", rowSelection: canBatch
319
387
  ? {
320
388
  selectedRowKeys,
321
389
  onChange: (keys) => {
@@ -345,17 +413,17 @@ function GeneratedDesktopList({ definition }) {
345
413
  }
346
414
  function GeneratedMobileList({ definition }) {
347
415
  const navigate = useNavigate();
348
- const { hasCapability, identity } = useRuntime();
416
+ const { hasCapability, hasReadCapability, identity } = useRuntime();
349
417
  const { message } = App.useApp();
350
418
  const { code, name, surface, capabilities } = definition;
351
419
  const readableFieldCodes = new Set(Object.entries(surface.fields)
352
- .filter(([, field]) => fieldReadable({ key: '', ...field }, hasCapability, identity.isAppSuperAdmin))
420
+ .filter(([, field]) => fieldReadable({ key: '', ...field }, hasReadCapability, identity.isAppSuperAdmin))
353
421
  .map(([key]) => key));
354
422
  const state = useGeneratedList(definition, readableFieldCodes);
355
423
  const [exporting, setExporting] = useState(false);
356
424
  const rows = (state.list.result.data || []);
357
425
  const fields = listSurfaceFields(surface.fields)
358
- .filter((field) => fieldReadable(field, hasCapability, identity.isAppSuperAdmin))
426
+ .filter((field) => fieldReadable(field, hasReadCapability, identity.isAppSuperAdmin))
359
427
  .slice(0, 4);
360
428
  const handleExport = async () => {
361
429
  setExporting(true);
@@ -382,7 +450,7 @@ function GeneratedResourceFormPage({ definition, mode, variant, }) {
382
450
  const { id = '' } = useParams();
383
451
  const navigate = useNavigate();
384
452
  const { message } = App.useApp();
385
- const { hasCapability, identity } = useRuntime();
453
+ const { hasCapability, hasReadCapability, identity } = useRuntime();
386
454
  const definitions = useResourceDefinitions();
387
455
  const [form] = Form.useForm();
388
456
  const create = useCreate();
@@ -488,7 +556,7 @@ function GeneratedResourceFormPage({ definition, mode, variant, }) {
488
556
  };
489
557
  return (_jsx(Page, { backLabel: mode === 'edit' ? `返回${name}详情` : `返回${name}`, backPath: mode === 'edit' ? detailPath : listPath, capability: mode === 'create' ? capabilities.create : capabilities.update, detailPath: record ? detailPath : undefined, loading: mode === 'edit' && query.query.isFetching, mode: mode, notFound: mode === 'edit' && !record, resource: code, surface: surface, title: name, children: _jsxs(Form, { className: variant === 'mobile' ? 'oxa-mobile-form' : 'oxa-form-full', form: form, initialValues: undefined, layout: "vertical", onFinish: (values) => void submit(values), children: [_jsx("div", { className: "oxa-sections", children: fieldsBySection(surface).map((group) => ({
490
558
  ...group,
491
- fields: group.fields.filter((field) => fieldReadable(field, hasCapability, identity.isAppSuperAdmin) ||
559
+ fields: group.fields.filter((field) => fieldReadable(field, hasReadCapability, identity.isAppSuperAdmin) ||
492
560
  fieldWritable(field, mode, hasCapability, identity.isAppSuperAdmin)),
493
561
  })).filter((group) => group.fields.length > 0).map((group) => (_jsx(Card, { className: "oxa-section-card", title: group.section === 'default' ? '基本信息' : group.section, children: _jsx("div", { className: "oxa-grid", children: group.fields.map((field) => (_jsx(FieldControl, { disabled: !fieldWritable(field, mode, hasCapability, identity.isAppSuperAdmin), field: field, operation: mode === 'create' ? 'create' : 'update', resourceCode: code, recordId: record?.id, renderers: {
494
562
  renderSubtable: (context) => (_jsx(SubtableField, { disabled: context.disabled, field: context.field, mobile: variant === 'mobile', operation: context.operation, parentRecordId: context.recordId })),
@@ -499,7 +567,7 @@ function GeneratedResourceFormPage({ definition, mode, variant, }) {
499
567
  function GeneratedResourceDetailPage({ definition, variant }) {
500
568
  const { id = '' } = useParams();
501
569
  const navigate = useNavigate();
502
- const { hasCapability, identity } = useRuntime();
570
+ const { hasCapability, hasReadCapability, identity } = useRuntime();
503
571
  const query = useOne({
504
572
  resource: definition.code,
505
573
  id,
@@ -542,10 +610,10 @@ function GeneratedResourceDetailPage({ definition, variant }) {
542
610
  const auditContent = auditError ? (_jsx(Alert, { action: _jsx(Button, { onClick: () => {
543
611
  setAuditError('');
544
612
  setAuditLoadedFor('');
545
- }, size: "small", children: "\u91CD\u8BD5" }), description: auditError, showIcon: true, title: "\u53D8\u66F4\u8BB0\u5F55\u8BFB\u53D6\u5931\u8D25", type: "error" })) : auditLoading ? (_jsxs("div", { className: "oxa-audit-loading", children: [_jsx(Spin, { size: "small" }), " \u6B63\u5728\u8BFB\u53D6\u64CD\u4F5C\u8BB0\u5F55"] })) : auditEntries.length ? (auditEntries.slice(0, 5).map((entry) => (_jsx(AuditEntry, { entry: entry, readable: (field) => fieldReadable(field, hasCapability, identity.isAppSuperAdmin), resourceCode: definition.code, surface: definition.surface }, entry.id)))) : (_jsx(Typography.Text, { type: "secondary", children: "\u6682\u65E0\u53D8\u66F4\u8BB0\u5F55" }));
546
- const content = record ? (_jsx("div", { className: "oxa-detail-layout", children: _jsxs("div", { className: "oxa-detail-main", children: [fieldsBySection(definition.surface).map((group) => ({
613
+ }, size: "small", children: "\u91CD\u8BD5" }), description: auditError, showIcon: true, title: "\u53D8\u66F4\u8BB0\u5F55\u8BFB\u53D6\u5931\u8D25", type: "error" })) : auditLoading ? (_jsxs("div", { className: "oxa-audit-loading", children: [_jsx(Spin, { size: "small" }), " \u6B63\u5728\u8BFB\u53D6\u64CD\u4F5C\u8BB0\u5F55"] })) : auditEntries.length ? (auditEntries.slice(0, 5).map((entry) => (_jsx(AuditEntry, { entry: entry, readable: (field) => fieldReadable(field, hasReadCapability, identity.isAppSuperAdmin), resourceCode: definition.code, surface: definition.surface }, entry.id)))) : (_jsx(Typography.Text, { type: "secondary", children: "\u6682\u65E0\u53D8\u66F4\u8BB0\u5F55" }));
614
+ const content = record ? (_jsx("div", { className: "oxa-detail-layout", children: _jsxs("div", { className: "oxa-detail-main", children: [fieldsBySection(definition.surface, 'detail').map((group) => ({
547
615
  ...group,
548
- fields: group.fields.filter((field) => fieldReadable(field, hasCapability, identity.isAppSuperAdmin)),
616
+ fields: group.fields.filter((field) => fieldReadable(field, hasReadCapability, identity.isAppSuperAdmin)),
549
617
  })).filter((group) => group.fields.length > 0).map((group) => (_jsx(Card, { className: "oxa-section-card", title: group.section === 'default' ? '基本信息' : group.section, children: _jsx(Descriptions, { column: { xs: 1, sm: 2, lg: 3 }, items: group.fields.map((field) => ({
550
618
  key: field.key,
551
619
  label: field.label,