@ximatai/muyun-web-app 0.26.4 → 0.26.6

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 (92) hide show
  1. package/dist/{EmployeeDetailWorkspaceView-BySbWjCV.js → EmployeeDetailWorkspaceView-DHZ4arBj.js} +1 -1
  2. package/dist/{EmployeeManagementView-DvmDPxzN.js → EmployeeManagementView-BfGb_ssB.js} +336 -336
  3. package/dist/MetadataOrchestrationView-BLxigKBh.js +655 -0
  4. package/dist/{ModuleActionManagementView-DRtYMXOK.js → ModuleActionManagementView-ByJzNkQs.js} +102 -102
  5. package/dist/{RoleAuthorizationView-CK6Vfdup.js → RoleAuthorizationView-DJSWY3fu.js} +62 -62
  6. package/dist/{RoleDetailWorkspaceView-BPZcZy-r.js → RoleDetailWorkspaceView-Dfdigf04.js} +1 -1
  7. package/dist/{RoleManagementView-B7TzzVOm.js → RoleManagementView-D0e9nLwW.js} +295 -295
  8. package/dist/{SystemUserDetailWorkspaceView-BtEDyU-k.js → SystemUserDetailWorkspaceView-D-UPhCmD.js} +1 -1
  9. package/dist/{SystemUserManagementView-TKqj92zG.js → SystemUserManagementView-DNKRvmDk.js} +198 -198
  10. package/dist/{UserDetailWorkspaceView-B6fGrnQ7.js → UserDetailWorkspaceView-BCSCLNSz.js} +1 -1
  11. package/dist/{UserManagementView-4IJeDSQS.js → UserManagementView-aY2AeeWK.js} +287 -287
  12. package/dist/index.css +1 -1
  13. package/dist/index.js +2384 -2410
  14. package/dist/pageRealtime-Be2xkeKK.js +225 -0
  15. package/dist/{platform-components-CgMBopmF.js → platform-components-DuAohqJO.js} +2732 -1546
  16. package/dist/types/app/workbenchRouteSync.d.ts +13 -0
  17. package/dist/types/consumer/index.d.ts +10 -2
  18. package/dist/types/dynamic-page-runtime/DynamicModuleHost.vue.d.ts +8 -1
  19. package/dist/types/dynamic-page-runtime/dynamicModuleDetailStateModel.d.ts +12 -0
  20. package/dist/types/dynamic-page-runtime/index.d.ts +5 -0
  21. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +126 -0
  22. package/dist/types/dynamic-page-runtime/modulePageListRefresh.d.ts +12 -0
  23. package/dist/types/dynamic-page-runtime/modulePageNavigation.d.ts +11 -0
  24. package/dist/types/platform-admin-runtime/PlatformAdminOutlet.vue.d.ts +1 -0
  25. package/dist/types/platform-admin-runtime/backendHttp.d.ts +1 -1
  26. package/dist/types/platform-admin-runtime/index.d.ts +3 -0
  27. package/dist/types/platform-admin-runtime/realtime.d.ts +9 -5
  28. package/dist/types/platform-admin-runtime/workspaceViewContract.d.ts +1 -36
  29. package/dist/types/platform-admin-runtime/workspaceViewHost.d.ts +2 -10
  30. package/dist/types/platform-admin-runtime/workspaceViews.d.ts +1 -17
  31. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +2 -2
  32. package/dist/types/platform-components/DateTimeText.vue.d.ts +1 -1
  33. package/dist/types/platform-components/FileSizeText.vue.d.ts +10 -0
  34. package/dist/types/platform-components/FileTransferUploader.vue.d.ts +51 -0
  35. package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +16 -0
  36. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +1 -1
  37. package/dist/types/platform-components/RecordFileReferenceTransfer.vue.d.ts +19 -0
  38. package/dist/types/platform-components/RecordFormFields.vue.d.ts +4 -0
  39. package/dist/types/platform-components/RecordListExplorer.vue.d.ts +2 -2
  40. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +15 -0
  41. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +33 -0
  42. package/dist/types/platform-components/RecordPanelButton.vue.d.ts +33 -0
  43. package/dist/types/platform-components/RecordPanelState.vue.d.ts +11 -0
  44. package/dist/types/platform-components/RecordPicker.vue.d.ts +1 -1
  45. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +47 -2
  46. package/dist/types/platform-components/RecordStatusTag.vue.d.ts +6 -1
  47. package/dist/types/platform-components/RecordTagList.vue.d.ts +7 -0
  48. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +2 -2
  49. package/dist/types/platform-components/fileReferenceTransfer.d.ts +17 -0
  50. package/dist/types/platform-components/fileTransferUpload.d.ts +43 -0
  51. package/dist/types/platform-components/index.d.ts +14 -1
  52. package/dist/types/platform-components/platformErrorFeedback.d.ts +2 -0
  53. package/dist/types/platform-components/platformFileSize.d.ts +10 -0
  54. package/dist/types/platform-components/recordActionBarModel.d.ts +6 -1
  55. package/dist/types/platform-components/recordFormFieldModel.d.ts +21 -3
  56. package/dist/types/platform-workbench/Workbench.vue.d.ts +2 -2
  57. package/dist/types/platform-workbench/WorkbenchBrandControl.vue.d.ts +21 -0
  58. package/dist/types/platform-workbench/WorkbenchMenu.vue.d.ts +15 -1
  59. package/dist/types/platform-workbench/WorkbenchMenuTree.vue.d.ts +2 -0
  60. package/dist/types/platform-workbench/WorkspaceViewOutlet.vue.d.ts +7 -0
  61. package/dist/types/platform-workbench/index.d.ts +7 -0
  62. package/dist/types/platform-workbench/menuPointerAim.d.ts +11 -0
  63. package/dist/types/platform-workbench/workbenchLayout.d.ts +1 -0
  64. package/dist/types/platform-workbench/workspaceViewContract.d.ts +20 -0
  65. package/dist/types/platform-workbench/workspaceViewHost.d.ts +8 -0
  66. package/dist/types/platform-workbench/workspaceViews.d.ts +21 -0
  67. package/dist/types/views/employeeDetailWorkspaceView.d.ts +1 -1
  68. package/dist/types/views/metadataOrchestrationWorkspaceView.d.ts +1 -1
  69. package/dist/types/views/moduleActionManagementWorkspaceView.d.ts +1 -1
  70. package/dist/types/views/roleAuthorizationWorkspaceView.d.ts +1 -1
  71. package/dist/types/views/roleDetailWorkspaceView.d.ts +1 -1
  72. package/dist/types/views/systemUserDetailWorkspaceView.d.ts +1 -1
  73. package/dist/types/views/userDetailWorkspaceView.d.ts +1 -1
  74. package/dist/types/vue-ui-antdv/components/UiColorPicker.vue.d.ts +14 -0
  75. package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
  76. package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +3 -3
  77. package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +1 -1
  78. package/dist/types/vue-ui-antdv/components/UiTagList.vue.d.ts +17 -0
  79. package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +3 -3
  80. package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +1 -1
  81. package/dist/types/vue-ui-antdv/index.d.ts +3 -0
  82. package/dist/types/vue-ui-antdv/types.d.ts +3 -9
  83. package/dist/types/web-contracts/index.d.ts +111 -1
  84. package/dist/types/web-core/clients.d.ts +6 -1
  85. package/dist/types/web-core/http.d.ts +12 -1
  86. package/dist/types/web-core/module/staticModuleClient.d.ts +1 -0
  87. package/dist/{useUserSessionRows-DHsyr2Vy.js → useUserSessionRows-DX9qYU5r.js} +2 -2
  88. package/dist/workspaceViewSessions-C3GP1UGp.js +2639 -0
  89. package/package.json +1 -1
  90. package/dist/MetadataOrchestrationView-2JxJkFEC.js +0 -655
  91. package/dist/pageRealtime-CJriNmzP.js +0 -140
  92. package/dist/workspaceViewSessions-BMbyO9O4.js +0 -1571
