@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.
- package/dist/{EmployeeDetailWorkspaceView-BySbWjCV.js → EmployeeDetailWorkspaceView-DHZ4arBj.js} +1 -1
- package/dist/{EmployeeManagementView-DvmDPxzN.js → EmployeeManagementView-BfGb_ssB.js} +336 -336
- package/dist/MetadataOrchestrationView-BLxigKBh.js +655 -0
- package/dist/{ModuleActionManagementView-DRtYMXOK.js → ModuleActionManagementView-ByJzNkQs.js} +102 -102
- package/dist/{RoleAuthorizationView-CK6Vfdup.js → RoleAuthorizationView-DJSWY3fu.js} +62 -62
- package/dist/{RoleDetailWorkspaceView-BPZcZy-r.js → RoleDetailWorkspaceView-Dfdigf04.js} +1 -1
- package/dist/{RoleManagementView-B7TzzVOm.js → RoleManagementView-D0e9nLwW.js} +295 -295
- package/dist/{SystemUserDetailWorkspaceView-BtEDyU-k.js → SystemUserDetailWorkspaceView-D-UPhCmD.js} +1 -1
- package/dist/{SystemUserManagementView-TKqj92zG.js → SystemUserManagementView-DNKRvmDk.js} +198 -198
- package/dist/{UserDetailWorkspaceView-B6fGrnQ7.js → UserDetailWorkspaceView-BCSCLNSz.js} +1 -1
- package/dist/{UserManagementView-4IJeDSQS.js → UserManagementView-aY2AeeWK.js} +287 -287
- package/dist/index.css +1 -1
- package/dist/index.js +2384 -2410
- package/dist/pageRealtime-Be2xkeKK.js +225 -0
- package/dist/{platform-components-CgMBopmF.js → platform-components-DuAohqJO.js} +2732 -1546
- package/dist/types/app/workbenchRouteSync.d.ts +13 -0
- package/dist/types/consumer/index.d.ts +10 -2
- package/dist/types/dynamic-page-runtime/DynamicModuleHost.vue.d.ts +8 -1
- package/dist/types/dynamic-page-runtime/dynamicModuleDetailStateModel.d.ts +12 -0
- package/dist/types/dynamic-page-runtime/index.d.ts +5 -0
- package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +126 -0
- package/dist/types/dynamic-page-runtime/modulePageListRefresh.d.ts +12 -0
- package/dist/types/dynamic-page-runtime/modulePageNavigation.d.ts +11 -0
- package/dist/types/platform-admin-runtime/PlatformAdminOutlet.vue.d.ts +1 -0
- package/dist/types/platform-admin-runtime/backendHttp.d.ts +1 -1
- package/dist/types/platform-admin-runtime/index.d.ts +3 -0
- package/dist/types/platform-admin-runtime/realtime.d.ts +9 -5
- package/dist/types/platform-admin-runtime/workspaceViewContract.d.ts +1 -36
- package/dist/types/platform-admin-runtime/workspaceViewHost.d.ts +2 -10
- package/dist/types/platform-admin-runtime/workspaceViews.d.ts +1 -17
- package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +2 -2
- package/dist/types/platform-components/DateTimeText.vue.d.ts +1 -1
- package/dist/types/platform-components/FileSizeText.vue.d.ts +10 -0
- package/dist/types/platform-components/FileTransferUploader.vue.d.ts +51 -0
- package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +16 -0
- package/dist/types/platform-components/RecordDetailFields.vue.d.ts +1 -1
- package/dist/types/platform-components/RecordFileReferenceTransfer.vue.d.ts +19 -0
- package/dist/types/platform-components/RecordFormFields.vue.d.ts +4 -0
- package/dist/types/platform-components/RecordListExplorer.vue.d.ts +2 -2
- package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +15 -0
- package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +33 -0
- package/dist/types/platform-components/RecordPanelButton.vue.d.ts +33 -0
- package/dist/types/platform-components/RecordPanelState.vue.d.ts +11 -0
- package/dist/types/platform-components/RecordPicker.vue.d.ts +1 -1
- package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +47 -2
- package/dist/types/platform-components/RecordStatusTag.vue.d.ts +6 -1
- package/dist/types/platform-components/RecordTagList.vue.d.ts +7 -0
- package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +2 -2
- package/dist/types/platform-components/fileReferenceTransfer.d.ts +17 -0
- package/dist/types/platform-components/fileTransferUpload.d.ts +43 -0
- package/dist/types/platform-components/index.d.ts +14 -1
- package/dist/types/platform-components/platformErrorFeedback.d.ts +2 -0
- package/dist/types/platform-components/platformFileSize.d.ts +10 -0
- package/dist/types/platform-components/recordActionBarModel.d.ts +6 -1
- package/dist/types/platform-components/recordFormFieldModel.d.ts +21 -3
- package/dist/types/platform-workbench/Workbench.vue.d.ts +2 -2
- package/dist/types/platform-workbench/WorkbenchBrandControl.vue.d.ts +21 -0
- package/dist/types/platform-workbench/WorkbenchMenu.vue.d.ts +15 -1
- package/dist/types/platform-workbench/WorkbenchMenuTree.vue.d.ts +2 -0
- package/dist/types/platform-workbench/WorkspaceViewOutlet.vue.d.ts +7 -0
- package/dist/types/platform-workbench/index.d.ts +7 -0
- package/dist/types/platform-workbench/menuPointerAim.d.ts +11 -0
- package/dist/types/platform-workbench/workbenchLayout.d.ts +1 -0
- package/dist/types/platform-workbench/workspaceViewContract.d.ts +20 -0
- package/dist/types/platform-workbench/workspaceViewHost.d.ts +8 -0
- package/dist/types/platform-workbench/workspaceViews.d.ts +21 -0
- package/dist/types/views/employeeDetailWorkspaceView.d.ts +1 -1
- package/dist/types/views/metadataOrchestrationWorkspaceView.d.ts +1 -1
- package/dist/types/views/moduleActionManagementWorkspaceView.d.ts +1 -1
- package/dist/types/views/roleAuthorizationWorkspaceView.d.ts +1 -1
- package/dist/types/views/roleDetailWorkspaceView.d.ts +1 -1
- package/dist/types/views/systemUserDetailWorkspaceView.d.ts +1 -1
- package/dist/types/views/userDetailWorkspaceView.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiColorPicker.vue.d.ts +14 -0
- package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +3 -3
- package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiTagList.vue.d.ts +17 -0
- package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +3 -3
- package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/index.d.ts +3 -0
- package/dist/types/vue-ui-antdv/types.d.ts +3 -9
- package/dist/types/web-contracts/index.d.ts +111 -1
- package/dist/types/web-core/clients.d.ts +6 -1
- package/dist/types/web-core/http.d.ts +12 -1
- package/dist/types/web-core/module/staticModuleClient.d.ts +1 -0
- package/dist/{useUserSessionRows-DHsyr2Vy.js → useUserSessionRows-DX9qYU5r.js} +2 -2
- package/dist/workspaceViewSessions-C3GP1UGp.js +2639 -0
- package/package.json +1 -1
- package/dist/MetadataOrchestrationView-2JxJkFEC.js +0 -655
- package/dist/pageRealtime-CJriNmzP.js +0 -140
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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:
|
|
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:
|
|
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 {
|
|
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:
|
|
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:
|
|
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 {
|
|
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
|
-
|
|
40
|
-
|
|
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
|
-
|
|
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 {
|
|
2
|
-
import { t } from "./pageRealtime-
|
|
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) {
|