@ximatai/muyun-web-app 0.26.7 → 0.26.8
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-DYJLlkSz.js → EmployeeDetailWorkspaceView-DswEDSxH.js} +1 -1
- package/dist/{EmployeeManagementView-taxWUa7g.js → EmployeeManagementView-C9STtw08.js} +385 -386
- package/dist/{MetadataOrchestrationView-B-CPudJl.js → MetadataOrchestrationView-DKYVGMzy.js} +95 -95
- package/dist/{ModuleActionManagementView-CmVj0e0C.js → ModuleActionManagementView-DiVzuPdu.js} +72 -72
- package/dist/{RoleAuthorizationView-q_6CsBYq.js → RoleAuthorizationView-C0s4Bog7.js} +47 -47
- package/dist/{RoleDetailWorkspaceView-DmJlJgAj.js → RoleDetailWorkspaceView-dqHxKVfd.js} +1 -1
- package/dist/{RoleManagementView-HCa9rH0f.js → RoleManagementView-D43pUCxi.js} +468 -469
- package/dist/{SystemUserDetailWorkspaceView-U6Ij0US1.js → SystemUserDetailWorkspaceView-CQ9WeLrR.js} +1 -1
- package/dist/SystemUserManagementView-D75_ylYk.js +758 -0
- package/dist/{UserDetailWorkspaceView-OPYvD6mH.js → UserDetailWorkspaceView-BCST01d2.js} +1 -1
- package/dist/UserManagementView-CcdvDo_y.js +964 -0
- package/dist/index.css +1 -1
- package/dist/index.js +2278 -4726
- package/dist/{pageRealtime-CzJlr9hs.js → pageRealtime-EAiGWKEo.js} +87 -85
- package/dist/{platform-components-DKKWbNrz.js → platform-components-CFU_zR7-.js} +2145 -1866
- package/dist/types/app/workbenchStartup.d.ts +6 -2
- package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +2 -2
- package/dist/types/consumer/index.d.ts +4 -3
- package/dist/types/dynamic-page-runtime/DynamicModuleWorkspaceDetailView.vue.d.ts +10 -0
- package/dist/types/dynamic-page-runtime/DynamicRecordDetailActions.vue.d.ts +38 -0
- package/dist/types/dynamic-page-runtime/NavigatorManagementEditor.vue.d.ts +25 -0
- package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +43 -0
- package/dist/types/dynamic-page-runtime/detailSurfacePreference.d.ts +10 -0
- package/dist/types/dynamic-page-runtime/index.d.ts +2 -1
- package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +38 -0
- package/dist/types/dynamic-page-runtime/modulePageNavigation.d.ts +1 -1
- package/dist/types/dynamic-page-runtime/pageContextRuntime.d.ts +6 -0
- package/dist/types/dynamic-page-runtime/recordDetailController.d.ts +27 -0
- package/dist/types/platform-admin-runtime/index.d.ts +1 -1
- package/dist/types/platform-admin-runtime/platformAdminRoutes.d.ts +5 -0
- package/dist/types/platform-admin-runtime/realtime.d.ts +2 -1
- package/dist/types/platform-components/BusinessNotificationPanel.vue.d.ts +12 -0
- package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +6 -0
- package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +5 -3
- package/dist/types/platform-components/ManagementWorkspace.vue.d.ts +8 -2
- package/dist/types/platform-components/RecordActionBar.vue.d.ts +1 -1
- package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +4 -1
- package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +8 -6
- package/dist/types/platform-components/RecordDetailPanel.vue.d.ts +7 -5
- package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +4 -1
- package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +1 -1
- package/dist/types/platform-components/RecordPanelButton.vue.d.ts +2 -0
- package/dist/types/platform-components/RecordPicker.vue.d.ts +1 -1
- package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +9 -2
- package/dist/types/platform-components/RecordStatusSwitch.vue.d.ts +3 -0
- package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +13 -7
- package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +3 -0
- package/dist/types/platform-components/index.d.ts +4 -2
- package/dist/types/platform-components/managementWorkspaceLayout.d.ts +14 -0
- package/dist/types/platform-components/recordFormFieldModel.d.ts +2 -2
- package/dist/types/platform-components/recycleBinState.d.ts +2 -0
- package/dist/types/platform-components/scopedTreeModuleContext.d.ts +11 -0
- package/dist/types/platform-workbench/index.d.ts +1 -0
- package/dist/types/platform-workbench/menuNavigation.d.ts +3 -0
- package/dist/types/platform-workbench/modulePageWorkspaceViews.d.ts +7 -0
- package/dist/types/platform-workbench/workbenchLayout.d.ts +36 -0
- package/dist/types/platform-workbench/workbenchNavigation.d.ts +2 -0
- package/dist/types/platform-workbench/workspaceViewHost.d.ts +2 -0
- package/dist/types/vue-ui-antdv/components/UiButton.vue.d.ts +1 -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/UiModal.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +7 -1
- package/dist/types/vue-ui-antdv/index.d.ts +1 -0
- package/dist/types/web-contracts/index.d.ts +110 -17
- package/dist/types/web-core/businessNotifications.d.ts +3 -0
- package/dist/types/web-core/index.d.ts +1 -0
- package/dist/types/web-core/module/moduleContext.d.ts +1 -0
- package/dist/types/web-core/module/runtimeContext.d.ts +3 -1
- package/dist/types/web-core/module/staticModuleClient.d.ts +8 -1
- package/dist/types/web-core/realtime.d.ts +5 -1
- package/dist/{useUserSessionRows-CBHEzRFQ.js → useUserSessionRows-DCpUZCzN.js} +2 -2
- package/dist/workspaceViewSessions-Dj1LjdG1.js +4984 -0
- package/package.json +1 -1
- package/dist/SystemUserManagementView-C1CkKivH.js +0 -758
- package/dist/UserManagementView-gbCL9SnC.js +0 -965
- package/dist/currentUserContext-B1lj1WgF.js +0 -11
- package/dist/types/views/ApplicationManagementView.vue.d.ts +0 -3
- package/dist/types/views/DepartmentManagementView.vue.d.ts +0 -3
- package/dist/types/views/FieldSpecManagementView.vue.d.ts +0 -3
- package/dist/types/views/OrganizationManagementView.vue.d.ts +0 -3
- package/dist/types/views/applicationManagementState.d.ts +0 -64
- package/dist/types/views/departmentManagementState.d.ts +0 -137
- package/dist/types/views/fieldSpecManagementState.d.ts +0 -80
- package/dist/types/views/organizationManagementState.d.ts +0 -64
- package/dist/workspaceViewSessions-DkB9myrq.js +0 -3252
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
2
|
enabled?: boolean;
|
|
3
3
|
disabled?: boolean;
|
|
4
|
+
/** Explains why this otherwise visible status control is unavailable. */
|
|
5
|
+
disabledReason?: string;
|
|
4
6
|
loading?: boolean;
|
|
5
7
|
showLabel?: boolean;
|
|
6
8
|
};
|
|
@@ -12,6 +14,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
12
14
|
enabled: boolean;
|
|
13
15
|
disabled: boolean;
|
|
14
16
|
loading: boolean;
|
|
17
|
+
disabledReason: string;
|
|
15
18
|
showLabel: boolean;
|
|
16
19
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
20
|
declare const _default: typeof __VLS_export;
|
|
@@ -7,20 +7,25 @@ type __VLS_Props = {
|
|
|
7
7
|
explorerSearchKeyword?: string;
|
|
8
8
|
explorerSearchPlaceholder?: string;
|
|
9
9
|
explorerSearchable?: boolean;
|
|
10
|
+
navigatorCount?: number;
|
|
10
11
|
};
|
|
11
|
-
declare var
|
|
12
|
+
declare var __VLS_14: {
|
|
13
|
+
index: number;
|
|
14
|
+
}, __VLS_32: {}, __VLS_34: {}, __VLS_37: {}, __VLS_46: {}, __VLS_49: {}, __VLS_51: {};
|
|
12
15
|
type __VLS_Slots = {} & {
|
|
13
|
-
|
|
16
|
+
navigator?: (props: typeof __VLS_14) => any;
|
|
14
17
|
} & {
|
|
15
|
-
explorer?: (props: typeof
|
|
18
|
+
'explorer-actions'?: (props: typeof __VLS_32) => any;
|
|
16
19
|
} & {
|
|
17
|
-
|
|
20
|
+
explorer?: (props: typeof __VLS_34) => any;
|
|
18
21
|
} & {
|
|
19
|
-
'
|
|
22
|
+
'explorer-footer'?: (props: typeof __VLS_37) => any;
|
|
20
23
|
} & {
|
|
21
|
-
'detail-
|
|
24
|
+
'detail-status'?: (props: typeof __VLS_46) => any;
|
|
22
25
|
} & {
|
|
23
|
-
|
|
26
|
+
'detail-actions'?: (props: typeof __VLS_49) => any;
|
|
27
|
+
} & {
|
|
28
|
+
default?: (props: typeof __VLS_51) => any;
|
|
24
29
|
};
|
|
25
30
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
26
31
|
refresh: () => any;
|
|
@@ -33,6 +38,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
33
38
|
explorerSearchKeyword: string;
|
|
34
39
|
explorerSearchPlaceholder: string;
|
|
35
40
|
explorerSearchable: boolean;
|
|
41
|
+
navigatorCount: number;
|
|
36
42
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
37
43
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
38
44
|
declare const _default: typeof __VLS_export;
|
|
@@ -7,6 +7,8 @@ type __VLS_Props = {
|
|
|
7
7
|
context: ModuleContext<TreeRecordBase>;
|
|
8
8
|
selectedId?: string;
|
|
9
9
|
reloadKey?: number;
|
|
10
|
+
/** Descriptor-owned criteria from upstream navigator levels. */
|
|
11
|
+
externalQueryValues?: Record<string, unknown>;
|
|
10
12
|
keyword?: string;
|
|
11
13
|
searchMode?: TreeRecordSearchMode;
|
|
12
14
|
searchTrigger?: 'inline' | 'external';
|
|
@@ -47,6 +49,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
|
47
49
|
tagOf: (record: TreeRecordBase) => string | undefined;
|
|
48
50
|
mutedOf: (record: TreeRecordBase) => boolean;
|
|
49
51
|
reloadKey: number;
|
|
52
|
+
externalQueryValues: Record<string, unknown>;
|
|
50
53
|
loadingTip: string;
|
|
51
54
|
fallbackTitle: string;
|
|
52
55
|
searchMode: TreeRecordSearchMode;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export {};
|
|
2
2
|
export { default as ApplicationScopeSwitcher } from './ApplicationScopeSwitcher.vue';
|
|
3
|
+
export { default as BusinessNotificationPanel } from './BusinessNotificationPanel.vue';
|
|
3
4
|
export { confirmAction } from '../vue-ui-antdv/index';
|
|
4
5
|
export { default as CrudRecordListExplorer } from './CrudRecordListExplorer.vue';
|
|
5
6
|
export { default as DrawerOperationBar } from './DrawerOperationBar.vue';
|
|
@@ -13,6 +14,7 @@ export { default as EnabledSelect } from './EnabledSelect.vue';
|
|
|
13
14
|
export { default as ModuleActionButton } from './ModuleActionButton.vue';
|
|
14
15
|
export { default as ManagementWorkspace } from './ManagementWorkspace.vue';
|
|
15
16
|
export { default as ManagementExplorerColumn } from './ManagementExplorerColumn.vue';
|
|
17
|
+
export { MANAGEMENT_WORKSPACE_LAYOUT, listDetailWorkspaceMinWidth } from './managementWorkspaceLayout';
|
|
16
18
|
export { providePageLayout, usePageLayout } from './pageLayoutContext';
|
|
17
19
|
export { default as RecordActionBar } from './RecordActionBar.vue';
|
|
18
20
|
export { default as RecordDetailDrawer } from './RecordDetailDrawer.vue';
|
|
@@ -56,7 +58,7 @@ export type { RecordPickerMode } from './recordPickerModel';
|
|
|
56
58
|
export type { RecordActionItem, ResolvedRecordActionItem } from './recordActionBarModel';
|
|
57
59
|
export type { RecordDetailDisplayResolver, RecordDetailDisplayValue } from './recordDetailFieldModel';
|
|
58
60
|
export type { RecordListExplorerRecord } from './RecordListExplorer.vue';
|
|
59
|
-
export type { QueryListRecord, RecordQueryListCellComponent, RecordQueryListColumn, RecordQueryListMode, } from './RecordQueryListPanel.vue';
|
|
61
|
+
export type { QueryListRecord, RecordQueryListCellComponent, RecordQueryListColumn, RecordQueryListMode, StandardCrudRowActionKey, } from './RecordQueryListPanel.vue';
|
|
60
62
|
export type { RecordFormFieldDescriptor, RecordFormFieldFallback, RecordFormFieldPickerConfig, RecordFormFieldState, RecordFormFieldValue, RecordFormRecord, } from './recordFormFieldModel';
|
|
61
63
|
export type { CrudRecordListBase } from './crudRecordListModel';
|
|
62
64
|
export { defaultCrudRecordListMatches, defaultCrudRecordListSubtitle, defaultCrudRecordListTitle, } from './crudRecordListModel';
|
|
@@ -70,7 +72,7 @@ export type { PlatformFileSizeDisplay, PlatformFileSizeOptions } from './platfor
|
|
|
70
72
|
export { providePlatformTimeZoneContext, usePlatformTimeZoneContext } from './platformTimeZoneContext';
|
|
71
73
|
export type { PlatformDateTimeDisplay, PlatformDateTimeOptions, PlatformDateTimePrecision, } from './platformDateTime';
|
|
72
74
|
export { childResourceDefaultFormViewCode, resolveRecordFormFieldNames, resolveRecordFormFieldState, resolveRecordFormFields, } from './recordFormFieldModel';
|
|
73
|
-
export { createScopedTreeClient, createScopedTreeModuleContext } from './scopedTreeModuleContext';
|
|
75
|
+
export { createQueryScopedTreeModuleContext, createScopedTreeClient, createScopedTreeModuleContext, } from './scopedTreeModuleContext';
|
|
74
76
|
export { createEmptyStaticTreeClient, createStaticTreeResourceModuleContext, } from './staticTreeResourceModuleContext';
|
|
75
77
|
export { createScopedResourceTreeModuleContext } from './scopedResourceTreeModuleContext';
|
|
76
78
|
export { presentPlatformError, presentPlatformMessage, presentPlatformSuccess, } from './platformErrorFeedback';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared geometry for the platform management workspace.
|
|
3
|
+
*
|
|
4
|
+
* Keep responsive promotion independent from each page's DSL: descriptors say
|
|
5
|
+
* whether a page has a detail surface; the runtime decides whether that surface
|
|
6
|
+
* can share the available workspace with its list and navigators.
|
|
7
|
+
*/
|
|
8
|
+
export declare const MANAGEMENT_WORKSPACE_LAYOUT: {
|
|
9
|
+
readonly explorerWidth: 280;
|
|
10
|
+
readonly listMinWidth: 720;
|
|
11
|
+
readonly detailMinWidth: 560;
|
|
12
|
+
readonly columnGap: 12;
|
|
13
|
+
};
|
|
14
|
+
export declare function listDetailWorkspaceMinWidth(explorerCount: number): number;
|
|
@@ -60,8 +60,8 @@ export interface ResolveRecordFormFieldNamesOptions {
|
|
|
60
60
|
exclude?: Iterable<string>;
|
|
61
61
|
}
|
|
62
62
|
export declare function resolveRecordFormFieldNames(fields?: Map<string, RecordFormFieldDescriptor>, fallback?: Record<string, RecordFormFieldFallback>, options?: ResolveRecordFormFieldNamesOptions): string[];
|
|
63
|
-
export declare function resolveRecordFormFields(uiDescriptor: ResolvedModuleUiDescriptor | undefined,
|
|
64
|
-
export declare function resolveRecordFormGroups(uiDescriptor: ResolvedModuleUiDescriptor | undefined,
|
|
63
|
+
export declare function resolveRecordFormFields(uiDescriptor: ResolvedModuleUiDescriptor | undefined, resource?: string, editorSurface?: string): Map<string, RecordFormFieldDescriptor>;
|
|
64
|
+
export declare function resolveRecordFormGroups(uiDescriptor: ResolvedModuleUiDescriptor | undefined, resource?: string, editorSurface?: string): FormGroupDescriptor[];
|
|
65
65
|
export declare function childResourceDefaultFormViewCode(resource: string): string;
|
|
66
66
|
export declare function resolveRecordFormFieldState(fieldName: string, options?: {
|
|
67
67
|
fields?: Map<string, RecordFormFieldDescriptor>;
|
|
@@ -7,6 +7,8 @@ export interface RecycleBinStateOptions<TRecord> {
|
|
|
7
7
|
/** 外部刷新信号,变化时重新加载列表 */
|
|
8
8
|
reloadKey?: Ref<number>;
|
|
9
9
|
}
|
|
10
|
+
/** Turns lifecycle facts from the platform into concise operator-facing guidance. */
|
|
11
|
+
export declare function recycleBinRestoreUnavailableReason(item: RecycleBinItem<unknown>): string | undefined;
|
|
10
12
|
export declare function useRecycleBinState<TRecord>(options: RecycleBinStateOptions<TRecord>): {
|
|
11
13
|
items: Ref<{
|
|
12
14
|
record: import("vue").UnwrapRef<TRecord>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RouteQueryValue } from '../web-contracts/index';
|
|
1
2
|
import type { ModuleContext, StaticModuleTreeClient } from '../web-core/index';
|
|
2
3
|
export interface ScopedTreeModuleContextOptions {
|
|
3
4
|
scopeFieldName: string;
|
|
@@ -6,5 +7,15 @@ export interface ScopedTreeModuleContextOptions {
|
|
|
6
7
|
sortPath?: string;
|
|
7
8
|
treeQueryParam?: string;
|
|
8
9
|
}
|
|
10
|
+
/**
|
|
11
|
+
* Gives a tree client declared page-context criteria. An empty context is deliberately fail-closed:
|
|
12
|
+
* a dependent picker must not expose records from an unselected business scope.
|
|
13
|
+
*/
|
|
14
|
+
export interface QueryScopedTreeModuleContextOptions {
|
|
15
|
+
queryValues: Record<string, RouteQueryValue> | undefined | (() => Record<string, RouteQueryValue> | undefined);
|
|
16
|
+
treePath: string;
|
|
17
|
+
sortPath?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function createQueryScopedTreeModuleContext<TRecord>(context: ModuleContext<TRecord>, options: QueryScopedTreeModuleContextOptions): ModuleContext<TRecord>;
|
|
9
20
|
export declare function createScopedTreeModuleContext<TRecord>(context: ModuleContext<TRecord>, options: ScopedTreeModuleContextOptions): ModuleContext<TRecord>;
|
|
10
21
|
export declare function createScopedTreeClient<TRecord>(context: ModuleContext<TRecord>, options: ScopedTreeModuleContextOptions): StaticModuleTreeClient<TRecord>;
|
|
@@ -2,6 +2,7 @@ export { default as Workbench } from './Workbench.vue';
|
|
|
2
2
|
export { default as WorkbenchMenu } from './WorkbenchMenu.vue';
|
|
3
3
|
export { default as WorkbenchOutlet } from './WorkbenchOutlet.vue';
|
|
4
4
|
export { default as WorkspaceViewOutlet } from './WorkspaceViewOutlet.vue';
|
|
5
|
+
export { syncModulePageWorkspaceViewContributions } from './modulePageWorkspaceViews';
|
|
5
6
|
export { provideWorkbenchNavigation, useWorkbenchNavigation } from './workbenchNavigation';
|
|
6
7
|
export type { WorkbenchNavigation, WorkbenchPageOpenResult } from './workbenchNavigation';
|
|
7
8
|
export { configureWorkspaceViewContributions, createWorkspaceViewDescriptor, createWorkspaceViewRegistry, dismissWorkspaceViewDescriptor, resolveWorkspaceView, } from './workspaceViews';
|
|
@@ -5,6 +5,8 @@ export interface PageDescriptorResolveOptions {
|
|
|
5
5
|
businessRoutePrefixes?: string[];
|
|
6
6
|
/** Optional legacy mapping for framework-owned static business pages. */
|
|
7
7
|
businessModuleRoutes?: Record<string, string>;
|
|
8
|
+
/** Stable readable routes whose content is rendered by the standard dynamic module host. */
|
|
9
|
+
dynamicModuleRoutes?: Record<string, string>;
|
|
8
10
|
/** Page layout contracts keyed by a static business route. */
|
|
9
11
|
businessRouteLayouts?: Record<string, PageLayoutMode>;
|
|
10
12
|
businessRouteNames?: string[];
|
|
@@ -15,6 +17,7 @@ export interface PageDescriptorUrlParseOptions {
|
|
|
15
17
|
platformRoutePrefixes?: string[];
|
|
16
18
|
businessRoutePrefixes?: string[];
|
|
17
19
|
businessRouteLayouts?: Record<string, PageLayoutMode>;
|
|
20
|
+
dynamicModuleRoutes?: Record<string, string>;
|
|
18
21
|
}
|
|
19
22
|
export declare function getMenuNavigationTarget(menu: MenuRecord): MenuNavigationTarget | undefined;
|
|
20
23
|
export declare function isTabMenuTarget(target: MenuNavigationTarget): boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Publishes application-contributed module workspace views before URL or
|
|
3
|
+
* preference restoration resolves a workbench tab. The module enhancement
|
|
4
|
+
* registry is the source of truth; this only adapts it to the Workbench view
|
|
5
|
+
* registry.
|
|
6
|
+
*/
|
|
7
|
+
export declare function syncModulePageWorkspaceViewContributions(): void;
|
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
export declare function compactMenuTopOf(topbarBottom: number, workbenchTop: number): number;
|
|
2
2
|
export declare function floatingPanelTopOf(anchorViewportTop: number, panelHeight: number, viewportHeight: number, shellViewportTop: number, margin?: number): number;
|
|
3
|
+
interface FloatingMenuPanelRect {
|
|
4
|
+
left: number;
|
|
5
|
+
top: number;
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}
|
|
9
|
+
interface FloatingMenuPanelAnchor {
|
|
10
|
+
left: number;
|
|
11
|
+
top: number;
|
|
12
|
+
height: number;
|
|
13
|
+
}
|
|
14
|
+
interface CompactMenuPanelBounds {
|
|
15
|
+
left: number;
|
|
16
|
+
top: number;
|
|
17
|
+
right: number;
|
|
18
|
+
bottom: number;
|
|
19
|
+
}
|
|
20
|
+
interface CompactMenuAnchorBounds {
|
|
21
|
+
left: number;
|
|
22
|
+
top: number;
|
|
23
|
+
right: number;
|
|
24
|
+
}
|
|
25
|
+
interface CompactMenuFlyoutBounds {
|
|
26
|
+
left: number;
|
|
27
|
+
top: number;
|
|
28
|
+
right: number;
|
|
29
|
+
bottom: number;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Builds one continuous outline for a side-menu trigger and its adjoining flyout.
|
|
33
|
+
* The flyout must begin at the trigger's right edge and never below its top edge.
|
|
34
|
+
*/
|
|
35
|
+
export declare function floatingMenuPanelOutlinePath(panel: FloatingMenuPanelRect, anchor: FloatingMenuPanelAnchor, anchorRadius?: number, panelRadius?: number): string;
|
|
36
|
+
/** Builds the shared outline of the compact-menu trigger and its dropdown panel. */
|
|
37
|
+
export declare function compactMenuPanelOutlinePath(panel: CompactMenuPanelBounds, anchor: CompactMenuAnchorBounds, anchorRadius?: number, panelRadius?: number, flyout?: CompactMenuFlyoutBounds): string;
|
|
3
38
|
export type WorkbenchMenuPresentation = 'compact' | 'expanded';
|
|
4
39
|
export declare function effectiveWorkbenchMenuPresentation(preferredPresentation: WorkbenchMenuPresentation, narrowViewport: boolean): WorkbenchMenuPresentation;
|
|
40
|
+
export {};
|
|
@@ -4,6 +4,8 @@ export interface WorkbenchNavigation {
|
|
|
4
4
|
openPage(descriptor: PageDescriptor): WorkbenchPageOpenResult;
|
|
5
5
|
/** Replaces one existing host by its stable tab key without changing that tab's identity. */
|
|
6
6
|
replacePage(pageKey: string, descriptor: PageDescriptor): void;
|
|
7
|
+
/** Closes one workbench page through the owning shell's tab-state policy. */
|
|
8
|
+
closePage(pageKey: string): void;
|
|
7
9
|
}
|
|
8
10
|
export interface WorkbenchPageOpenResult {
|
|
9
11
|
created: boolean;
|
|
@@ -3,6 +3,8 @@ export interface WorkspaceViewHost {
|
|
|
3
3
|
presentation: WorkspaceViewPresentation;
|
|
4
4
|
setTitle(title: string): void;
|
|
5
5
|
dismiss(): void;
|
|
6
|
+
/** Closes the current independent workbench view. */
|
|
7
|
+
close(): void;
|
|
6
8
|
}
|
|
7
9
|
export declare function provideWorkspaceViewHost(host: WorkspaceViewHost): void;
|
|
8
10
|
export declare function useWorkspaceViewHost(): WorkspaceViewHost | undefined;
|
|
@@ -23,10 +23,10 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
23
23
|
type: "default" | "primary" | "dashed" | "link" | "text";
|
|
24
24
|
title: string;
|
|
25
25
|
danger: boolean;
|
|
26
|
+
size: "small" | "middle" | "large";
|
|
26
27
|
htmlType: "button" | "submit" | "reset";
|
|
27
28
|
disabled: boolean;
|
|
28
29
|
loading: boolean;
|
|
29
|
-
size: "small" | "middle" | "large";
|
|
30
30
|
ariaLabel: string;
|
|
31
31
|
iconName: UiIconName;
|
|
32
32
|
iconPosition: "start" | "end";
|
|
@@ -45,8 +45,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
45
45
|
onRowDblclick?: ((record: UiDataTableRecord, event: MouseEvent) => any) | undefined;
|
|
46
46
|
onRowExpand?: ((record: UiDataTableRecord, expanded: boolean) => any) | undefined;
|
|
47
47
|
}>, {
|
|
48
|
-
loading: boolean;
|
|
49
48
|
size: "small" | "middle" | "large";
|
|
49
|
+
loading: boolean;
|
|
50
50
|
pagination: false | UiDataTablePagination;
|
|
51
51
|
rowKey: string | ((record: UiDataTableRecord) => string);
|
|
52
52
|
selection: UiDataTableSelection;
|
|
@@ -1,4 +1,4 @@
|
|
|
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';
|
|
1
|
+
export type UiIconName = 'app' | 'check' | 'close' | 'delete' | 'down' | 'edit' | 'export' | 'filter' | 'help' | 'left' | 'lock' | 'menu-collapse' | 'menu-expand' | 'notification' | 'open-in-new' | 'plus' | 'pin-off' | 'pin' | 'power' | 'reload' | 'right' | 'save' | 'search' | 'skin' | 'settings';
|
|
2
2
|
type __VLS_Props = {
|
|
3
3
|
name: UiIconName;
|
|
4
4
|
};
|
|
@@ -19,8 +19,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
19
19
|
onCancel?: (() => any) | undefined;
|
|
20
20
|
onConfirm?: (() => any) | undefined;
|
|
21
21
|
}>, {
|
|
22
|
-
closable: boolean;
|
|
23
22
|
width: number | string;
|
|
23
|
+
closable: boolean;
|
|
24
24
|
confirmText: string;
|
|
25
25
|
cancelText: string;
|
|
26
26
|
confirmLoading: boolean;
|
|
@@ -17,12 +17,12 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
17
17
|
onSearch?: ((keyword: string) => any) | undefined;
|
|
18
18
|
"onUpdate:value"?: ((value: OptionValue | OptionValueList | null) => any) | undefined;
|
|
19
19
|
}>, {
|
|
20
|
+
mode: "multiple";
|
|
20
21
|
disabled: boolean;
|
|
21
22
|
loading: boolean;
|
|
22
23
|
value: OptionValue | OptionValueList | null;
|
|
23
24
|
placeholder: string;
|
|
24
25
|
allowClear: boolean;
|
|
25
|
-
mode: "multiple";
|
|
26
26
|
showSearch: boolean;
|
|
27
27
|
filterOption: boolean;
|
|
28
28
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -12,19 +12,25 @@ type __VLS_Props = {
|
|
|
12
12
|
placeholder?: string;
|
|
13
13
|
disabled?: boolean;
|
|
14
14
|
allowClear?: boolean;
|
|
15
|
+
showSearch?: boolean;
|
|
16
|
+
filterTreeNode?: boolean;
|
|
15
17
|
loading?: boolean;
|
|
16
18
|
};
|
|
17
19
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
20
|
+
search: (keyword: string) => any;
|
|
18
21
|
"update:value": (value: OptionValue | OptionValueList | null) => any;
|
|
19
22
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
23
|
+
onSearch?: ((keyword: string) => any) | undefined;
|
|
20
24
|
"onUpdate:value"?: ((value: OptionValue | OptionValueList | null) => any) | undefined;
|
|
21
25
|
}>, {
|
|
26
|
+
mode: "multiple";
|
|
22
27
|
disabled: boolean;
|
|
23
28
|
loading: boolean;
|
|
24
29
|
value: OptionValue | OptionValueList | null;
|
|
25
30
|
placeholder: string;
|
|
26
31
|
allowClear: boolean;
|
|
27
|
-
|
|
32
|
+
showSearch: boolean;
|
|
33
|
+
filterTreeNode: boolean;
|
|
28
34
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
29
35
|
declare const _default: typeof __VLS_export;
|
|
30
36
|
export default _default;
|
|
@@ -11,6 +11,7 @@ export { default as UiSearchInput } from './components/UiSearchInput.vue';
|
|
|
11
11
|
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
|
+
export type { UiTreeSelectNode } from './components/UiTreeSelect.vue';
|
|
14
15
|
export { default as UiTooltip } from './components/UiTooltip.vue';
|
|
15
16
|
export { default as UiThemeProvider } from './components/UiThemeProvider.vue';
|
|
16
17
|
export { default as UiSwitch } from './components/UiSwitch.vue';
|
|
@@ -69,6 +69,37 @@ export interface WebUserNotification {
|
|
|
69
69
|
logoutRequired?: boolean;
|
|
70
70
|
targetSessionId?: string;
|
|
71
71
|
}
|
|
72
|
+
/** Ephemeral business reminder. It is not a persisted inbox or an acknowledgement record. */
|
|
73
|
+
export interface WebBusinessNotification {
|
|
74
|
+
id: string;
|
|
75
|
+
code: string;
|
|
76
|
+
title: string;
|
|
77
|
+
subtitle?: string;
|
|
78
|
+
content: string;
|
|
79
|
+
dismissible: boolean;
|
|
80
|
+
actions: WebBusinessNotificationAction[];
|
|
81
|
+
}
|
|
82
|
+
export type WebBusinessNotificationAction = WebBusinessNotificationNavigateAction | WebBusinessNotificationCommandAction;
|
|
83
|
+
export interface WebBusinessNotificationNavigateAction {
|
|
84
|
+
kind: 'navigate';
|
|
85
|
+
key: string;
|
|
86
|
+
label: string;
|
|
87
|
+
moduleAlias: string;
|
|
88
|
+
recordId?: string;
|
|
89
|
+
pageMode?: 'LIST' | 'FORM' | 'DETAIL';
|
|
90
|
+
query?: Record<string, string>;
|
|
91
|
+
dismissOnSuccess: boolean;
|
|
92
|
+
}
|
|
93
|
+
export interface WebBusinessNotificationCommandAction {
|
|
94
|
+
kind: 'command';
|
|
95
|
+
key: string;
|
|
96
|
+
label: string;
|
|
97
|
+
command: string;
|
|
98
|
+
arguments?: Record<string, unknown>;
|
|
99
|
+
danger?: boolean;
|
|
100
|
+
confirmation?: string;
|
|
101
|
+
dismissOnSuccess: boolean;
|
|
102
|
+
}
|
|
72
103
|
export interface WebBusinessRealtimeEvent {
|
|
73
104
|
type: string;
|
|
74
105
|
moduleAlias: string;
|
|
@@ -92,6 +123,8 @@ export interface RecordInlineAction {
|
|
|
92
123
|
iconName?: RecordInlineActionIconName;
|
|
93
124
|
showLabel?: boolean;
|
|
94
125
|
disabled?: boolean;
|
|
126
|
+
/** Explains why a visible inline action is unavailable. */
|
|
127
|
+
disabledReason?: string;
|
|
95
128
|
danger?: boolean;
|
|
96
129
|
}
|
|
97
130
|
export type RecordInlineActionIconName = 'app' | 'check' | 'close' | 'delete' | 'down' | 'edit' | 'export' | 'filter' | 'help' | 'lock' | 'notification' | 'plus' | 'power' | 'reload' | 'save' | 'search' | 'settings';
|
|
@@ -497,9 +530,73 @@ export interface ResolvedViewDescriptor {
|
|
|
497
530
|
fields: ResolvedViewFieldDescriptor[];
|
|
498
531
|
/** Dynamic-page provenance used to select the view configured by a menu entry. */
|
|
499
532
|
sourceUiConfigId?: string;
|
|
500
|
-
scopedListWorkspace?: ResolvedScopedListWorkspaceDescriptor;
|
|
501
533
|
formGroups?: FormGroupDescriptor[];
|
|
502
534
|
}
|
|
535
|
+
export type ModulePageTemplate = 'FLAT_MANAGEMENT' | 'LIST_DETAIL_CARD' | 'TREE_MANAGEMENT';
|
|
536
|
+
export interface ResolvedPageExplorerDescriptor {
|
|
537
|
+
title: string;
|
|
538
|
+
searchPlaceholder: string;
|
|
539
|
+
emptyDescription: string;
|
|
540
|
+
recordLabel: string;
|
|
541
|
+
fallbackTitle: string;
|
|
542
|
+
titleField: string;
|
|
543
|
+
secondaryField?: string;
|
|
544
|
+
mutedWhenDisabled: boolean;
|
|
545
|
+
}
|
|
546
|
+
export interface ResolvedPageNavigatorDescriptor {
|
|
547
|
+
levels: ResolvedPageNavigatorLevelDescriptor[];
|
|
548
|
+
contextBindings: ResolvedPageContextBindingDescriptor[];
|
|
549
|
+
}
|
|
550
|
+
export interface ResolvedPageNavigatorLevelDescriptor {
|
|
551
|
+
key: string;
|
|
552
|
+
kind: 'TREE' | 'MICRO_LIST';
|
|
553
|
+
sourceModuleAlias: string;
|
|
554
|
+
title: string;
|
|
555
|
+
searchPlaceholder: string;
|
|
556
|
+
/** Presentation policy applied after the source has authoritatively loaded. */
|
|
557
|
+
singleResultPolicy?: 'NONE' | 'AUTO_SELECT' | 'AUTO_SELECT_AND_HIDE';
|
|
558
|
+
/** Session-derived source scope, enforced by the source reference transport. */
|
|
559
|
+
sourceScope?: 'NONE' | 'CURRENT_TENANT';
|
|
560
|
+
/** When present, the navigator source exposes its own standard CRUD affordances in place. */
|
|
561
|
+
management?: ResolvedPageNavigatorManagementDescriptor;
|
|
562
|
+
}
|
|
563
|
+
export interface ResolvedPageContextBindingDescriptor {
|
|
564
|
+
source: 'SESSION' | 'NAVIGATOR';
|
|
565
|
+
sourceKey: string;
|
|
566
|
+
target: 'LIST_QUERY' | 'NAVIGATOR_QUERY' | 'FORM_DEFAULT' | 'PICKER_QUERY' | 'MUTATION_CONSTRAINT';
|
|
567
|
+
targetKey: string;
|
|
568
|
+
targetNavigatorLevelKey?: string;
|
|
569
|
+
/** Field name of the record picker which receives this query context. */
|
|
570
|
+
targetPickerFieldKey?: string;
|
|
571
|
+
}
|
|
572
|
+
export interface ResolvedPageNavigatorManagementDescriptor {
|
|
573
|
+
/** Optional named source-module form; the default editor is used when omitted. */
|
|
574
|
+
editorSurface?: string;
|
|
575
|
+
}
|
|
576
|
+
export interface ResolvedPageListDescriptor {
|
|
577
|
+
searchPlaceholder: string;
|
|
578
|
+
fields: ResolvedViewDescriptor;
|
|
579
|
+
}
|
|
580
|
+
export interface ResolvedPageDetailDescriptor {
|
|
581
|
+
emptyDescription: string;
|
|
582
|
+
createTitle: string;
|
|
583
|
+
display?: ResolvedViewDescriptor;
|
|
584
|
+
/** Omitted by an editorless page; standard mutation actions remain governed by the runtime action contract. */
|
|
585
|
+
editor?: ResolvedViewDescriptor;
|
|
586
|
+
/** Stable client registration key for an independently restorable detail workbench view. */
|
|
587
|
+
workspaceView?: ResolvedPageDetailWorkspaceViewDescriptor;
|
|
588
|
+
}
|
|
589
|
+
export interface ResolvedPageDetailWorkspaceViewDescriptor {
|
|
590
|
+
type: string;
|
|
591
|
+
}
|
|
592
|
+
export interface ResolvedModulePageDescriptor {
|
|
593
|
+
template: ModulePageTemplate;
|
|
594
|
+
explorer?: ResolvedPageExplorerDescriptor;
|
|
595
|
+
navigator?: ResolvedPageNavigatorDescriptor;
|
|
596
|
+
list?: ResolvedPageListDescriptor;
|
|
597
|
+
detail: ResolvedPageDetailDescriptor;
|
|
598
|
+
traits: ('STANDARD_CRUD' | 'ENABLED_STATUS' | 'RECYCLE_BIN' | 'RESPONSIVE_DETAIL_SURFACE')[];
|
|
599
|
+
}
|
|
503
600
|
export interface ResolvedUiActionConfirmationDescriptor {
|
|
504
601
|
mode: 'typedText';
|
|
505
602
|
requiredField: string;
|
|
@@ -508,17 +605,6 @@ export interface ResolvedUiActionDescriptor {
|
|
|
508
605
|
actionCode: string;
|
|
509
606
|
confirmation?: ResolvedUiActionConfirmationDescriptor;
|
|
510
607
|
}
|
|
511
|
-
export interface ResolvedScopedListWorkspaceDescriptor {
|
|
512
|
-
scopeModuleAlias: string;
|
|
513
|
-
scopeField: string;
|
|
514
|
-
queryCriteriaKey: string;
|
|
515
|
-
scopeTitle: string;
|
|
516
|
-
scopeSearchPlaceholder: string;
|
|
517
|
-
/** Scope list items only show a secondary label when the descriptor explicitly enables it. */
|
|
518
|
-
showScopeItemSubtitle: boolean;
|
|
519
|
-
createPolicy: 'REQUIRE_SCOPE' | 'ALLOW_UNSCOPED';
|
|
520
|
-
manageScopeTree?: boolean;
|
|
521
|
-
}
|
|
522
608
|
/** Source-neutral runtime fact for one persisted MuYunFileServer field. */
|
|
523
609
|
export interface ResolvedFileReferenceFieldDescriptor {
|
|
524
610
|
fieldRef: ViewFieldRef;
|
|
@@ -529,19 +615,26 @@ export interface ResolvedFileReferenceFieldDescriptor {
|
|
|
529
615
|
uploadAvailable: boolean;
|
|
530
616
|
readAvailable: boolean;
|
|
531
617
|
}
|
|
532
|
-
export interface ModuleUiDefinition {
|
|
533
|
-
moduleAlias: string;
|
|
534
|
-
views: ViewDefinition[];
|
|
535
|
-
}
|
|
536
618
|
export interface ResolvedModuleUiDescriptor {
|
|
537
619
|
schemaVersion: string;
|
|
538
620
|
moduleAlias: string;
|
|
539
621
|
moduleKind?: 'STATIC' | 'DYNAMIC';
|
|
540
622
|
title?: string;
|
|
541
|
-
views: ResolvedViewDescriptor[];
|
|
542
623
|
actions?: ResolvedUiActionDescriptor[];
|
|
543
624
|
recordLabelField?: string;
|
|
544
625
|
fileReferences?: ResolvedFileReferenceFieldDescriptor[];
|
|
626
|
+
page?: ResolvedModulePageDescriptor;
|
|
627
|
+
defaultEditor?: ResolvedViewDescriptor;
|
|
628
|
+
editorSurfaces?: ResolvedEditorSurfaceDescriptor[];
|
|
629
|
+
editorContributions?: ResolvedPageDetailEditorContribution[];
|
|
630
|
+
}
|
|
631
|
+
export interface ResolvedEditorSurfaceDescriptor {
|
|
632
|
+
key: string;
|
|
633
|
+
editor: ResolvedViewDescriptor;
|
|
634
|
+
}
|
|
635
|
+
export interface ResolvedPageDetailEditorContribution {
|
|
636
|
+
resource: string;
|
|
637
|
+
editor: ResolvedViewDescriptor;
|
|
545
638
|
}
|
|
546
639
|
export interface StandardEntity {
|
|
547
640
|
id?: string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { WebBusinessNotificationCommandAction } from '../web-contracts/index';
|
|
2
|
+
import type { HttpClient } from './http';
|
|
3
|
+
export declare function invokeBusinessNotificationCommand(http: HttpClient, notificationId: string, action: WebBusinessNotificationCommandAction): Promise<unknown>;
|
|
@@ -23,6 +23,7 @@ export interface ModuleContextConfig {
|
|
|
23
23
|
}
|
|
24
24
|
export interface ModuleContextOptions extends ModuleContextConfig {
|
|
25
25
|
moduleAlias: string;
|
|
26
|
+
runtimeAccess?: 'MENU' | 'REFERENCE';
|
|
26
27
|
}
|
|
27
28
|
export declare function configureModuleContext(config: ModuleContextConfig): void;
|
|
28
29
|
export declare function provideModuleContextConfig(config: ModuleContextConfig): void;
|
|
@@ -47,6 +47,8 @@ export interface ModuleRuntimeContext {
|
|
|
47
47
|
capabilities: string[];
|
|
48
48
|
abilities?: string[];
|
|
49
49
|
actions: ModuleRuntimeAction[];
|
|
50
|
+
/** Read-only projections this module deliberately exposes for page navigation. */
|
|
51
|
+
navigatorSourceCapabilities?: Array<'REFERENCE_QUERY' | 'REFERENCE_TREE'>;
|
|
50
52
|
uiDescriptor?: ResolvedModuleUiDescriptor;
|
|
51
53
|
}
|
|
52
54
|
export interface ModuleRuntimeContextState {
|
|
@@ -61,5 +63,5 @@ export interface ModuleRuntimeContextState {
|
|
|
61
63
|
recordActions(recordId: string): Promise<ModuleRecordActionAvailability>;
|
|
62
64
|
recordActionsSnapshot(recordId: string): ModuleRecordActionAvailability | undefined;
|
|
63
65
|
}
|
|
64
|
-
export declare function createModuleRuntimeContextState(http: HttpClient, moduleAlias: string): ModuleRuntimeContextState;
|
|
66
|
+
export declare function createModuleRuntimeContextState(http: HttpClient, moduleAlias: string, access?: 'MENU' | 'REFERENCE'): ModuleRuntimeContextState;
|
|
65
67
|
export declare function isRuntimeAbilityAvailable(context: ModuleRuntimeContext | undefined, ability: ModuleAbilityCode): boolean;
|
|
@@ -22,7 +22,7 @@ export interface StaticModuleCrudClient<TRecord> {
|
|
|
22
22
|
disable(id: string, request: RecordActionRequest): Promise<StaticCountMutationResult>;
|
|
23
23
|
}
|
|
24
24
|
export interface StaticModuleTreeClient<TRecord> extends StaticModuleCrudClient<TRecord> {
|
|
25
|
-
tree(): Promise<WebListResponse<WebTreeNode<TRecord>>>;
|
|
25
|
+
tree(request?: WebQueryRequest): Promise<WebListResponse<WebTreeNode<TRecord>>>;
|
|
26
26
|
treeFlat(options?: {
|
|
27
27
|
rootId?: string;
|
|
28
28
|
includeSelf?: boolean;
|
|
@@ -39,8 +39,15 @@ export interface ModuleEnableClient {
|
|
|
39
39
|
export declare function createStaticModuleCrudClient<TRecord>(http: HttpClient, options: {
|
|
40
40
|
moduleAlias: string;
|
|
41
41
|
}): StaticModuleCrudClient<TRecord>;
|
|
42
|
+
/** The navigation-only read surface deliberately does not reuse the module query endpoint. */
|
|
43
|
+
export declare function createNavigatorReferenceCrudClient<TRecord>(http: HttpClient, options: {
|
|
44
|
+
moduleAlias: string;
|
|
45
|
+
}): StaticModuleCrudClient<TRecord>;
|
|
42
46
|
export declare function createStaticResourceCrudClient<TRecord>(http: HttpClient, resourcePath: string): StaticModuleCrudClient<TRecord>;
|
|
43
47
|
export declare function createStaticModuleTreeClient<TRecord>(http: HttpClient, options: {
|
|
44
48
|
moduleAlias: string;
|
|
45
49
|
}): StaticModuleTreeClient<TRecord>;
|
|
50
|
+
export declare function createNavigatorReferenceTreeClient<TRecord>(http: HttpClient, options: {
|
|
51
|
+
moduleAlias: string;
|
|
52
|
+
}): StaticModuleTreeClient<TRecord>;
|
|
46
53
|
export declare function createStaticResourceTreeClient<TRecord>(http: HttpClient, resourcePath: string): StaticModuleTreeClient<TRecord>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type IMessage } from '@stomp/stompjs';
|
|
2
|
-
import type { WebBusinessRealtimeEvent, WebCommittedChangeSet, WebRealtimeEnvelope, WebUserNotification } from '../web-contracts/index';
|
|
2
|
+
import type { WebBusinessRealtimeEvent, WebBusinessNotification, WebCommittedChangeSet, WebRealtimeEnvelope, WebUserNotification } from '../web-contracts/index';
|
|
3
3
|
import type { DataChangeDispatcher } from './dataChanges';
|
|
4
4
|
export type RealtimeConnectionState = 'idle' | 'connecting' | 'connected' | 'reconnecting' | 'disconnected' | 'unauthorized' | 'failed';
|
|
5
5
|
export interface RealtimeChannel<TPayload> {
|
|
@@ -66,11 +66,13 @@ export interface StompErrorFrame {
|
|
|
66
66
|
export declare const realtimeMessageTypes: {
|
|
67
67
|
readonly dataChange: "platform.data-change";
|
|
68
68
|
readonly securityNotification: "platform.security-notification";
|
|
69
|
+
readonly businessNotification: "platform.business-notification";
|
|
69
70
|
readonly businessEvent: "platform.business-event";
|
|
70
71
|
};
|
|
71
72
|
export declare const realtimeDestinations: {
|
|
72
73
|
readonly userDataChanges: "/user/queue/platform/data-changes";
|
|
73
74
|
readonly userNotifications: "/user/queue/platform/notifications";
|
|
75
|
+
readonly userBusinessNotifications: "/user/queue/platform/business-notifications";
|
|
74
76
|
readonly userBusinessEvents: "/user/queue/platform/business-events";
|
|
75
77
|
readonly userImMessages: "/user/queue/platform/im/messages";
|
|
76
78
|
readonly platformPing: "/app/platform/ping";
|
|
@@ -79,6 +81,7 @@ export declare const realtimeDestinations: {
|
|
|
79
81
|
};
|
|
80
82
|
export declare const dataChangeChannel: RealtimeChannel<WebCommittedChangeSet>;
|
|
81
83
|
export declare const userNotificationChannel: RealtimeChannel<WebUserNotification>;
|
|
84
|
+
export declare const userBusinessNotificationChannel: RealtimeChannel<WebBusinessNotification>;
|
|
82
85
|
export declare const userBusinessEventChannel: RealtimeChannel<WebBusinessRealtimeEvent>;
|
|
83
86
|
export declare const userImMessageChannel: RealtimeChannel<unknown>;
|
|
84
87
|
export declare const platformPingCommand: RealtimeCommand<{
|
|
@@ -101,4 +104,5 @@ export declare function imConversationMessageChannel(conversationId: string): Re
|
|
|
101
104
|
export declare function createRealtimeClient(options?: RealtimeClientOptions): RealtimeClient;
|
|
102
105
|
export declare function connectRealtimeDataChanges(realtime: RealtimeClient, dispatcher: DataChangeDispatcher): RealtimeSubscription;
|
|
103
106
|
export declare function connectRealtimeUserNotifications(realtime: RealtimeClient, handler: RealtimeHandler<WebUserNotification>): RealtimeSubscription;
|
|
107
|
+
export declare function connectRealtimeBusinessNotifications(realtime: RealtimeClient, handler: RealtimeHandler<WebBusinessNotification>): RealtimeSubscription;
|
|
104
108
|
export declare function connectRealtimeBusinessEvents(realtime: RealtimeClient, handler: RealtimeHandler<WebBusinessRealtimeEvent>): RealtimeSubscription;
|