@@ -3,4 +3,4 @@ export interface MetadataOrchestrationWorkspaceViewInput {
3
3
  moduleTitle?: string;
4
4
  }
5
5
  /** A tab-scoped metadata workbench for one dynamic module. */
6
- export declare const metadataOrchestrationWorkspaceView: import("../platform-admin-runtime/workspaceViewContract").WorkspaceViewDefinition<MetadataOrchestrationWorkspaceViewInput>;
6
+ export declare const metadataOrchestrationWorkspaceView: import("../platform-workbench/workspaceViewContract.ts").WorkspaceViewDefinition<MetadataOrchestrationWorkspaceViewInput>;
@@ -4,4 +4,4 @@ export interface ModuleActionManagementWorkspaceViewInput {
4
4
  moduleKind?: 'static' | 'dynamic';
5
5
  }
6
6
  /** A tab-scoped action directory for exactly one module. */
7
- export declare const moduleActionManagementWorkspaceView: import("../platform-admin-runtime/workspaceViewContract").WorkspaceViewDefinition<ModuleActionManagementWorkspaceViewInput>;
7
+ export declare const moduleActionManagementWorkspaceView: import("../platform-workbench/workspaceViewContract.ts").WorkspaceViewDefinition<ModuleActionManagementWorkspaceViewInput>;
@@ -2,4 +2,4 @@
2
2
  export interface RoleAuthorizationWorkspaceViewInput {
3
3
  roleId: string;
4
4
  }
