@ximatai/muyun-web-app 0.26.6 → 0.26.7
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-DHZ4arBj.js → EmployeeDetailWorkspaceView-DYJLlkSz.js} +1 -1
- package/dist/EmployeeManagementView-taxWUa7g.js +1778 -0
- package/dist/{MetadataOrchestrationView-BLxigKBh.js → MetadataOrchestrationView-B-CPudJl.js} +195 -195
- package/dist/{ModuleActionManagementView-ByJzNkQs.js → ModuleActionManagementView-CmVj0e0C.js} +122 -122
- package/dist/RoleAuthorizationView-q_6CsBYq.js +592 -0
- package/dist/{RoleDetailWorkspaceView-Dfdigf04.js → RoleDetailWorkspaceView-DmJlJgAj.js} +1 -1
- package/dist/{RoleManagementView-D0e9nLwW.js → RoleManagementView-HCa9rH0f.js} +283 -283
- package/dist/{SystemUserDetailWorkspaceView-D-UPhCmD.js → SystemUserDetailWorkspaceView-U6Ij0US1.js} +1 -1
- package/dist/SystemUserManagementView-C1CkKivH.js +758 -0
- package/dist/{UserDetailWorkspaceView-BCSCLNSz.js → UserDetailWorkspaceView-OPYvD6mH.js} +1 -1
- package/dist/UserManagementView-gbCL9SnC.js +965 -0
- package/dist/index.css +1 -1
- package/dist/index.js +3257 -2210
- package/dist/{pageRealtime-Be2xkeKK.js → pageRealtime-CzJlr9hs.js} +17 -17
- package/dist/{platform-components-DuAohqJO.js → platform-components-DKKWbNrz.js} +3320 -2102
- package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +33 -0
- package/dist/types/app/LoginView.vue.d.ts +4 -1
- package/dist/types/app/ThemeSkinPreferencesDialog.vue.d.ts +20 -0
- package/dist/types/app/lockedTabPreference.d.ts +6 -0
- package/dist/types/app/themeSkinPreference.d.ts +11 -0
- package/dist/types/app/workbenchStartup.d.ts +14 -1
- package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +43 -0
- package/dist/types/consumer/index.d.ts +15 -1
- package/dist/types/consumer/userPreferencePersistence.d.ts +7 -0
- package/dist/types/consumer/workbenchNavigation.d.ts +8 -0
- package/dist/types/dynamic-page-runtime/index.d.ts +1 -1
- package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +19 -1
- package/dist/types/platform-components/FileTransferUploader.vue.d.ts +20 -1
- package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +30 -0
- package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +8 -6
- package/dist/types/platform-components/RecordDetailPanel.vue.d.ts +5 -5
- package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +6 -6
- package/dist/types/platform-components/RecordFileReferenceTransfer.vue.d.ts +10 -0
- package/dist/types/platform-components/RecordFormFields.vue.d.ts +5 -1
- package/dist/types/platform-components/SingleImageFileReferenceField.vue.d.ts +23 -0
- package/dist/types/platform-components/fileReferenceTransfer.d.ts +8 -0
- package/dist/types/platform-components/index.d.ts +1 -0
- package/dist/types/platform-components/platformErrorFeedback.d.ts +2 -0
- package/dist/types/platform-components/recordActionBarModel.d.ts +6 -0
- package/dist/types/platform-components/recordFormFieldModel.d.ts +5 -2
- package/dist/types/platform-components/scopedTreeModuleContext.d.ts +1 -1
- package/dist/types/platform-components/staticCrudManagementState.d.ts +1 -1
- package/dist/types/platform-workbench/Workbench.vue.d.ts +12 -2
- package/dist/types/platform-workbench/WorkbenchBrandControl.vue.d.ts +22 -2
- package/dist/types/platform-workbench/WorkbenchMenu.vue.d.ts +24 -0
- package/dist/types/platform-workbench/WorkbenchSidebarMenuEntry.vue.d.ts +19 -0
- package/dist/types/platform-workbench/menuHoverClickIntent.d.ts +10 -0
- package/dist/types/platform-workbench/menuPointerAim.d.ts +1 -1
- package/dist/types/platform-workbench/workbenchLayout.d.ts +3 -0
- package/dist/types/views/applicationManagementState.d.ts +1 -1
- package/dist/types/views/fieldSpecManagementState.d.ts +1 -1
- package/dist/types/views/fieldUiControlManagementState.d.ts +1 -1
- package/dist/types/views/tenantManagementState.d.ts +11 -1
- package/dist/types/vue-ui-antdv/components/UiDataTable.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiTabs.vue.d.ts +6 -0
- package/dist/types/vue-ui-antdv/components/UiThemeProvider.vue.d.ts +21 -0
- package/dist/types/vue-ui-antdv/index.d.ts +3 -0
- package/dist/types/vue-ui-antdv/theme.d.ts +58 -0
- package/dist/types/vue-ui-antdv/themeGlobalScope.d.ts +2 -0
- package/dist/types/vue-ui-antdv/types.d.ts +1 -0
- package/dist/types/web-contracts/index.d.ts +58 -0
- package/dist/types/web-core/clients.d.ts +9 -1
- package/dist/types/web-core/index.d.ts +2 -0
- package/dist/types/web-core/mock.d.ts +3 -1
- package/dist/types/web-core/userPreferences.d.ts +24 -0
- package/dist/{useUserSessionRows-DX9qYU5r.js → useUserSessionRows-CBHEzRFQ.js} +2 -2
- package/dist/workspaceViewSessions-DkB9myrq.js +3252 -0
- package/package.json +1 -1
- package/dist/EmployeeManagementView-BfGb_ssB.js +0 -1706
- package/dist/RoleAuthorizationView-DJSWY3fu.js +0 -592
- package/dist/SystemUserManagementView-DNKRvmDk.js +0 -761
- package/dist/UserManagementView-aY2AeeWK.js +0 -965
- package/dist/workspaceViewSessions-C3GP1UGp.js +0 -2639
|
@@ -5,28 +5,36 @@ type __VLS_Props = {
|
|
|
5
5
|
loading?: boolean;
|
|
6
6
|
error?: string;
|
|
7
7
|
activeTabKey?: string;
|
|
8
|
+
lockedTabKeys?: string[];
|
|
8
9
|
realtimeStatus?: WorkbenchRealtimeStatus;
|
|
10
|
+
themeAppearance?: 'light' | 'dark';
|
|
9
11
|
};
|
|
10
|
-
declare var
|
|
12
|
+
declare var __VLS_88: {
|
|
11
13
|
activeTab: MenuTab;
|
|
12
14
|
target: MenuNavigationTarget | undefined;
|
|
13
15
|
pageDescriptor: PageDescriptor | undefined;
|
|
14
16
|
};
|
|
15
17
|
type __VLS_Slots = {} & {
|
|
16
|
-
default?: (props: typeof
|
|
18
|
+
default?: (props: typeof __VLS_88) => any;
|
|
17
19
|
};
|
|
18
20
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
21
|
+
closeTabs: (keys: string[]) => any;
|
|
19
22
|
selectMenu: (menu: MenuRecord, target: MenuNavigationTarget) => any;
|
|
20
23
|
invalidMenu: (menu: MenuRecord) => any;
|
|
21
24
|
changeTab: (key: string) => any;
|
|
22
25
|
closeTab: (key: string) => any;
|
|
26
|
+
toggleTabLock: (key: string) => any;
|
|
27
|
+
reorderTabs: (keys: string[]) => any;
|
|
23
28
|
"update:activeTabKey": (key: string) => any;
|
|
24
29
|
userCommand: (key: string) => any;
|
|
25
30
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
31
|
+
onCloseTabs?: ((keys: string[]) => any) | undefined;
|
|
26
32
|
onSelectMenu?: ((menu: MenuRecord, target: MenuNavigationTarget) => any) | undefined;
|
|
27
33
|
onInvalidMenu?: ((menu: MenuRecord) => any) | undefined;
|
|
28
34
|
onChangeTab?: ((key: string) => any) | undefined;
|
|
29
35
|
onCloseTab?: ((key: string) => any) | undefined;
|
|
36
|
+
onToggleTabLock?: ((key: string) => any) | undefined;
|
|
37
|
+
onReorderTabs?: ((keys: string[]) => any) | undefined;
|
|
30
38
|
"onUpdate:activeTabKey"?: ((key: string) => any) | undefined;
|
|
31
39
|
onUserCommand?: ((key: string) => any) | undefined;
|
|
32
40
|
}>, {
|
|
@@ -35,6 +43,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
35
43
|
realtimeStatus: WorkbenchRealtimeStatus;
|
|
36
44
|
startup: WorkbenchStartupState;
|
|
37
45
|
activeTabKey: string;
|
|
46
|
+
lockedTabKeys: string[];
|
|
47
|
+
themeAppearance: "light" | "dark";
|
|
38
48
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
39
49
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
40
50
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,21 +1,41 @@
|
|
|
1
|
+
interface CompactMenuAnchor {
|
|
2
|
+
left: number;
|
|
3
|
+
top: number;
|
|
4
|
+
right: number;
|
|
5
|
+
bottom: number;
|
|
6
|
+
}
|
|
1
7
|
type __VLS_Props = {
|
|
2
8
|
presentation: 'compact' | 'expanded';
|
|
3
9
|
compactOpen?: boolean;
|
|
4
10
|
tenantLabel?: string;
|
|
11
|
+
logoSrc?: string;
|
|
12
|
+
showTitleArea?: boolean;
|
|
13
|
+
brandTitle?: string;
|
|
14
|
+
brandSubtitle?: string;
|
|
15
|
+
expandedMenuDepth?: 1 | 2 | 3;
|
|
16
|
+
presentationToggleVisible?: boolean;
|
|
5
17
|
};
|
|
6
18
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
|
-
openCompactMenu: (source: "click" | "focus" | "pointer") => any;
|
|
19
|
+
openCompactMenu: (source: "click" | "focus" | "pointer", anchor: CompactMenuAnchor) => any;
|
|
8
20
|
scheduleCompactMenuClose: () => any;
|
|
9
21
|
closeCompactMenu: () => any;
|
|
10
22
|
changePresentation: (presentation: "compact" | "expanded") => any;
|
|
23
|
+
changeExpandedMenuDepth: (depth: 1 | 2 | 3) => any;
|
|
11
24
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
12
|
-
onOpenCompactMenu?: ((source: "click" | "focus" | "pointer") => any) | undefined;
|
|
25
|
+
onOpenCompactMenu?: ((source: "click" | "focus" | "pointer", anchor: CompactMenuAnchor) => any) | undefined;
|
|
13
26
|
onScheduleCompactMenuClose?: (() => any) | undefined;
|
|
14
27
|
onCloseCompactMenu?: (() => any) | undefined;
|
|
15
28
|
onChangePresentation?: ((presentation: "compact" | "expanded") => any) | undefined;
|
|
29
|
+
onChangeExpandedMenuDepth?: ((depth: 1 | 2 | 3) => any) | undefined;
|
|
16
30
|
}>, {
|
|
17
31
|
compactOpen: boolean;
|
|
18
32
|
tenantLabel: string;
|
|
33
|
+
logoSrc: string;
|
|
34
|
+
showTitleArea: boolean;
|
|
35
|
+
brandTitle: string;
|
|
36
|
+
brandSubtitle: string;
|
|
37
|
+
expandedMenuDepth: 1 | 2 | 3;
|
|
38
|
+
presentationToggleVisible: boolean;
|
|
19
39
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
20
40
|
declare const _default: typeof __VLS_export;
|
|
21
41
|
export default _default;
|
|
@@ -4,14 +4,26 @@ type __VLS_Props = {
|
|
|
4
4
|
menus: MenuTreeNode[];
|
|
5
5
|
selectedMenuId?: string;
|
|
6
6
|
tenantLabel?: string;
|
|
7
|
+
logoSrc?: string;
|
|
8
|
+
showTitleArea?: boolean;
|
|
9
|
+
brandTitle?: string;
|
|
10
|
+
brandSubtitle?: string;
|
|
7
11
|
searchPlaceholder?: string;
|
|
8
12
|
realtimeStatus?: WorkbenchRealtimeStatus;
|
|
9
13
|
presentation?: 'compact' | 'expanded';
|
|
14
|
+
expandedMenuDepth?: 1 | 2 | 3;
|
|
10
15
|
compactOpen?: boolean;
|
|
11
16
|
compactTop?: number;
|
|
17
|
+
compactAnchor?: {
|
|
18
|
+
left: number;
|
|
19
|
+
top: number;
|
|
20
|
+
right: number;
|
|
21
|
+
bottom: number;
|
|
22
|
+
};
|
|
12
23
|
};
|
|
13
24
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
14
25
|
changePresentation: (presentation: "compact" | "expanded") => any;
|
|
26
|
+
changeExpandedMenuDepth: (depth: 1 | 2 | 3) => any;
|
|
15
27
|
selectMenu: (menu: MenuRecord, target: MenuNavigationTarget) => any;
|
|
16
28
|
invalidMenu: (menu: MenuRecord) => any;
|
|
17
29
|
compactMenuEnter: () => any;
|
|
@@ -19,6 +31,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
19
31
|
compactMenuClose: () => any;
|
|
20
32
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
21
33
|
onChangePresentation?: ((presentation: "compact" | "expanded") => any) | undefined;
|
|
34
|
+
onChangeExpandedMenuDepth?: ((depth: 1 | 2 | 3) => any) | undefined;
|
|
22
35
|
onSelectMenu?: ((menu: MenuRecord, target: MenuNavigationTarget) => any) | undefined;
|
|
23
36
|
onInvalidMenu?: ((menu: MenuRecord) => any) | undefined;
|
|
24
37
|
onCompactMenuEnter?: (() => any) | undefined;
|
|
@@ -28,10 +41,21 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
28
41
|
presentation: "compact" | "expanded";
|
|
29
42
|
compactOpen: boolean;
|
|
30
43
|
tenantLabel: string;
|
|
44
|
+
logoSrc: string;
|
|
45
|
+
showTitleArea: boolean;
|
|
46
|
+
brandTitle: string;
|
|
47
|
+
brandSubtitle: string;
|
|
48
|
+
expandedMenuDepth: 1 | 2 | 3;
|
|
31
49
|
selectedMenuId: string;
|
|
32
50
|
searchPlaceholder: string;
|
|
33
51
|
realtimeStatus: WorkbenchRealtimeStatus;
|
|
34
52
|
compactTop: number;
|
|
53
|
+
compactAnchor: {
|
|
54
|
+
left: number;
|
|
55
|
+
top: number;
|
|
56
|
+
right: number;
|
|
57
|
+
bottom: number;
|
|
58
|
+
};
|
|
35
59
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
36
60
|
declare const _default: typeof __VLS_export;
|
|
37
61
|
export default _default;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { WorkbenchMenuNode } from './menuTreeModel';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
node: WorkbenchMenuNode;
|
|
4
|
+
mode: 'inline' | 'flyout';
|
|
5
|
+
selected?: boolean;
|
|
6
|
+
selectedPath?: boolean;
|
|
7
|
+
active?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
+
select: (node: WorkbenchMenuNode) => any;
|
|
11
|
+
openChildren: (node: WorkbenchMenuNode, event: MouseEvent, anchor: HTMLElement) => any;
|
|
12
|
+
toggleChildren: (node: WorkbenchMenuNode, anchor: HTMLElement) => any;
|
|
13
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
14
|
+
onSelect?: ((node: WorkbenchMenuNode) => any) | undefined;
|
|
15
|
+
onOpenChildren?: ((node: WorkbenchMenuNode, event: MouseEvent, anchor: HTMLElement) => any) | undefined;
|
|
16
|
+
onToggleChildren?: ((node: WorkbenchMenuNode, anchor: HTMLElement) => any) | undefined;
|
|
17
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface MenuHoverClickIntent {
|
|
2
|
+
markHoverActivation(menuId: string): void;
|
|
3
|
+
consumeImmediateClick(menuId: string): boolean;
|
|
4
|
+
clear(): void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Treats the hover activation immediately preceding a click as the same open intent.
|
|
8
|
+
* A later click remains a deliberate toggle and may close the active menu.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createMenuHoverClickIntent(gracePeriod: number, now?: () => number): MenuHoverClickIntent;
|
|
@@ -7,5 +7,5 @@ export interface MenuPanelEdge {
|
|
|
7
7
|
top: number;
|
|
8
8
|
bottom: number;
|
|
9
9
|
}
|
|
10
|
-
/** Keeps
|
|
10
|
+
/** Keeps the active menu item stable while the pointer crosses towards its flyout panel. */
|
|
11
11
|
export declare function isPointerHeadingToMenuPanel(pointer: MenuPointerPosition, origin: MenuPointerPosition, panel: MenuPanelEdge): boolean;
|
|
@@ -1 +1,4 @@
|
|
|
1
1
|
export declare function compactMenuTopOf(topbarBottom: number, workbenchTop: number): number;
|
|
2
|
+
export declare function floatingPanelTopOf(anchorViewportTop: number, panelHeight: number, viewportHeight: number, shellViewportTop: number, margin?: number): number;
|
|
3
|
+
export type WorkbenchMenuPresentation = 'compact' | 'expanded';
|
|
4
|
+
export declare function effectiveWorkbenchMenuPresentation(preferredPresentation: WorkbenchMenuPresentation, narrowViewport: boolean): WorkbenchMenuPresentation;
|
|
@@ -57,7 +57,7 @@ export declare function createApplicationManagementState(applicationContext: Mod
|
|
|
57
57
|
startCreate: () => void;
|
|
58
58
|
startEdit: () => void;
|
|
59
59
|
cancelEdit: () => void;
|
|
60
|
-
save: () => Promise<
|
|
60
|
+
save: () => Promise<boolean>;
|
|
61
61
|
toggleEnabled: () => Promise<void>;
|
|
62
62
|
removeSelected: () => Promise<void>;
|
|
63
63
|
};
|
|
@@ -73,7 +73,7 @@ export declare function createFieldSpecManagementState(fieldSpecContext: ModuleC
|
|
|
73
73
|
startCreate: () => void;
|
|
74
74
|
startEdit: () => void;
|
|
75
75
|
cancelEdit: () => void;
|
|
76
|
-
save: () => Promise<
|
|
76
|
+
save: () => Promise<boolean>;
|
|
77
77
|
toggleEnabled: () => Promise<void>;
|
|
78
78
|
removeSelected: () => Promise<void>;
|
|
79
79
|
};
|
|
@@ -69,7 +69,7 @@ export declare function createFieldUiControlManagementState(fieldUiControlContex
|
|
|
69
69
|
startCreate: () => void;
|
|
70
70
|
startEdit: () => void;
|
|
71
71
|
cancelEdit: () => void;
|
|
72
|
-
save: () => Promise<
|
|
72
|
+
save: () => Promise<boolean>;
|
|
73
73
|
toggleEnabled: () => Promise<void>;
|
|
74
74
|
removeSelected: () => Promise<void>;
|
|
75
75
|
};
|
|
@@ -13,6 +13,11 @@ export declare function createTenantManagementState(tenantContext: ModuleContext
|
|
|
13
13
|
selected: import("vue").Ref<Tenant | undefined, Tenant | undefined>;
|
|
14
14
|
draft: import("vue").Ref<{
|
|
15
15
|
alias?: string | undefined;
|
|
16
|
+
lightLogoAssetId?: string | undefined;
|
|
17
|
+
darkLogoAssetId?: string | undefined;
|
|
18
|
+
workbenchBrandMode?: "logoOnly" | "logoWithTitle" | undefined;
|
|
19
|
+
workbenchTitle?: string | undefined;
|
|
20
|
+
workbenchSubtitle?: string | undefined;
|
|
16
21
|
enabled?: boolean | undefined;
|
|
17
22
|
sortOrder?: number | undefined;
|
|
18
23
|
title?: string | undefined;
|
|
@@ -27,6 +32,11 @@ export declare function createTenantManagementState(tenantContext: ModuleContext
|
|
|
27
32
|
updatedAt?: string | undefined;
|
|
28
33
|
}, Tenant | {
|
|
29
34
|
alias?: string | undefined;
|
|
35
|
+
lightLogoAssetId?: string | undefined;
|
|
36
|
+
darkLogoAssetId?: string | undefined;
|
|
37
|
+
workbenchBrandMode?: "logoOnly" | "logoWithTitle" | undefined;
|
|
38
|
+
workbenchTitle?: string | undefined;
|
|
39
|
+
workbenchSubtitle?: string | undefined;
|
|
30
40
|
enabled?: boolean | undefined;
|
|
31
41
|
sortOrder?: number | undefined;
|
|
32
42
|
title?: string | undefined;
|
|
@@ -57,7 +67,7 @@ export declare function createTenantManagementState(tenantContext: ModuleContext
|
|
|
57
67
|
startCreate: () => void;
|
|
58
68
|
startEdit: () => void;
|
|
59
69
|
cancelEdit: () => void;
|
|
60
|
-
save: () => Promise<
|
|
70
|
+
save: () => Promise<boolean>;
|
|
61
71
|
toggleEnabled: () => Promise<void>;
|
|
62
72
|
removeSelected: () => Promise<void>;
|
|
63
73
|
};
|
|
@@ -47,8 +47,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
47
47
|
}>, {
|
|
48
48
|
loading: boolean;
|
|
49
49
|
size: "small" | "middle" | "large";
|
|
50
|
-
rowKey: string | ((record: UiDataTableRecord) => string);
|
|
51
50
|
pagination: false | UiDataTablePagination;
|
|
51
|
+
rowKey: string | ((record: UiDataTableRecord) => string);
|
|
52
52
|
selection: UiDataTableSelection;
|
|
53
53
|
selectedRowKey: string;
|
|
54
54
|
expandedRowKeys: string[];
|
|
@@ -1,4 +1,4 @@
|
|
|
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';
|
|
1
|
+
export type UiIconName = 'app' | 'check' | 'close' | 'delete' | 'down' | 'edit' | 'export' | 'filter' | 'help' | 'left' | 'lock' | 'menu-collapse' | 'menu-expand' | 'notification' | 'plus' | 'pin' | 'power' | 'reload' | 'right' | 'save' | 'search' | 'skin' | 'settings';
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
name: UiIconName;
|
|
4
4
|
};
|
|
@@ -6,9 +6,15 @@ type __VLS_Props = {
|
|
|
6
6
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
7
7
|
close: (key: string) => any;
|
|
8
8
|
"update:activeKey": (key: string) => any;
|
|
9
|
+
closeTabs: (keys: string[]) => any;
|
|
10
|
+
togglePin: (key: string) => any;
|
|
11
|
+
reorder: (keys: string[]) => any;
|
|
9
12
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
10
13
|
onClose?: ((key: string) => any) | undefined;
|
|
11
14
|
"onUpdate:activeKey"?: ((key: string) => any) | undefined;
|
|
15
|
+
onCloseTabs?: ((keys: string[]) => any) | undefined;
|
|
16
|
+
onTogglePin?: ((key: string) => any) | undefined;
|
|
17
|
+
onReorder?: ((keys: string[]) => any) | undefined;
|
|
12
18
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
19
|
declare const _default: typeof __VLS_export;
|
|
14
20
|
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type UiTheme } from '../theme';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
theme?: UiTheme;
|
|
4
|
+
scope?: 'local' | 'global';
|
|
5
|
+
};
|
|
6
|
+
declare var __VLS_7: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_7) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
11
|
+
scope: "local" | "global";
|
|
12
|
+
theme: UiTheme;
|
|
13
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -12,6 +12,7 @@ export { default as UiTextArea } from './components/UiTextArea.vue';
|
|
|
12
12
|
export { default as UiSelect } from './components/UiSelect.vue';
|
|
13
13
|
export { default as UiTreeSelect } from './components/UiTreeSelect.vue';
|
|
14
14
|
export { default as UiTooltip } from './components/UiTooltip.vue';
|
|
15
|
+
export { default as UiThemeProvider } from './components/UiThemeProvider.vue';
|
|
15
16
|
export { default as UiSwitch } from './components/UiSwitch.vue';
|
|
16
17
|
export { default as UiMenu } from './components/UiMenu.vue';
|
|
17
18
|
export { default as UiTabs } from './components/UiTabs.vue';
|
|
@@ -36,4 +37,6 @@ export { resolveFieldComponent } from './registry';
|
|
|
36
37
|
export type { UiIconName } from './components/UiIcon.vue';
|
|
37
38
|
export type { UiTagListItem } from './components/UiTagList.vue';
|
|
38
39
|
export type { UiSidePanelScope } from './components/sidePanelHost';
|
|
40
|
+
export { antDesignThemeOf, cssVariablesOf, defaultUiTheme, defaultUiThemeSkinId, uiThemeSkinById, uiThemeSkins, } from './theme';
|
|
41
|
+
export type { UiSupportTheme, UiTheme, UiThemeSkin, UiThemeSkinId, UiThemeTone } from './theme';
|
|
39
42
|
export type { UiConfirmOptions, UiDataTableColumn, UiDataTableKey, UiDataTablePagination, UiDataTableRecord, UiDataTableSelection, UiDropdownItem, UiMenuItem, UiRecordInlineAction, UiTabItem, UiTreeNode, UiTreeNodeAction, } from './types';
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { ThemeConfig } from 'ant-design-vue/es/config-provider/context';
|
|
2
|
+
export interface UiThemeTone {
|
|
3
|
+
base: string;
|
|
4
|
+
onBase: string;
|
|
5
|
+
hover: string;
|
|
6
|
+
active: string;
|
|
7
|
+
soft: string;
|
|
8
|
+
softText: string;
|
|
9
|
+
border: string;
|
|
10
|
+
focus: string;
|
|
11
|
+
disabled: string;
|
|
12
|
+
disabledText: string;
|
|
13
|
+
}
|
|
14
|
+
export interface UiSupportTheme {
|
|
15
|
+
page: string;
|
|
16
|
+
canvas: string;
|
|
17
|
+
surface: string;
|
|
18
|
+
elevated: string;
|
|
19
|
+
hover: string;
|
|
20
|
+
border: string;
|
|
21
|
+
borderSubtle: string;
|
|
22
|
+
text: string;
|
|
23
|
+
textBody: string;
|
|
24
|
+
textMuted: string;
|
|
25
|
+
icon: string;
|
|
26
|
+
disabled: string;
|
|
27
|
+
disabledText: string;
|
|
28
|
+
}
|
|
29
|
+
/** Visual treatment for the global theme-skin entry point. */
|
|
30
|
+
export interface UiSkinPickerTheme {
|
|
31
|
+
borderGradient: string;
|
|
32
|
+
glow: string;
|
|
33
|
+
focusRing: string;
|
|
34
|
+
}
|
|
35
|
+
export interface UiTheme {
|
|
36
|
+
appearance: 'light' | 'dark';
|
|
37
|
+
theme: UiThemeTone;
|
|
38
|
+
brandAccent: UiThemeTone;
|
|
39
|
+
support: UiSupportTheme;
|
|
40
|
+
skinPicker: UiSkinPickerTheme;
|
|
41
|
+
positive: UiThemeTone;
|
|
42
|
+
warning: UiThemeTone;
|
|
43
|
+
danger: UiThemeTone;
|
|
44
|
+
info: UiThemeTone;
|
|
45
|
+
}
|
|
46
|
+
export interface UiThemeSkin {
|
|
47
|
+
id: UiThemeSkinId;
|
|
48
|
+
title: string;
|
|
49
|
+
description: string;
|
|
50
|
+
theme: UiTheme;
|
|
51
|
+
}
|
|
52
|
+
export type UiThemeSkinId = 'light-blue' | 'light-amber' | 'dark-navy' | 'dark-graphite';
|
|
53
|
+
export declare const defaultUiTheme: UiTheme;
|
|
54
|
+
export declare const uiThemeSkins: readonly UiThemeSkin[];
|
|
55
|
+
export declare const defaultUiThemeSkinId: UiThemeSkinId;
|
|
56
|
+
export declare function uiThemeSkinById(value: unknown): UiThemeSkin;
|
|
57
|
+
export declare function cssVariablesOf(theme: UiTheme): Record<`--muyun-${string}`, string>;
|
|
58
|
+
export declare function antDesignThemeOf(theme: UiTheme): ThemeConfig;
|
|
@@ -104,8 +104,50 @@ export interface CurrentUser {
|
|
|
104
104
|
passwordChangeRequired?: boolean;
|
|
105
105
|
timeZone?: string;
|
|
106
106
|
}
|
|
107
|
+
export interface CurrentUserProfilePosition {
|
|
108
|
+
id?: string;
|
|
109
|
+
title?: string;
|
|
110
|
+
primary?: boolean;
|
|
111
|
+
}
|
|
112
|
+
export interface CurrentUserEmployeeProfile {
|
|
113
|
+
id?: string;
|
|
114
|
+
employeeNo?: string;
|
|
115
|
+
title?: string;
|
|
116
|
+
avatarAssetId?: string;
|
|
117
|
+
mobile?: string;
|
|
118
|
+
email?: string;
|
|
119
|
+
organizationId?: string;
|
|
120
|
+
organizationTitle?: string;
|
|
121
|
+
departmentId?: string;
|
|
122
|
+
departmentTitle?: string;
|
|
123
|
+
contactEditable?: boolean;
|
|
124
|
+
positions?: CurrentUserProfilePosition[];
|
|
125
|
+
}
|
|
126
|
+
export interface CurrentUserProfile {
|
|
127
|
+
username?: string;
|
|
128
|
+
timeZone?: string;
|
|
129
|
+
employee?: CurrentUserEmployeeProfile;
|
|
130
|
+
}
|
|
131
|
+
export interface UpdateCurrentUserProfileRequest {
|
|
132
|
+
mobile?: string;
|
|
133
|
+
email?: string;
|
|
134
|
+
avatarAssetId?: string;
|
|
135
|
+
}
|
|
107
136
|
export interface SessionContext {
|
|
108
137
|
currentUser: CurrentUser;
|
|
138
|
+
tenantBranding?: TenantBranding;
|
|
139
|
+
}
|
|
140
|
+
export interface TenantBranding {
|
|
141
|
+
lightLogo?: string;
|
|
142
|
+
darkLogo?: string;
|
|
143
|
+
mode?: 'logoOnly' | 'logoWithTitle';
|
|
144
|
+
title?: string;
|
|
145
|
+
subtitle?: string;
|
|
146
|
+
}
|
|
147
|
+
/** Public branding facts for a tenant locked by the unauthenticated login URL. */
|
|
148
|
+
export interface TenantLoginContext {
|
|
149
|
+
tenantId: string;
|
|
150
|
+
branding?: TenantBranding;
|
|
109
151
|
}
|
|
110
152
|
export interface LoginRequest {
|
|
111
153
|
tenantId?: string;
|
|
@@ -374,6 +416,13 @@ export interface ViewFieldDefinition {
|
|
|
374
416
|
/** Maximum visible lines for text cells in standard list views. Omitted uses the platform default of one line. */
|
|
375
417
|
maxDisplayLines?: number;
|
|
376
418
|
}
|
|
419
|
+
/** Semantic group that owns a contiguous set of standard-form fields. */
|
|
420
|
+
export interface FormGroupDescriptor {
|
|
421
|
+
groupCode: string;
|
|
422
|
+
title: string;
|
|
423
|
+
subtitle?: string;
|
|
424
|
+
fields: ViewFieldRef[];
|
|
425
|
+
}
|
|
377
426
|
export interface BooleanStatusPresentation {
|
|
378
427
|
trueLabel: string;
|
|
379
428
|
falseLabel: string;
|
|
@@ -438,6 +487,7 @@ export interface ViewDefinition {
|
|
|
438
487
|
clientType?: ModuleUiClientType;
|
|
439
488
|
title?: string;
|
|
440
489
|
fields: ViewFieldDefinition[];
|
|
490
|
+
formGroups?: FormGroupDescriptor[];
|
|
441
491
|
}
|
|
442
492
|
export interface ResolvedViewDescriptor {
|
|
443
493
|
viewCode: string;
|
|
@@ -448,6 +498,7 @@ export interface ResolvedViewDescriptor {
|
|
|
448
498
|
/** Dynamic-page provenance used to select the view configured by a menu entry. */
|
|
449
499
|
sourceUiConfigId?: string;
|
|
450
500
|
scopedListWorkspace?: ResolvedScopedListWorkspaceDescriptor;
|
|
501
|
+
formGroups?: FormGroupDescriptor[];
|
|
451
502
|
}
|
|
452
503
|
export interface ResolvedUiActionConfirmationDescriptor {
|
|
453
504
|
mode: 'typedText';
|
|
@@ -474,7 +525,9 @@ export interface ResolvedFileReferenceFieldDescriptor {
|
|
|
474
525
|
allowedMediaTypes: string[];
|
|
475
526
|
maxFileSizeBytes?: number;
|
|
476
527
|
maxFiles: number;
|
|
528
|
+
storagePolicy: 'MUYUN_FILE_SERVER' | 'DATABASE_INLINE';
|
|
477
529
|
uploadAvailable: boolean;
|
|
530
|
+
readAvailable: boolean;
|
|
478
531
|
}
|
|
479
532
|
export interface ModuleUiDefinition {
|
|
480
533
|
moduleAlias: string;
|
|
@@ -816,6 +869,11 @@ export interface ModuleMetadataRelation extends StandardSortableEntity {
|
|
|
816
869
|
}
|
|
817
870
|
export interface Tenant extends StandardEnabledSortableEntity {
|
|
818
871
|
alias?: string;
|
|
872
|
+
lightLogoAssetId?: string;
|
|
873
|
+
darkLogoAssetId?: string;
|
|
874
|
+
workbenchBrandMode?: 'logoOnly' | 'logoWithTitle';
|
|
875
|
+
workbenchTitle?: string;
|
|
876
|
+
workbenchSubtitle?: string;
|
|
819
877
|
}
|
|
820
878
|
export interface FieldSpec extends StandardEnabledSortableEntity {
|
|
821
879
|
alias?: string;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { ChangeOwnPasswordRequest, CurrentUser, LoginRequest, LoginResult, MenuMineResponse, PageBootstrap } from '../web-contracts/index';
|
|
1
|
+
import type { ChangeOwnPasswordRequest, CurrentUserProfile, CurrentUser, LoginRequest, LoginResult, UpdateCurrentUserProfileRequest, MenuMineResponse, PageBootstrap, TenantBranding, TenantLoginContext } from '../web-contracts/index';
|
|
2
2
|
import type { HttpClient } from './http';
|
|
3
3
|
export interface SessionClient {
|
|
4
4
|
current(): Promise<CurrentUser>;
|
|
5
|
+
tenantBranding?(): Promise<TenantBranding>;
|
|
5
6
|
}
|
|
6
7
|
export interface MenuClient {
|
|
7
8
|
mine(): Promise<MenuMineResponse>;
|
|
@@ -13,9 +14,16 @@ export interface PageBootstrapClient {
|
|
|
13
14
|
export interface AuthClient {
|
|
14
15
|
login(request: LoginRequest): Promise<LoginResult>;
|
|
15
16
|
changeOwnPassword(request: ChangeOwnPasswordRequest, token: string): Promise<void>;
|
|
17
|
+
currentProfile(token: string): Promise<CurrentUserProfile>;
|
|
18
|
+
updateCurrentProfile(request: UpdateCurrentUserProfileRequest, token: string): Promise<CurrentUserProfile>;
|
|
16
19
|
logout(token?: string): Promise<void>;
|
|
17
20
|
}
|
|
21
|
+
/** Resolves the public context used by a tenant-locked login entry. */
|
|
22
|
+
export interface LoginContextClient {
|
|
23
|
+
loginContext(tenantId: string): Promise<TenantLoginContext>;
|
|
24
|
+
}
|
|
18
25
|
export declare function createSessionClient(http: HttpClient): SessionClient;
|
|
26
|
+
export declare function createLoginContextClient(http: HttpClient): LoginContextClient;
|
|
19
27
|
export declare function createMenuClient(http: HttpClient): MenuClient;
|
|
20
28
|
export declare function createPageBootstrapClient(http: HttpClient): PageBootstrapClient;
|
|
21
29
|
/**
|
|
@@ -5,4 +5,6 @@ export * from './actionResult';
|
|
|
5
5
|
export * from './dataChanges';
|
|
6
6
|
export * from './realtime';
|
|
7
7
|
export * from './clients';
|
|
8
|
+
export { userPreferences } from './userPreferences';
|
|
9
|
+
export type { UserPreferenceOptions, UserPreferenceStore } from './userPreferences';
|
|
8
10
|
export * from './module/index';
|
|
@@ -3,4 +3,6 @@ import type { MenuClient, SessionClient } from './index';
|
|
|
3
3
|
export declare function createMockSessionClient(currentUser?: CurrentUser): SessionClient;
|
|
4
4
|
export declare function createMockMenuClient(records?: WebTreeNode<MenuRecord>[]): MenuClient;
|
|
5
5
|
export declare const mockCurrentUser: CurrentUser;
|
|
6
|
-
|
|
6
|
+
type MockMenuNode = WebTreeNode<MenuRecord>;
|
|
7
|
+
export declare const mockMenuTree: MockMenuNode[];
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export interface UserPreferenceOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Local persistence is the default. `backend` reserves the preference for the current account
|
|
4
|
+
* and never silently falls back to device-local storage.
|
|
5
|
+
*/
|
|
6
|
+
persistence?: 'local' | 'backend';
|
|
7
|
+
}
|
|
8
|
+
export interface UserPreferenceStore {
|
|
9
|
+
get<T>(key: string, fallback: T): T;
|
|
10
|
+
restore<T>(key: string, fallback: T, options?: UserPreferenceOptions): Promise<T>;
|
|
11
|
+
set<T>(key: string, value: T, options?: UserPreferenceOptions): Promise<void>;
|
|
12
|
+
remove(key: string, options?: UserPreferenceOptions): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
/** Internal application-composition bridge; business code only uses userPreferences. */
|
|
15
|
+
export interface UserPreferenceBackend {
|
|
16
|
+
load(key: string): Promise<string | undefined>;
|
|
17
|
+
save(key: string, valueJson: string): Promise<void>;
|
|
18
|
+
remove(key: string): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
export declare function configureUserPreferenceBackend(value: UserPreferenceBackend | undefined): void;
|
|
21
|
+
/**
|
|
22
|
+
* Source-neutral user preference facade. Platform code owns the active persistence route.
|
|
23
|
+
*/
|
|
24
|
+
export declare const userPreferences: UserPreferenceStore;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t } from "./pageRealtime-
|
|
1
|
+
import { tt as e } from "./platform-components-DKKWbNrz.js";
|
|
2
|
+
import { t } from "./pageRealtime-CzJlr9hs.js";
|
|
3
3
|
import { ref as n } from "vue";
|
|
4
4
|
//#region src/views/useUserSessionRows.ts
|
|
5
5
|
function r(r) {
|