@ximatai/muyun-web-app 0.26.9 → 0.26.10
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/{MetadataOrchestrationView-CzhAgEdX.js → MetadataOrchestrationView-BhtVwJII.js} +182 -182
- package/dist/{ModuleActionManagementView-CM2d8jPO.js → ModuleActionManagementView-DpZS-xAD.js} +70 -70
- package/dist/RoleAuthorizationView-8lilhtMB.js +646 -0
- package/dist/{RoleDetailWorkspaceView-CzaQ3Dz1.js → RoleDetailWorkspaceView-CFha6JHn.js} +1 -1
- package/dist/{RoleManagementView-nY7qu4GF.js → RoleManagementView-0_KDrzgh.js} +511 -514
- package/dist/index.css +1 -1
- package/dist/index.js +282 -302
- package/dist/{platform-components-CIi6GdC9.js → platform-components-oRIsIoxu.js} +2060 -1893
- package/dist/types/app/StaticRoutePageHost.vue.d.ts +2 -0
- package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +4 -2
- package/dist/types/consumer/index.d.ts +1 -1
- package/dist/types/dynamic-page-runtime/ManagedDetailRelationInlineSurface.vue.d.ts +3 -1
- package/dist/types/dynamic-page-runtime/ManagedDetailRelationSurface.vue.d.ts +2 -1
- package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +3 -1
- package/dist/types/dynamic-page-runtime/ModulePageListExpansionSurface.vue.d.ts +2 -1
- package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansion.vue.d.ts +2 -1
- package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansions.vue.d.ts +2 -1
- package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +3 -1
- package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +7 -2
- package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts +2 -0
- package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +69 -15
- package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +3 -2
- package/dist/types/dynamic-page-runtime/index.d.ts +2 -1
- package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +35 -3
- package/dist/types/dynamic-page-runtime/navigatorEntrySelection.d.ts +18 -0
- package/dist/types/dynamic-page-runtime/pageContextRuntime.d.ts +8 -0
- package/dist/types/dynamic-page-runtime/pageNavigatorItemModel.d.ts +13 -0
- package/dist/types/dynamic-page-runtime/recordDetailController.d.ts +9 -8
- package/dist/types/platform-admin-runtime/platformModulePageEnhancement.d.ts +6 -0
- package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +4 -0
- package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +2 -0
- package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +5 -3
- package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +2 -0
- package/dist/types/platform-components/RecordFormFields.vue.d.ts +2 -2
- package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +2 -0
- package/dist/types/platform-components/RecordPanelButton.vue.d.ts +2 -0
- package/dist/types/platform-components/RecordPicker.vue.d.ts +2 -0
- package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +7 -1
- package/dist/types/platform-components/RecordStatusSwitch.vue.d.ts +2 -0
- package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +4 -0
- package/dist/types/platform-components/index.d.ts +0 -2
- package/dist/types/platform-components/recordFormFieldModel.d.ts +16 -2
- package/dist/types/platform-components/recordPickerConstraints.d.ts +2 -0
- package/dist/types/platform-workbench/Workbench.vue.d.ts +4 -2
- package/dist/types/vue-ui-antdv/components/UiSidePanel.vue.d.ts +4 -2
- package/dist/types/vue-ui-antdv/components/UiSwitch.vue.d.ts +2 -0
- package/dist/types/web-contracts/index.d.ts +72 -2
- package/dist/types/web-core/http.d.ts +6 -0
- package/dist/types/web-core/module/index.d.ts +1 -1
- package/dist/types/web-core/module/moduleContext.d.ts +2 -1
- package/dist/types/web-core/module/staticModuleClient.d.ts +6 -0
- package/dist/types/web-core/realtime.d.ts +8 -0
- package/dist/{workspaceViews-CkERhK0K.js → workspaceViews-D-RiJ64o.js} +3341 -3011
- package/package.json +1 -1
- package/dist/DictionaryManagementView-CtIQpqVA.js +0 -1035
- package/dist/MenuManagementView-DJhkN2sG.js +0 -837
- package/dist/RoleAuthorizationView-jn_WUCeg.js +0 -599
- package/dist/SystemUserDetailWorkspaceView-CBvqmWvP.js +0 -17
- package/dist/SystemUserManagementView-AEomKvK7.js +0 -887
- package/dist/currentUserContext-B1lj1WgF.js +0 -11
- package/dist/types/platform-components/scopedResourceTreeModuleContext.d.ts +0 -6
- package/dist/types/views/DictionaryManagementView.vue.d.ts +0 -3
- package/dist/types/views/MenuManagementView.vue.d.ts +0 -3
- package/dist/types/views/SystemUserDetailWorkspaceView.vue.d.ts +0 -7
- package/dist/types/views/SystemUserManagementView.vue.d.ts +0 -7
- package/dist/types/views/dictionaryManagementState.d.ts +0 -215
- package/dist/types/views/menuManagementState.d.ts +0 -180
- package/dist/types/views/systemUserDetailWorkspaceSession.d.ts +0 -12
- package/dist/types/views/systemUserDetailWorkspaceView.d.ts +0 -5
- package/dist/workspaceViewSessions-B5g4M0rT.js +0 -51
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
export type RecordDetailMode = 'create' | 'edit' | 'view';
|
|
2
|
-
export
|
|
2
|
+
export type RecordDetailCancelDestination = 'close' | 'restore-view';
|
|
3
|
+
export interface RecordDetailTransitionOptions {
|
|
3
4
|
/**
|
|
4
|
-
* The
|
|
5
|
-
*
|
|
6
|
-
*
|
|
5
|
+
* The detail surface to return to when the user cancels the operation.
|
|
6
|
+
* A row action starts an independent task and closes; an edit launched from
|
|
7
|
+
* an open detail returns to that detail view.
|
|
7
8
|
*/
|
|
8
|
-
|
|
9
|
+
cancelDestination?: RecordDetailCancelDestination;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
11
12
|
* State transitions shared by descriptor-driven record detail surfaces.
|
|
@@ -22,12 +23,12 @@ export declare function useRecordDetailController<TRecord extends Record<string,
|
|
|
22
23
|
saving: import("vue").Ref<boolean, boolean>;
|
|
23
24
|
togglingEnabled: import("vue").Ref<boolean, boolean>;
|
|
24
25
|
formSessionKey: import("vue").Ref<number, number>;
|
|
25
|
-
beginLoad: (next: TRecord, nextMode: Extract<RecordDetailMode, "edit" | "view"
|
|
26
|
+
beginLoad: (next: TRecord, nextMode: Extract<RecordDetailMode, "edit" | "view">, options?: RecordDetailTransitionOptions) => void;
|
|
26
27
|
resolveLoad: (next: TRecord) => void;
|
|
27
28
|
failLoad: () => void;
|
|
28
29
|
finishLoad: () => void;
|
|
29
|
-
beginCreate: (initial: TRecord, options?:
|
|
30
|
-
beginEdit: () => boolean;
|
|
30
|
+
beginCreate: (initial: TRecord, options?: RecordDetailTransitionOptions) => void;
|
|
31
|
+
beginEdit: (options?: RecordDetailTransitionOptions) => boolean;
|
|
31
32
|
cancelEdit: () => void;
|
|
32
33
|
applySaved: (next: TRecord) => void;
|
|
33
34
|
clearDeleted: () => void;
|
|
@@ -7,3 +7,9 @@ import type { ModulePageEnhancement } from '../dynamic-page-runtime/index';
|
|
|
7
7
|
* Vue component or arbitrary client-side behavior.
|
|
8
8
|
*/
|
|
9
9
|
export declare const platformModulePageEnhancement: ModulePageEnhancement;
|
|
10
|
+
/**
|
|
11
|
+
* Action management has no menu identity of its own. Its standard CRUD page is
|
|
12
|
+
* entered from exactly one governed platform module, which is the hidden and
|
|
13
|
+
* immutable navigator scope.
|
|
14
|
+
*/
|
|
15
|
+
export declare const platformModuleActionPageEnhancement: ModulePageEnhancement;
|
|
@@ -12,6 +12,8 @@ type __VLS_Props = {
|
|
|
12
12
|
* They are forwarded as standard query values rather than filtered in the browser.
|
|
13
13
|
*/
|
|
14
14
|
externalQueryValues?: Record<string, unknown>;
|
|
15
|
+
navigatorHostModuleAlias?: string;
|
|
16
|
+
navigatorTargetLevelKey?: string;
|
|
15
17
|
keyword?: string;
|
|
16
18
|
emptyDescription?: string;
|
|
17
19
|
loadingTip?: string;
|
|
@@ -43,6 +45,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
43
45
|
mode: CrudRecordListMode;
|
|
44
46
|
filterOption: (record: CrudRecordListBase, normalizedKeyword: string) => boolean;
|
|
45
47
|
emptyDescription: string;
|
|
48
|
+
navigatorHostModuleAlias: string;
|
|
49
|
+
navigatorTargetLevelKey: string;
|
|
46
50
|
selectedId: string;
|
|
47
51
|
keyword: string;
|
|
48
52
|
titleOf: (record: CrudRecordListBase) => string;
|
|
@@ -4,6 +4,7 @@ type __VLS_Props = {
|
|
|
4
4
|
subtitle?: string;
|
|
5
5
|
titleActionIcon?: UiIconName;
|
|
6
6
|
titleActionTitle?: string;
|
|
7
|
+
titleActionDisabled?: boolean;
|
|
7
8
|
};
|
|
8
9
|
declare var __VLS_1: {}, __VLS_11: {}, __VLS_13: {};
|
|
9
10
|
type __VLS_Slots = {} & {
|
|
@@ -21,6 +22,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
21
22
|
subtitle: string;
|
|
22
23
|
titleActionIcon: UiIconName;
|
|
23
24
|
titleActionTitle: string;
|
|
25
|
+
titleActionDisabled: boolean;
|
|
24
26
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
25
27
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
26
28
|
declare const _default: typeof __VLS_export;
|
|
@@ -3,8 +3,8 @@ import type { DrawerPromotion } from './drawerPromotion';
|
|
|
3
3
|
type __VLS_Props = {
|
|
4
4
|
open: boolean;
|
|
5
5
|
title: string;
|
|
6
|
-
/**
|
|
7
|
-
|
|
6
|
+
/** `inline` keeps slot anchors in the owning workspace; `portal` uses the standard side-panel host. */
|
|
7
|
+
renderMode?: 'inline' | 'portal';
|
|
8
8
|
subtitle?: string;
|
|
9
9
|
width?: number | string;
|
|
10
10
|
scope?: UiSidePanelScope;
|
|
@@ -22,14 +22,16 @@ type __VLS_Slots = {
|
|
|
22
22
|
};
|
|
23
23
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
24
24
|
close: () => any;
|
|
25
|
+
afterClose: () => any;
|
|
25
26
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
26
27
|
onClose?: (() => any) | undefined;
|
|
28
|
+
onAfterClose?: (() => any) | undefined;
|
|
27
29
|
}>, {
|
|
28
30
|
scope: UiSidePanelScope;
|
|
29
31
|
width: number | string;
|
|
30
32
|
subtitle: string;
|
|
31
33
|
closeOnOutside: boolean;
|
|
32
|
-
|
|
34
|
+
renderMode: "inline" | "portal";
|
|
33
35
|
closeTitle: string;
|
|
34
36
|
promotion: DrawerPromotion;
|
|
35
37
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
type __VLS_Props = {
|
|
2
2
|
title: string;
|
|
3
|
+
subtitle?: string;
|
|
3
4
|
refreshTitle?: string;
|
|
4
5
|
searchKeyword?: string;
|
|
5
6
|
searchPlaceholder?: string;
|
|
@@ -24,6 +25,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
24
25
|
onRefresh?: (() => any) | undefined;
|
|
25
26
|
"onUpdate:searchKeyword"?: ((keyword: string) => any) | undefined;
|
|
26
27
|
}>, {
|
|
28
|
+
subtitle: string;
|
|
27
29
|
searchPlaceholder: string;
|
|
28
30
|
refreshTitle: string;
|
|
29
31
|
searchKeyword: string;
|
|
@@ -25,13 +25,13 @@ type __VLS_Props = {
|
|
|
25
25
|
};
|
|
26
26
|
declare var __VLS_1: {
|
|
27
27
|
field: RecordFormFieldState;
|
|
28
|
-
},
|
|
28
|
+
}, __VLS_134: {
|
|
29
29
|
field: RecordFormFieldState;
|
|
30
30
|
};
|
|
31
31
|
type __VLS_Slots = {} & {
|
|
32
32
|
'before-field'?: (props: typeof __VLS_1) => any;
|
|
33
33
|
} & {
|
|
34
|
-
'after-field'?: (props: typeof
|
|
34
|
+
'after-field'?: (props: typeof __VLS_134) => any;
|
|
35
35
|
};
|
|
36
36
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
37
37
|
"update:field": (fieldName: string, value: RecordFormFieldValue) => any;
|
|
@@ -47,6 +47,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
47
47
|
close: () => any;
|
|
48
48
|
edit: () => any;
|
|
49
49
|
save: () => any;
|
|
50
|
+
afterClose: () => any;
|
|
50
51
|
retry: () => any;
|
|
51
52
|
reloadExternalChange: () => any;
|
|
52
53
|
dismissExternalChange: () => any;
|
|
@@ -54,6 +55,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
54
55
|
onClose?: (() => any) | undefined;
|
|
55
56
|
onEdit?: (() => any) | undefined;
|
|
56
57
|
onSave?: (() => any) | undefined;
|
|
58
|
+
onAfterClose?: (() => any) | undefined;
|
|
57
59
|
onRetry?: (() => any) | undefined;
|
|
58
60
|
onReloadExternalChange?: (() => any) | undefined;
|
|
59
61
|
onDismissExternalChange?: (() => any) | undefined;
|
|
@@ -4,6 +4,7 @@ type __VLS_Props = {
|
|
|
4
4
|
disabled?: boolean;
|
|
5
5
|
loading?: boolean;
|
|
6
6
|
danger?: boolean;
|
|
7
|
+
size?: 'small' | 'middle' | 'large';
|
|
7
8
|
title?: string;
|
|
8
9
|
ariaLabel?: string;
|
|
9
10
|
iconName?: UiIconName;
|
|
@@ -20,6 +21,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
20
21
|
type: "default" | "primary" | "dashed" | "link" | "text";
|
|
21
22
|
title: string;
|
|
22
23
|
danger: boolean;
|
|
24
|
+
size: "small" | "middle" | "large";
|
|
23
25
|
disabled: boolean;
|
|
24
26
|
loading: boolean;
|
|
25
27
|
ariaLabel: string;
|
|
@@ -21,9 +21,11 @@ type __VLS_Props = {
|
|
|
21
21
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
22
|
select: (record: RecordPickerRecord | undefined) => any;
|
|
23
23
|
"update:value": (value: string | undefined) => any;
|
|
24
|
+
"selection-resolved": (record: RecordPickerRecord | undefined) => any;
|
|
24
25
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
25
26
|
onSelect?: ((record: RecordPickerRecord | undefined) => any) | undefined;
|
|
26
27
|
"onUpdate:value"?: ((value: string | undefined) => any) | undefined;
|
|
28
|
+
"onSelection-resolved"?: ((record: RecordPickerRecord | undefined) => any) | undefined;
|
|
27
29
|
}>, {
|
|
28
30
|
mode: RecordPickerMode;
|
|
29
31
|
disabled: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Component } from 'vue';
|
|
2
|
-
import type { QuerySchema, ResolvedViewFieldDescriptor } from '../web-contracts/index';
|
|
2
|
+
import type { QuerySchema, ResolvedPageListPersistentQueryControlDescriptor, ResolvedViewFieldDescriptor, ResolvedPageListQuerySummaryDescriptor } from '../web-contracts/index';
|
|
3
3
|
import { type ModuleContext } from '../web-core/index';
|
|
4
4
|
import { type RecordActionItem, type ResolvedRecordActionItem } from './recordActionBarModel';
|
|
5
5
|
export type QueryListRecord = Record<string, unknown> & {
|
|
@@ -78,6 +78,10 @@ type __VLS_Props = {
|
|
|
78
78
|
pageable?: boolean;
|
|
79
79
|
ready?: boolean;
|
|
80
80
|
externalQueryValues?: Record<string, unknown>;
|
|
81
|
+
/** Descriptor-owned controls rendered after quick search and before advanced filtering. */
|
|
82
|
+
persistentQueryControls?: ResolvedPageListPersistentQueryControlDescriptor[];
|
|
83
|
+
/** Descriptor-owned result-set facts rendered at the left of the list footer. */
|
|
84
|
+
querySummaries?: ResolvedPageListQuerySummaryDescriptor[];
|
|
81
85
|
/** Descriptor-owned external criteria that must be exposed by the query schema. */
|
|
82
86
|
requiredExternalCriteriaKeys?: string[];
|
|
83
87
|
quickSearchPlaceholder?: string;
|
|
@@ -169,6 +173,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
|
169
173
|
querySchema: QuerySchema;
|
|
170
174
|
queryable: boolean;
|
|
171
175
|
pageable: boolean;
|
|
176
|
+
persistentQueryControls: ResolvedPageListPersistentQueryControlDescriptor[];
|
|
177
|
+
querySummaries: ResolvedPageListQuerySummaryDescriptor[];
|
|
172
178
|
requiredExternalCriteriaKeys: string[];
|
|
173
179
|
quickSearchPlaceholder: string;
|
|
174
180
|
waitingDescription: string;
|
|
@@ -4,6 +4,7 @@ type __VLS_Props = {
|
|
|
4
4
|
/** Explains why this otherwise visible status control is unavailable. */
|
|
5
5
|
disabledReason?: string;
|
|
6
6
|
loading?: boolean;
|
|
7
|
+
size?: 'default' | 'small';
|
|
7
8
|
showLabel?: boolean;
|
|
8
9
|
};
|
|
9
10
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
@@ -12,6 +13,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
12
13
|
onChange?: ((enabled: boolean) => any) | undefined;
|
|
13
14
|
}>, {
|
|
14
15
|
enabled: boolean;
|
|
16
|
+
size: "default" | "small";
|
|
15
17
|
disabled: boolean;
|
|
16
18
|
loading: boolean;
|
|
17
19
|
disabledReason: string;
|
|
@@ -9,6 +9,8 @@ type __VLS_Props = {
|
|
|
9
9
|
reloadKey?: number;
|
|
10
10
|
/** Descriptor-owned criteria from upstream navigator levels. */
|
|
11
11
|
externalQueryValues?: Record<string, unknown>;
|
|
12
|
+
navigatorHostModuleAlias?: string;
|
|
13
|
+
navigatorTargetLevelKey?: string;
|
|
12
14
|
keyword?: string;
|
|
13
15
|
searchMode?: TreeRecordSearchMode;
|
|
14
16
|
searchTrigger?: 'inline' | 'external';
|
|
@@ -42,6 +44,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
|
|
|
42
44
|
}>, {
|
|
43
45
|
filterOption: (record: TreeRecordBase, normalizedKeyword: string) => boolean;
|
|
44
46
|
emptyDescription: string;
|
|
47
|
+
navigatorHostModuleAlias: string;
|
|
48
|
+
navigatorTargetLevelKey: string;
|
|
45
49
|
searchPlaceholder: string;
|
|
46
50
|
selectedId: string;
|
|
47
51
|
keyword: string;
|
|
@@ -82,7 +82,6 @@ export type { PlatformDateTimeDisplay, PlatformDateTimeOptions, PlatformDateTime
|
|
|
82
82
|
export { applyReferenceDependencyClears, childResourceDefaultFormViewCode, resolveRecordDetailFields, resolveRecordFormFieldNames, resolveRecordBooleanStatusValue, resolveRecordFormFieldState, resolveRecordFormFields, evaluateUiFormula, recordFieldRendererRegistry, } from './recordFormFieldModel';
|
|
83
83
|
export { createQueryScopedTreeModuleContext, createScopedTreeClient, createScopedTreeModuleContext, } from './scopedTreeModuleContext';
|
|
84
84
|
export { createEmptyStaticTreeClient, createStaticTreeResourceModuleContext, } from './staticTreeResourceModuleContext';
|
|
85
|
-
export { createScopedResourceTreeModuleContext } from './scopedResourceTreeModuleContext';
|
|
86
85
|
export { presentPlatformError, presentPlatformMessage, presentPlatformSuccess, } from './platformErrorFeedback';
|
|
87
86
|
export { handlePlatformActionSuccess, presentPlatformActionSuccess } from './platformActionResultFeedback';
|
|
88
87
|
export { createPlatformActionResultReactionHandlers, mergePlatformActionResultReactionHandlers, platformActionResultReactions, platformActionResultReactionTypes, resolvePlatformActionResult, resolvePlatformActionResultMessage, withPlatformActionResultReactions, } from './platformActionResultReactions';
|
|
@@ -98,4 +97,3 @@ export type { StaticCrudCardMode, StaticCrudConfirmAction, StaticCrudManagementO
|
|
|
98
97
|
export type { TreeRecordBase } from './treeRecordModel';
|
|
99
98
|
export type { ScopedTreeModuleContextOptions } from './scopedTreeModuleContext';
|
|
100
99
|
export type { StaticTreeResourceModuleContextOptions } from './staticTreeResourceModuleContext';
|
|
101
|
-
export type { ScopedResourceTreeModuleContextOptions } from './scopedResourceTreeModuleContext';
|
|
@@ -14,6 +14,11 @@ export type RecordFormFieldDescriptor = (ViewFieldDefinition | ResolvedViewField
|
|
|
14
14
|
valueType?: ViewFieldValueType;
|
|
15
15
|
};
|
|
16
16
|
export type RecordFormRecord = Record<string, unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* Ephemeral, descriptor-authorized values from selected ONE references. These are deliberately
|
|
19
|
+
* separate from the draft because they describe the selected target, not fields owned by it.
|
|
20
|
+
*/
|
|
21
|
+
export type RecordFormSelectionContext = Record<string, unknown>;
|
|
17
22
|
/**
|
|
18
23
|
* Applies the platform-owned consequence of changing a reference dependency.
|
|
19
24
|
* The owner of a draft record calls this after accepting a field edit, so the
|
|
@@ -94,6 +99,8 @@ export interface RecordFormFieldState {
|
|
|
94
99
|
pickerConfig?: RecordFormFieldPickerConfig;
|
|
95
100
|
booleanStatus?: BooleanStatusPresentation;
|
|
96
101
|
valuePresentation?: FieldValuePresentation;
|
|
102
|
+
/** Source field used while this nullable field is inheriting instead of overriding. */
|
|
103
|
+
overrideOf?: string;
|
|
97
104
|
disabledHint?: string;
|
|
98
105
|
placeholder?: string;
|
|
99
106
|
options?: Option[];
|
|
@@ -111,7 +118,7 @@ export declare function resolveRecordFormFields(uiDescriptor: ResolvedModuleUiDe
|
|
|
111
118
|
* navigator-provided scope), while avoiding editor-only controls in the standard detail grid.
|
|
112
119
|
* Pages without an explicit display retain the existing editor-as-display fallback.
|
|
113
120
|
*/
|
|
114
|
-
export declare function resolveRecordDetailFields(uiDescriptor: ResolvedModuleUiDescriptor | undefined): Map<string, RecordFormFieldDescriptor>;
|
|
121
|
+
export declare function resolveRecordDetailFields(uiDescriptor: ResolvedModuleUiDescriptor | undefined, resource?: string): Map<string, RecordFormFieldDescriptor>;
|
|
115
122
|
export declare function resolveRecordFormGroups(uiDescriptor: ResolvedModuleUiDescriptor | undefined, resource?: string, editorSurface?: string): FormGroupDescriptor[];
|
|
116
123
|
export declare function childResourceDefaultFormViewCode(resource: string): string;
|
|
117
124
|
export declare function resolveRecordFormFieldState(fieldName: string, options?: {
|
|
@@ -120,8 +127,15 @@ export declare function resolveRecordFormFieldState(fieldName: string, options?:
|
|
|
120
127
|
pickerConfigs?: Record<string, RecordFormFieldPickerConfig>;
|
|
121
128
|
placeholderOf?: (fieldName: string, field: RecordFormFieldState) => string | undefined;
|
|
122
129
|
record?: RecordFormRecord;
|
|
130
|
+
selectionContext?: RecordFormSelectionContext;
|
|
123
131
|
}): RecordFormFieldState;
|
|
124
|
-
export declare function evaluateUiFormula(formula: UiFormula, record: RecordFormRecord): boolean;
|
|
132
|
+
export declare function evaluateUiFormula(formula: UiFormula, record: RecordFormRecord, selectionContext?: RecordFormSelectionContext): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* Produces the only reference-derived values that WEB_UI formulas may observe. The descriptor
|
|
135
|
+
* owns both the source field and relative target paths; browser code never infers a path from a
|
|
136
|
+
* candidate object. The first delivery supports ONE references only.
|
|
137
|
+
*/
|
|
138
|
+
export declare function resolveReferenceSelectionContext(sourceField: string, reference: ResolvedReferenceFieldDescriptor | undefined, record: RecordPickerRecord | undefined): RecordFormSelectionContext;
|
|
125
139
|
/**
|
|
126
140
|
* Preserves an absent business value as unknown instead of treating it as true.
|
|
127
141
|
* `enabledStatus` deliberately retains its separate lifecycle default semantics.
|
|
@@ -6,6 +6,8 @@ export interface RecordPickerRecord {
|
|
|
6
6
|
enabled?: boolean;
|
|
7
7
|
/** Server-authorized values applied after choosing this candidate. */
|
|
8
8
|
affectPatch?: Record<string, unknown>;
|
|
9
|
+
/** Server-authorized target projections used only by the owning form's transient UI context. */
|
|
10
|
+
projections?: Record<string, unknown>;
|
|
9
11
|
}
|
|
10
12
|
export interface PickerConstraintContext<TRecord extends RecordPickerRecord> {
|
|
11
13
|
records: TRecord[];
|
|
@@ -9,13 +9,13 @@ type __VLS_Props = {
|
|
|
9
9
|
realtimeStatus?: WorkbenchRealtimeStatus;
|
|
10
10
|
themeAppearance?: 'light' | 'dark';
|
|
11
11
|
};
|
|
12
|
-
declare var
|
|
12
|
+
declare var __VLS_82: {
|
|
13
13
|
activeTab: MenuTab;
|
|
14
14
|
target: MenuNavigationTarget | undefined;
|
|
15
15
|
pageDescriptor: PageDescriptor | undefined;
|
|
16
16
|
};
|
|
17
17
|
type __VLS_Slots = {} & {
|
|
18
|
-
default?: (props: typeof
|
|
18
|
+
default?: (props: typeof __VLS_82) => any;
|
|
19
19
|
};
|
|
20
20
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
21
21
|
closeTabs: (keys: string[]) => any;
|
|
@@ -25,6 +25,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
25
25
|
closeTab: (key: string) => any;
|
|
26
26
|
toggleTabLock: (key: string) => any;
|
|
27
27
|
reorderTabs: (keys: string[]) => any;
|
|
28
|
+
refreshPage: (key: string) => any;
|
|
28
29
|
"update:activeTabKey": (key: string) => any;
|
|
29
30
|
userCommand: (key: string) => any;
|
|
30
31
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
@@ -35,6 +36,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
35
36
|
onCloseTab?: ((key: string) => any) | undefined;
|
|
36
37
|
onToggleTabLock?: ((key: string) => any) | undefined;
|
|
37
38
|
onReorderTabs?: ((keys: string[]) => any) | undefined;
|
|
39
|
+
onRefreshPage?: ((key: string) => any) | undefined;
|
|
38
40
|
"onUpdate:activeTabKey"?: ((key: string) => any) | undefined;
|
|
39
41
|
onUserCommand?: ((key: string) => any) | undefined;
|
|
40
42
|
}>, {
|
|
@@ -5,14 +5,16 @@ type __VLS_Props = {
|
|
|
5
5
|
closeOnOutside?: boolean;
|
|
6
6
|
scope?: UiSidePanelScope;
|
|
7
7
|
};
|
|
8
|
-
declare var
|
|
8
|
+
declare var __VLS_11: {};
|
|
9
9
|
type __VLS_Slots = {} & {
|
|
10
|
-
default?: (props: typeof
|
|
10
|
+
default?: (props: typeof __VLS_11) => any;
|
|
11
11
|
};
|
|
12
12
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
13
|
close: () => any;
|
|
14
|
+
afterClose: () => any;
|
|
14
15
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
16
|
onClose?: (() => any) | undefined;
|
|
17
|
+
onAfterClose?: (() => any) | undefined;
|
|
16
18
|
}>, {
|
|
17
19
|
scope: UiSidePanelScope;
|
|
18
20
|
width: number | string;
|
|
@@ -2,6 +2,7 @@ type __VLS_Props = {
|
|
|
2
2
|
checked?: boolean;
|
|
3
3
|
disabled?: boolean;
|
|
4
4
|
loading?: boolean;
|
|
5
|
+
size?: 'default' | 'small';
|
|
5
6
|
checkedText?: string;
|
|
6
7
|
uncheckedText?: string;
|
|
7
8
|
};
|
|
@@ -12,6 +13,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
12
13
|
"onUpdate:checked"?: ((checked: boolean) => any) | undefined;
|
|
13
14
|
onChange?: ((checked: boolean) => any) | undefined;
|
|
14
15
|
}>, {
|
|
16
|
+
size: "default" | "small";
|
|
15
17
|
disabled: boolean;
|
|
16
18
|
loading: boolean;
|
|
17
19
|
checked: boolean;
|
|
@@ -19,6 +19,12 @@ export interface WebPageResponse<T> {
|
|
|
19
19
|
pages: number;
|
|
20
20
|
totalKnown: boolean;
|
|
21
21
|
navigation?: unknown;
|
|
22
|
+
summaries?: WebListQuerySummaryItem[];
|
|
23
|
+
}
|
|
24
|
+
/** Value of one footer summary for the complete result set of the current list query. */
|
|
25
|
+
export interface WebListQuerySummaryItem {
|
|
26
|
+
key: string;
|
|
27
|
+
value: unknown;
|
|
22
28
|
}
|
|
23
29
|
export declare const webDataChangeTypes: {
|
|
24
30
|
readonly recordCreated: "record-created";
|
|
@@ -409,7 +415,7 @@ export type MenuScopeType = 'system' | 'tenant' | 'organization';
|
|
|
409
415
|
export interface MenuScheme extends StandardEnabledSortableEntity {
|
|
410
416
|
alias?: string;
|
|
411
417
|
scopeType?: MenuScopeType;
|
|
412
|
-
|
|
418
|
+
organizationId?: string;
|
|
413
419
|
}
|
|
414
420
|
export interface ModuleMenuTarget {
|
|
415
421
|
menuId: string;
|
|
@@ -550,6 +556,9 @@ export interface WebQueryRequest {
|
|
|
550
556
|
quickSearch?: string;
|
|
551
557
|
quickSearchFields?: string[];
|
|
552
558
|
externalQueryValues?: Record<string, unknown>;
|
|
559
|
+
/** Host page and target level for a navigator REFERENCE query. */
|
|
560
|
+
navigatorHostModuleAlias?: string;
|
|
561
|
+
navigatorTargetLevelKey?: string;
|
|
553
562
|
}
|
|
554
563
|
/** Shared field-reference delivery contract for static and metadata-backed modules. */
|
|
555
564
|
export type WebReferenceResolveMode = 'QUERY' | 'TREE' | 'TRANSLATE';
|
|
@@ -574,6 +583,14 @@ export interface WebReferenceResolveRequest {
|
|
|
574
583
|
uiConfigId?: string;
|
|
575
584
|
queryTemplateId?: string;
|
|
576
585
|
externalQueryValues?: Record<string, unknown>;
|
|
586
|
+
/**
|
|
587
|
+
* Host page that owns this navigator reference request. Reference transports
|
|
588
|
+
* use it only to resolve the declared NAVIGATOR_QUERY bindings; ordinary
|
|
589
|
+
* module queries deliberately ignore it.
|
|
590
|
+
*/
|
|
591
|
+
navigatorHostModuleAlias?: string;
|
|
592
|
+
/** Navigator level in the host page whose source is being queried. */
|
|
593
|
+
navigatorTargetLevelKey?: string;
|
|
577
594
|
}
|
|
578
595
|
export interface WebReferenceResolveItem {
|
|
579
596
|
id: string;
|
|
@@ -682,6 +699,8 @@ export interface ViewFieldDefinition {
|
|
|
682
699
|
maxDisplayLines?: number;
|
|
683
700
|
/** User-facing title for the standard tree root sentinel in a detail field. */
|
|
684
701
|
treeRootTitle?: string;
|
|
702
|
+
/** Nullable field inherits this source field until an explicit override is selected. */
|
|
703
|
+
overrideOf?: string;
|
|
685
704
|
}
|
|
686
705
|
/** Semantic group that owns a contiguous set of standard-form fields. */
|
|
687
706
|
export interface FormGroupDescriptor {
|
|
@@ -731,6 +750,8 @@ export interface ResolvedViewFieldDescriptor {
|
|
|
731
750
|
fixed?: boolean;
|
|
732
751
|
booleanStatus?: BooleanStatusPresentation;
|
|
733
752
|
treeRootTitle?: string;
|
|
753
|
+
/** Nullable field inherits this source field until an explicit override is selected. */
|
|
754
|
+
overrideOf?: string;
|
|
734
755
|
option?: ResolvedOptionFieldDescriptor;
|
|
735
756
|
reference?: ResolvedReferenceFieldDescriptor;
|
|
736
757
|
referenceSummary?: ResolvedReferenceSummaryFieldDescriptor;
|
|
@@ -756,6 +777,19 @@ export interface ResolvedReferenceFieldDescriptor {
|
|
|
756
777
|
candidateDependencies?: ReferenceCandidateDependency[];
|
|
757
778
|
/** Read-side title projection for this scalar reference, when supplied by the server. */
|
|
758
779
|
titleField?: string;
|
|
780
|
+
/**
|
|
781
|
+
* Explicitly authorized target-field paths available after choosing this ONE reference.
|
|
782
|
+
* Paths are relative to this reference field; the form runtime prefixes them with the
|
|
783
|
+
* descriptor-owned source field name before exposing them to WEB_UI formulas.
|
|
784
|
+
*/
|
|
785
|
+
selectionProjections?: ResolvedReferenceSelectionProjectionDescriptor[];
|
|
786
|
+
}
|
|
787
|
+
/**
|
|
788
|
+
* A declared projection below a record-picker target. Every non-terminal segment is a declared
|
|
789
|
+
* ONE reference; the terminal segment is the selected value delivered by the server.
|
|
790
|
+
*/
|
|
791
|
+
export interface ResolvedReferenceSelectionProjectionDescriptor {
|
|
792
|
+
path: string[];
|
|
759
793
|
}
|
|
760
794
|
export interface ReferenceCandidateDependency {
|
|
761
795
|
sourceField: string;
|
|
@@ -813,11 +847,12 @@ export type ModulePageTemplate = 'FLAT_MANAGEMENT' | 'LIST_DETAIL_CARD' | 'TREE_
|
|
|
813
847
|
export interface ResolvedPageExplorerDescriptor {
|
|
814
848
|
title: string;
|
|
815
849
|
searchPlaceholder: string;
|
|
850
|
+
/** Optional record field rendered as the compact navigator secondary identity. */
|
|
851
|
+
secondaryField?: string;
|
|
816
852
|
emptyDescription: string;
|
|
817
853
|
recordLabel: string;
|
|
818
854
|
fallbackTitle: string;
|
|
819
855
|
titleField: string;
|
|
820
|
-
secondaryField?: string;
|
|
821
856
|
mutedWhenDisabled: boolean;
|
|
822
857
|
}
|
|
823
858
|
export interface ResolvedPageNavigatorDescriptor {
|
|
@@ -830,6 +865,8 @@ export interface ResolvedPageNavigatorLevelDescriptor {
|
|
|
830
865
|
sourceModuleAlias: string;
|
|
831
866
|
title: string;
|
|
832
867
|
searchPlaceholder: string;
|
|
868
|
+
/** Optional record field rendered as the compact navigator secondary identity. */
|
|
869
|
+
secondaryField?: string;
|
|
833
870
|
/** Presentation policy applied after the source has authoritatively loaded. */
|
|
834
871
|
singleResultPolicy?: 'NONE' | 'AUTO_SELECT' | 'AUTO_SELECT_AND_HIDE';
|
|
835
872
|
/** Explicit initial selection policy; omitted means the navigator starts unselected. */
|
|
@@ -850,6 +887,11 @@ export interface ResolvedPageContextBindingDescriptor {
|
|
|
850
887
|
targetNavigatorLevelKey?: string;
|
|
851
888
|
/** Field name of the record picker which receives this query context. */
|
|
852
889
|
targetPickerFieldKey?: string;
|
|
890
|
+
/**
|
|
891
|
+
* Only applies to NAVIGATOR -> LIST_QUERY. Omitted descriptors remain required for backwards
|
|
892
|
+
* compatibility with previously published page definitions.
|
|
893
|
+
*/
|
|
894
|
+
navigatorListQueryMode?: 'REQUIRED_SCOPE' | 'OPTIONAL_FILTER';
|
|
853
895
|
}
|
|
854
896
|
export interface ResolvedPageNavigatorManagementDescriptor {
|
|
855
897
|
/** Optional named source-module form; the default editor is used when omitted. */
|
|
@@ -860,6 +902,21 @@ export interface ResolvedPageListDescriptor {
|
|
|
860
902
|
fields: ResolvedViewDescriptor;
|
|
861
903
|
/** Read-only placements of declared aggregate relations beneath an expanded list row. */
|
|
862
904
|
relationExpansions?: ResolvedPageListRelationExpansionDescriptor[];
|
|
905
|
+
persistentQueryControls?: ResolvedPageListPersistentQueryControlDescriptor[];
|
|
906
|
+
querySummaries?: ResolvedPageListQuerySummaryDescriptor[];
|
|
907
|
+
}
|
|
908
|
+
export interface ResolvedPageListQuerySummaryDescriptor {
|
|
909
|
+
key: string;
|
|
910
|
+
title: string;
|
|
911
|
+
source: 'MATCHED_COUNT' | 'CONTRIBUTOR';
|
|
912
|
+
contributorKey?: string;
|
|
913
|
+
}
|
|
914
|
+
/** A persistent boolean query control rendered after search and before advanced filtering. */
|
|
915
|
+
export interface ResolvedPageListPersistentQueryControlDescriptor {
|
|
916
|
+
externalCriteriaKey: string;
|
|
917
|
+
title: string;
|
|
918
|
+
uiType: 'SWITCH';
|
|
919
|
+
defaultValue: boolean;
|
|
863
920
|
}
|
|
864
921
|
export interface ResolvedPageListRelationExpansionDescriptor {
|
|
865
922
|
relationCode: string;
|
|
@@ -884,9 +941,22 @@ export interface ResolvedModulePageDescriptor {
|
|
|
884
941
|
explorer?: ResolvedPageExplorerDescriptor;
|
|
885
942
|
navigator?: ResolvedPageNavigatorDescriptor;
|
|
886
943
|
list?: ResolvedPageListDescriptor;
|
|
944
|
+
/** Declared action-contribution tree rendered as the main TREE_MANAGEMENT resource. */
|
|
945
|
+
treeResource?: ResolvedPageTreeResourceDescriptor;
|
|
887
946
|
detail: ResolvedPageDetailDescriptor;
|
|
888
947
|
traits: ('STANDARD_CRUD' | 'ENABLED_STATUS' | 'RECYCLE_BIN' | 'RESPONSIVE_DETAIL_SURFACE')[];
|
|
889
948
|
}
|
|
949
|
+
export interface ResolvedPageTreeResourceDescriptor {
|
|
950
|
+
resource: string;
|
|
951
|
+
scopeNavigatorKey: string;
|
|
952
|
+
scopeField: string;
|
|
953
|
+
/** Optional exact-value condition on the selected navigator record. */
|
|
954
|
+
scopeRecordField?: string;
|
|
955
|
+
scopeRecordEquals?: string;
|
|
956
|
+
title: string;
|
|
957
|
+
emptyDescription: string;
|
|
958
|
+
createTitle: string;
|
|
959
|
+
}
|
|
890
960
|
export interface ResolvedUiActionConfirmationDescriptor {
|
|
891
961
|
mode: 'typedText';
|
|
892
962
|
requiredField: string;
|
|
@@ -18,6 +18,12 @@ export interface HttpRequestOptions {
|
|
|
18
18
|
export interface HttpClient {
|
|
19
19
|
request<T>(options: HttpRequestOptions): Promise<T>;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Narrows an existing client to one trusted request context without teaching
|
|
23
|
+
* module clients about a particular page, menu, or business domain.
|
|
24
|
+
*/
|
|
25
|
+
export declare function withHttpHeaders(client: StreamingHttpClient, headers: Record<string, string | undefined> | (() => Record<string, string | undefined>), appliesTo?: (request: HttpRequestOptions) => boolean): StreamingHttpClient;
|
|
26
|
+
export declare function withHttpHeaders(client: HttpClient, headers: Record<string, string | undefined> | (() => Record<string, string | undefined>), appliesTo?: (request: HttpRequestOptions) => boolean): HttpClient;
|
|
21
27
|
/**
|
|
22
28
|
* Optional capability implemented by HTTP clients that can open a response body
|
|
23
29
|
* as a stream. Keeping it separate preserves compatibility with application
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export * from './abilityCodes';
|
|
2
2
|
export * from './recycleBin';
|
|
3
3
|
export * from './staticModuleClient';
|
|
4
|
-
export type { ModuleActionState, ModuleRuntimeAction, ModuleRuntimeContext, ModuleRuntimeContextState, } from './runtimeContext';
|
|
4
|
+
export type { ModuleActionState, ModuleRecordActionAvailability, ModuleRuntimeAction, ModuleRuntimeContext, ModuleRuntimeContextState, } from './runtimeContext';
|
|
5
5
|
export type { ModuleAbilityClients, ModuleAbilities } from './abilities';
|
|
6
6
|
export * from './moduleContext';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { HttpClient } from '../http';
|
|
2
2
|
import { type ModuleAbilities } from './abilities';
|
|
3
3
|
import { type ModuleActionState, type ModuleRecordActionAvailability, type ModuleRuntimeAction, type ModuleRuntimeContextState } from './runtimeContext';
|
|
4
|
-
import { type ModuleCrudClient, type ModuleTreeClient } from './staticModuleClient';
|
|
4
|
+
import { type NavigatorReferenceRequestContext, type ModuleCrudClient, type ModuleTreeClient } from './staticModuleClient';
|
|
5
5
|
export interface ModuleContext<TRecord> {
|
|
6
6
|
moduleAlias: string;
|
|
7
7
|
http: HttpClient;
|
|
@@ -26,6 +26,7 @@ export interface ModuleContextConfig {
|
|
|
26
26
|
export interface ModuleContextOptions extends ModuleContextConfig {
|
|
27
27
|
moduleAlias: string;
|
|
28
28
|
runtimeAccess?: 'MENU' | 'REFERENCE';
|
|
29
|
+
navigatorReference?: NavigatorReferenceRequestContext;
|
|
29
30
|
}
|
|
30
31
|
export declare function configureModuleContext(config: ModuleContextConfig): void;
|
|
31
32
|
export declare function provideModuleContextConfig(config: ModuleContextConfig): void;
|
|
@@ -60,6 +60,7 @@ export declare function createModuleCrudClient<TRecord>(http: HttpClient, option
|
|
|
60
60
|
/** The navigation-only read surface deliberately does not reuse the module query endpoint. */
|
|
61
61
|
export declare function createNavigatorReferenceCrudClient<TRecord>(http: HttpClient, options: {
|
|
62
62
|
moduleAlias: string;
|
|
63
|
+
navigatorReference?: NavigatorReferenceRequestContext;
|
|
63
64
|
}): ModuleCrudClient<TRecord>;
|
|
64
65
|
export declare function createStaticResourceCrudClient<TRecord>(http: HttpClient, resourcePath: string): ModuleCrudClient<TRecord>;
|
|
65
66
|
export declare function createModuleTreeClient<TRecord>(http: HttpClient, options: {
|
|
@@ -67,7 +68,12 @@ export declare function createModuleTreeClient<TRecord>(http: HttpClient, option
|
|
|
67
68
|
}): ModuleTreeClient<TRecord>;
|
|
68
69
|
export declare function createNavigatorReferenceTreeClient<TRecord>(http: HttpClient, options: {
|
|
69
70
|
moduleAlias: string;
|
|
71
|
+
navigatorReference?: NavigatorReferenceRequestContext;
|
|
70
72
|
}): ModuleTreeClient<TRecord>;
|
|
73
|
+
export interface NavigatorReferenceRequestContext {
|
|
74
|
+
hostModuleAlias: string;
|
|
75
|
+
targetLevelKey: string;
|
|
76
|
+
}
|
|
71
77
|
export declare function createStaticResourceTreeClient<TRecord>(http: HttpClient, resourcePath: string): ModuleTreeClient<TRecord>;
|
|
72
78
|
/** @deprecated Use ModuleCrudClient. Remove after static-prefixed consumer imports migrate. */
|
|
73
79
|
export type StaticModuleCrudClient<TRecord> = ModuleCrudClient<TRecord>;
|
|
@@ -23,8 +23,16 @@ export interface RealtimeClient {
|
|
|
23
23
|
state(): RealtimeConnectionState;
|
|
24
24
|
}
|
|
25
25
|
export interface RealtimeClientOptions {
|
|
26
|
+
/**
|
|
27
|
+
* Backend API base URL. The default WebSocket endpoint is resolved relative
|
|
28
|
+
* to this path, so an API mounted at `/api` connects to `/api/ws/platform`.
|
|
29
|
+
*/
|
|
26
30
|
baseUrl?: string;
|
|
27
31
|
token?: string;
|
|
32
|
+
/**
|
|
33
|
+
* WebSocket endpoint relative to {@link baseUrl}. A root-relative or
|
|
34
|
+
* absolute URL remains an explicit override for deployments that need it.
|
|
35
|
+
*/
|
|
28
36
|
brokerPath?: string;
|
|
29
37
|
reconnectDelay?: number;
|
|
30
38
|
heartbeatIncoming?: number;
|