5
- export declare const roleAuthorizationWorkspaceView: import("../platform-admin-runtime/workspaceViewContract").WorkspaceViewDefinition<RoleAuthorizationWorkspaceViewInput>;
5
+ export declare const roleAuthorizationWorkspaceView: import("../platform-workbench/workspaceViewContract.ts").WorkspaceViewDefinition<RoleAuthorizationWorkspaceViewInput>;
@@ -5,4 +5,4 @@ export interface RoleDetailWorkspaceViewInput {
5
5
  /** Platform-owned roles deliberately have no scope id. */
6
6
  scopeId?: string;
7
7
  }
8
- export declare const roleDetailWorkspaceView: import("../platform-admin-runtime/workspaceViewContract").WorkspaceViewDefinition<RoleDetailWorkspaceViewInput>;
8
+ export declare const roleDetailWorkspaceView: import("../platform-workbench/workspaceViewContract.ts").WorkspaceViewDefinition<RoleDetailWorkspaceViewInput>;
@@ -2,4 +2,4 @@ export interface SystemUserDetailWorkspaceViewInput {
2
2
  recordId: string;
3
3
  }
4
4
  /** A system account detail has a stable identity and can be resumed independently. */
5
- export declare const systemUserDetailWorkspaceView: import("../platform-admin-runtime/workspaceViewContract").WorkspaceViewDefinition<SystemUserDetailWorkspaceViewInput>;
5
+ export declare const systemUserDetailWorkspaceView: import("../platform-workbench/workspaceViewContract.ts").WorkspaceViewDefinition<SystemUserDetailWorkspaceViewInput>;
@@ -1,4 +1,4 @@
1
1
  export interface UserDetailWorkspaceViewInput {
2
2
  recordId: string;
3
3
  }
4
- export declare const userDetailWorkspaceView: import("../platform-admin-runtime/workspaceViewContract").WorkspaceViewDefinition<UserDetailWorkspaceViewInput>;
4
+ export declare const userDetailWorkspaceView: import("../platform-workbench/workspaceViewContract.ts").WorkspaceViewDefinition<UserDetailWorkspaceViewInput>;
@@ -0,0 +1,14 @@
1
+ type __VLS_Props = {
2
+ value?: string;
3
+ disabled?: boolean;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
6
+ "update:value": (value: string) => any;
7
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
8
+ "onUpdate:value"?: ((value: string) => any) | undefined;
9
+ }>, {
10
+ disabled: boolean;
11
+ value: string;
12
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
@@ -1,4 +1,4 @@
1
- export type UiIconName = 'app' | 'check' | 'close' | 'delete' | 'down' | 'edit' | 'export' | 'filter' | 'help' | 'lock' | 'notification' | 'plus' | 'power' | 'reload' | 'save' | 'search' | 'settings';
1
+ export type UiIconName = 'app' | 'check' | 'close' | 'delete' | 'down' | 'edit' | 'export' | 'filter' | 'help' | 'lock' | 'menu-collapse' | 'menu-expand' | 'notification' | 'plus' | 'power' | 'reload' | 'save' | 'search' | 'settings';
2
2
  type __VLS_Props = {
3
3
  name: UiIconName;
4
4
  };
@@ -10,16 +10,16 @@ type __VLS_Props = {
10
10
  };
11
11
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
12
  click: () => any;
13
- action: (action: UiRecordInlineAction) => any;
13
+ action: (action: import("../../web-contracts/index.ts").RecordInlineAction) => any;
14
14
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
15
  onClick?: (() => any) | undefined;
16
- onAction?: ((action: UiRecordInlineAction) => any) | undefined;
16
+ onAction?: ((action: import("../../web-contracts/index.ts").RecordInlineAction) => any) | undefined;
17
17
  }>, {
18
18
  secondary: string;
19
19
  actions: UiRecordInlineAction[];
20
+ selected: boolean;
20
21
  tag: string;
21
22
  muted: boolean;
22
- selected: boolean;
23
23
  clickable: boolean;
24
24
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
25
  declare const _default: typeof __VLS_export;
@@ -20,9 +20,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
20
20
  disabled: boolean;
21
21
  loading: boolean;
22
22
  value: OptionValue | OptionValueList | null;
23
- mode: "multiple";
24
23
  placeholder: string;
25
24
  allowClear: boolean;
25
+ mode: "multiple";
26
26
  showSearch: boolean;
27
27
  filterOption: boolean;
28
28
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,17 @@
1
+ export interface UiTagListItem {
2
+ key: string;
3
+ label: string;
4
+ color?: string;
5
+ }
6
+ type __VLS_Props = {
7
+ items?: UiTagListItem[];
8
+ maxVisible?: number;
9
+ emptyText?: string;
10
+ };
11
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
+ items: UiTagListItem[];
13
+ maxVisible: number;
14
+ emptyText: string;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
@@ -1,4 +1,4 @@
1
- import type { UiRecordInlineAction, UiTreeNode } from '../types';
1
+ import type { UiTreeNode } from '../types';
2
2
  type __VLS_Props = {
3
3
  nodes: UiTreeNode[];
4
4
  selectedKey?: string;
@@ -6,11 +6,11 @@ type __VLS_Props = {
6
6
  };
7
7
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
8
  select: (node: UiTreeNode) => any;
9
- action: (action: UiRecordInlineAction, node: UiTreeNode) => any;
9
+ action: (action: import("../../web-contracts/index.ts").RecordInlineAction, node: UiTreeNode) => any;
10
10
  "update:expandedKeys": (keys: string[]) => any;
11
11
  }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
12
12
  onSelect?: ((node: UiTreeNode) => any) | undefined;
13
- onAction?: ((action: UiRecordInlineAction, node: UiTreeNode) => any) | undefined;
13
+ onAction?: ((action: import("../../web-contracts/index.ts").RecordInlineAction, node: UiTreeNode) => any) | undefined;
14
14
  "onUpdate:expandedKeys"?: ((keys: string[]) => any) | undefined;
15
15
  }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
16
  declare const _default: typeof __VLS_export;
@@ -22,9 +22,9 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
22
22
  disabled: boolean;
23
23
  loading: boolean;
24
24
  value: OptionValue | OptionValueList | null;
25
- mode: "multiple";
26
25
  placeholder: string;
27
26
  allowClear: boolean;
27
+ mode: "multiple";
28
28
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
29
29
  declare const _default: typeof __VLS_export;
30
30
  export default _default;
@@ -2,7 +2,9 @@ export { default as ActionBar } from './components/ActionBar.vue';
2
2
  export { default as UiActionButton } from './components/UiActionButton.vue';
3
3
  export { default as UiButton } from './components/UiButton.vue';
4
4
  export { default as UiBadge } from './components/UiBadge.vue';
5
+ export { default as UiTagList } from './components/UiTagList.vue';
5
6
  export { default as UiCheckbox } from './components/UiCheckbox.vue';
7
+ export { default as UiColorPicker } from './components/UiColorPicker.vue';
6
8
  export { default as UiForm } from './components/UiForm.vue';
7
9
  export { default as UiInput } from './components/UiInput.vue';
8
10
  export { default as UiSearchInput } from './components/UiSearchInput.vue';
@@ -32,5 +34,6 @@ export { showErrorMessage, showFeedback, showInfoMessage, showSuccessMessage, sh
32
34
  export type { UiFeedbackOptions, UiFeedbackTone } from './feedback';
33
35
  export { resolveFieldComponent } from './registry';
34
36
  export type { UiIconName } from './components/UiIcon.vue';
37
+ export type { UiTagListItem } from './components/UiTagList.vue';
35
38
  export type { UiSidePanelScope } from './components/sidePanelHost';
36
39
  export type { UiConfirmOptions, UiDataTableColumn, UiDataTableKey, UiDataTablePagination, UiDataTableRecord, UiDataTableSelection, UiDropdownItem, UiMenuItem, UiRecordInlineAction, UiTabItem, UiTreeNode, UiTreeNodeAction, } from './types';
@@ -1,4 +1,4 @@
1
- import type { UiIconName } from './components/UiIcon.vue';
1
+ import type { RecordInlineAction } from '../web-contracts/index';
2
2
  export type UiDataTableKey = string | number;
3
3
  export type UiDataTableRecord = Record<string, unknown>;
4
4
  export interface UiDataTableColumn {
@@ -36,14 +36,8 @@ export interface UiDropdownItem {
36
36
  disabled?: boolean;
37
37
  danger?: boolean;
38
38
  }
39
- export interface UiRecordInlineAction {
40
- key: string;
41
- title: string;
42
- iconName?: UiIconName;
43
- showLabel?: boolean;
44
- disabled?: boolean;
45
- danger?: boolean;
46
- }
39
+ /** @deprecated Use the adapter-neutral RecordInlineAction contract. */
40
+ export type UiRecordInlineAction = RecordInlineAction;
47
41
  export type UiTreeNodeAction = UiRecordInlineAction;
48
42
  export interface UiTreeNode {
49
43
  key: string;
@@ -80,6 +80,21 @@ export interface WebTreeNode<T> {
80
80
  record: T;
81
81
  children: WebTreeNode<T>[];
82
82
  }
83
+ /**
84
+ * A semantic inline action rendered beside a record in an explorer or tree.
85
+ *
86
+ * The icon names are platform presentation tokens. Individual UI adapters map
87
+ * them to their own icon implementations.
88
+ */
89
+ export interface RecordInlineAction {
90
+ key: string;
91
+ title: string;
92
+ iconName?: RecordInlineActionIconName;
93
+ showLabel?: boolean;
94
+ disabled?: boolean;
95
+ danger?: boolean;
96
+ }
97
+ export type RecordInlineActionIconName = 'app' | 'check' | 'close' | 'delete' | 'down' | 'edit' | 'export' | 'filter' | 'help' | 'lock' | 'notification' | 'plus' | 'power' | 'reload' | 'save' | 'search' | 'settings';
83
98
  export interface CurrentUser {
84
99
  userId: string;
85
100
  username?: string;
@@ -113,6 +128,33 @@ export interface ChangeOwnPasswordRequest {
113
128
  }
114
129
  export type MenuPageMode = 'LIST' | 'FORM' | 'DETAIL';
115
130
  export type MenuOpenMode = 'tab' | 'window';
131
+ /** Server-resolved facts for one menu-driven module page entry. */
132
+ export interface PageBootstrapEntry {
133
+ menuId?: string;
134
+ moduleAlias: string;
135
+ pageMode: MenuPageMode;
136
+ defaultUiConfigId?: string;
137
+ defaultQueryTemplateId?: string;
138
+ entryParamsJson?: string;
139
+ }
140
+ /**
141
+ * The narrow frontend projection of `/platform.menu/{menuId}/entry`.
142
+ *
143
+ * The module descriptor remains owned by the module runtime context until the
144
+ * standard runner consumes descriptor fields directly. This projection keeps
145
+ * the menu entry and resolved page configuration available without creating a
146
+ * second frontend descriptor model.
147
+ */
148
+ export interface PageBootstrap {
149
+ entry: PageBootstrapEntry;
150
+ clientType: 'WEB' | 'APP';
151
+ mainEntityAlias: string;
152
+ resolvedConfig: {
153
+ uiFields: unknown[];
154
+ queryItems: unknown[];
155
+ };
156
+ openApiPath: string;
157
+ }
116
158
  export interface MenuRecord extends StandardEnabledTreeEntity {
117
159
  id: string;
118
160
  title: string;
@@ -300,6 +342,16 @@ export type ModuleViewKind = 'LIST' | 'FORM' | 'DETAIL';
300
342
  export type ModuleUiClientType = 'WEB';
301
343
  export interface UiRule<T> {
302
344
  constant?: T;
345
+ formula?: UiFormula;
346
+ disabledHint?: string;
347
+ }
348
+ /**
349
+ * A platform-owned portable Boolean predicate evaluated against the current record draft.
350
+ * The current grammar supports `PRESENT({fieldName})`, `!()` negation, and `&&` conjunction of PRESENT terms.
351
+ * It is deliberately smaller than the server FormulaEngine because this contract must run in every Web client.
352
+ */
353
+ export interface UiFormula {
354
+ expression: string;
303
355
  }
304
356
  export interface ViewFieldRef {
305
357
  relationCode?: string;
@@ -313,10 +365,24 @@ export interface ViewFieldDefinition {
313
365
  required?: UiRule<boolean>;
314
366
  readOnly?: UiRule<boolean>;
315
367
  uiType?: string;
368
+ valuePresentation?: FieldValuePresentation;
316
369
  width?: string;
370
+ columnSpan?: number;
317
371
  align?: 'left' | 'center' | 'right' | string;
318
372
  fixed?: boolean;
319
- }
373
+ booleanStatus?: BooleanStatusPresentation;
374
+ /** Maximum visible lines for text cells in standard list views. Omitted uses the platform default of one line. */
375
+ maxDisplayLines?: number;
376
+ }
377
+ export interface BooleanStatusPresentation {
378
+ trueLabel: string;
379
+ falseLabel: string;
380
+ trueTone?: BooleanStatusTone;
381
+ falseTone?: BooleanStatusTone;
382
+ }
383
+ export type BooleanStatusTone = 'SUCCESS' | 'NEUTRAL' | 'WARNING' | 'DANGER';
384
+ export type FieldValuePresentation = 'FILE_SIZE';
385
+ export type ViewFieldValueType = 'STRING' | 'TEXT' | 'INTEGER' | 'LONG' | 'BOOLEAN' | 'TIMESTAMP' | 'ZONED_TIMESTAMP' | 'DATE' | 'DECIMAL' | 'JSON';
320
386
  export interface ResolvedViewFieldDescriptor {
321
387
  fieldRef: ViewFieldRef;
322
388
  label?: string;
@@ -324,10 +390,31 @@ export interface ResolvedViewFieldDescriptor {
324
390
  required?: UiRule<boolean>;
325
391
  readOnly?: UiRule<boolean>;
326
392
  uiType?: string;
393
+ valueType?: ViewFieldValueType;
394
+ valuePresentation?: FieldValuePresentation;
327
395
  width?: string;
396
+ columnSpan?: number;
328
397
  align?: 'left' | 'center' | 'right' | string;
329
398
  fixed?: boolean;
399
+ booleanStatus?: BooleanStatusPresentation;
330
400
  option?: ResolvedOptionFieldDescriptor;
401
+ reference?: ResolvedReferenceFieldDescriptor;
402
+ referenceSummary?: ResolvedReferenceSummaryFieldDescriptor;
403
+ /** Maximum visible lines for text cells. Omitted uses the platform default of one line. */
404
+ maxDisplayLines?: number;
405
+ }
406
+ /** Structured summary facts resolved from a reference projection. Every item also contains `id`. */
407
+ export interface ResolvedReferenceSummaryFieldDescriptor {
408
+ sourceField: string;
409
+ targetModuleAlias: string;
410
+ cardinality: 'ONE' | 'MANY';
411
+ fields: string[];
412
+ }
413
+ export interface ResolvedReferenceFieldDescriptor {
414
+ targetModuleAlias: string;
415
+ cardinality: 'ONE' | 'MANY';
416
+ /** Read-side title projection for this scalar reference, when supplied by the server. */
417
+ titleField?: string;
331
418
  }
332
419
  export interface OptionBindingDescriptor {
333
420
  sourceType: string;
@@ -358,6 +445,9 @@ export interface ResolvedViewDescriptor {
358
445
  clientType?: ModuleUiClientType;
359
446
  title?: string;
360
447
  fields: ResolvedViewFieldDescriptor[];
448
+ /** Dynamic-page provenance used to select the view configured by a menu entry. */
449
+ sourceUiConfigId?: string;
450
+ scopedListWorkspace?: ResolvedScopedListWorkspaceDescriptor;
361
451
  }
362
452
  export interface ResolvedUiActionConfirmationDescriptor {
363
453
  mode: 'typedText';
@@ -367,6 +457,25 @@ export interface ResolvedUiActionDescriptor {
367
457
  actionCode: string;
368
458
  confirmation?: ResolvedUiActionConfirmationDescriptor;
369
459
  }
460
+ export interface ResolvedScopedListWorkspaceDescriptor {
461
+ scopeModuleAlias: string;
462
+ scopeField: string;
463
+ queryCriteriaKey: string;
464
+ scopeTitle: string;
465
+ scopeSearchPlaceholder: string;
466
+ /** Scope list items only show a secondary label when the descriptor explicitly enables it. */
467
+ showScopeItemSubtitle: boolean;
468
+ createPolicy: 'REQUIRE_SCOPE' | 'ALLOW_UNSCOPED';
469
+ manageScopeTree?: boolean;
470
+ }
471
+ /** Source-neutral runtime fact for one persisted MuYunFileServer field. */
472
+ export interface ResolvedFileReferenceFieldDescriptor {
473
+ fieldRef: ViewFieldRef;
474
+ allowedMediaTypes: string[];
475
+ maxFileSizeBytes?: number;
476
+ maxFiles: number;
477
+ uploadAvailable: boolean;
478
+ }
370
479
  export interface ModuleUiDefinition {
371
480
  moduleAlias: string;
372
481
  views: ViewDefinition[];
@@ -379,6 +488,7 @@ export interface ResolvedModuleUiDescriptor {
379
488
  views: ResolvedViewDescriptor[];
380
489
  actions?: ResolvedUiActionDescriptor[];
381
490
  recordLabelField?: string;
491
+ fileReferences?: ResolvedFileReferenceFieldDescriptor[];
382
492
  }
383
493
  export interface StandardEntity {
384
494
  id?: string;
@@ -1,4 +1,4 @@
1
- import type { ChangeOwnPasswordRequest, CurrentUser, LoginRequest, LoginResult, MenuMineResponse } from '../web-contracts/index';
1
+ import type { ChangeOwnPasswordRequest, CurrentUser, LoginRequest, LoginResult, MenuMineResponse, PageBootstrap } from '../web-contracts/index';
2
2
  import type { HttpClient } from './http';
3
3
  export interface SessionClient {
4
4
  current(): Promise<CurrentUser>;
@@ -6,6 +6,10 @@ export interface SessionClient {
6
6
  export interface MenuClient {
7
7
  mine(): Promise<MenuMineResponse>;
8
8
  }
9
+ /** Reads the permission-scoped page entry selected by a concrete menu node. */
10
+ export interface PageBootstrapClient {
11
+ byMenu(menuId: string): Promise<PageBootstrap>;
12
+ }
9
13
  export interface AuthClient {
10
14
  login(request: LoginRequest): Promise<LoginResult>;
11
15
  changeOwnPassword(request: ChangeOwnPasswordRequest, token: string): Promise<void>;
@@ -13,6 +17,7 @@ export interface AuthClient {
13
17
  }
14
18
  export declare function createSessionClient(http: HttpClient): SessionClient;
15
19
  export declare function createMenuClient(http: HttpClient): MenuClient;
20
+ export declare function createPageBootstrapClient(http: HttpClient): PageBootstrapClient;
16
21
  /**
17
22
  * The backend serializes Java enum values as upper-case identifiers while the
18
23
  * web contract deliberately uses lower-case literals. Normalize once at the
@@ -18,4 +18,15 @@ export interface HttpRequestOptions {
18
18
  export interface HttpClient {
19
19
  request<T>(options: HttpRequestOptions): Promise<T>;
20
20
  }
21
- export declare function createHttpClient(context?: RequestContext): HttpClient;
21
+ /**
22
+ * Optional capability implemented by HTTP clients that can open a response body
23
+ * as a stream. Keeping it separate preserves compatibility with application
24
+ * supplied clients that only implement ordinary JSON requests.
25
+ */
26
+ export interface HttpStreamClient {
27
+ /** Opens an authenticated response stream without exposing transport credentials to consumers. */
28
+ stream(options: HttpRequestOptions): Promise<ReadableStream<Uint8Array>>;
29
+ }
30
+ export type StreamingHttpClient = HttpClient & HttpStreamClient;
31
+ export declare function isHttpStreamClient(client: HttpClient): client is StreamingHttpClient;
32
+ export declare function createHttpClient(context?: RequestContext): StreamingHttpClient;
@@ -9,6 +9,7 @@ export interface RecordActionRequest {
9
9
  }
10
10
  export interface QuerySchemaRequestOptions {
11
11
  uiConfigId?: string;
12
+ queryTemplateId?: string;
12
13
  }
13
14
  export interface StaticModuleCrudClient<TRecord> {
14
15
  querySchema(options?: QuerySchemaRequestOptions): Promise<QuerySchema>;
@@ -1,5 +1,5 @@
1
- import { Et as e } from "./platform-components-CgMBopmF.js";
2
- import { t } from "./pageRealtime-CJriNmzP.js";
1
+ import { $ as e } from "./platform-components-DuAohqJO.js";
2
+ import { t } from "./pageRealtime-Be2xkeKK.js";
3
3
  import { ref as n } from "vue";
4
4
  //#region src/views/useUserSessionRows.ts
5
5
  function r(r) {