@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
|
@@ -5,6 +5,8 @@ type __VLS_Props = {
|
|
|
5
5
|
component: Component;
|
|
6
6
|
route: RouteLocationNormalizedLoaded;
|
|
7
7
|
pageDescriptor?: PageDescriptor;
|
|
8
|
+
/** Refreshes this page's inner route component without evicting sibling tabs from KeepAlive. */
|
|
9
|
+
refreshRevision?: number;
|
|
8
10
|
};
|
|
9
11
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
10
12
|
declare const _default: typeof __VLS_export;
|
|
@@ -12,18 +12,20 @@ type __VLS_Props = {
|
|
|
12
12
|
realtimeStatus?: WorkbenchRealtimeStatus;
|
|
13
13
|
themeAppearance?: 'light' | 'dark';
|
|
14
14
|
};
|
|
15
|
-
declare var
|
|
15
|
+
declare var __VLS_18: {
|
|
16
16
|
pageDescriptor: PageDescriptor | undefined;
|
|
17
17
|
};
|
|
18
18
|
type __VLS_Slots = {} & {
|
|
19
|
-
default?: (props: typeof
|
|
19
|
+
default?: (props: typeof __VLS_18) => any;
|
|
20
20
|
};
|
|
21
21
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
22
|
navigate: (navigation: AppWorkbenchNavigation) => any;
|
|
23
|
+
refreshPage: (key: string) => any;
|
|
23
24
|
userCommand: (key: string) => any;
|
|
24
25
|
"update:startup": (value: WorkbenchStartupState) => any;
|
|
25
26
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
26
27
|
onNavigate?: ((navigation: AppWorkbenchNavigation) => any) | undefined;
|
|
28
|
+
onRefreshPage?: ((key: string) => any) | undefined;
|
|
27
29
|
onUserCommand?: ((key: string) => any) | undefined;
|
|
28
30
|
"onUpdate:startup"?: ((value: WorkbenchStartupState) => any) | undefined;
|
|
29
31
|
}>, {
|
|
@@ -15,7 +15,7 @@ export { activeTabUrlOf, arrangeLockedMenuTabs, removeLockedMenuTabs, restoreWor
|
|
|
15
15
|
export { restoreLockedTabPreference, saveLockedTabPreference } from '../app/lockedTabPreference';
|
|
16
16
|
export { configureModulePageEnhancementContributions, configureModulePageEnhancements, createModulePageEnhancementRegistry, modulePageWorkspaceViews, } from '../dynamic-page-runtime/modulePageEnhancements';
|
|
17
17
|
export { refreshModulePageList } from '../dynamic-page-runtime/modulePageListRefresh';
|
|
18
|
-
export type { ModuleListEnhancement, ModuleDetailEnhancement, ModulePageActionContext, ModulePageActionContribution, ModulePageActionStateContext, ModulePageBatchActionContext, ModulePageBatchActionContribution, ModulePageColumnContribution, ModulePageDetailDrawer, ModulePageDetailSection, ModulePageDetailSectionContext, ModulePageDrawer, ModulePageDrawerContext, ModulePageRecordViewContext, ModulePageEnhancement, ModulePageEnhancementTarget, ModulePageRecordActionContext, ModulePageRecordActionContribution, ModulePageScopeContext, ModulePageWorkspaceView, ModulePageWorkspaceViewInput, } from '../dynamic-page-runtime/modulePageEnhancements';
|
|
18
|
+
export type { ModuleListEnhancement, ModuleDetailEnhancement, ModulePageActionContext, ModulePageActionContribution, ModulePageActionStateContext, ModulePageBatchActionContext, ModulePageBatchActionContribution, ModulePageColumnContribution, ModulePageDetailDrawer, ModulePageDetailSection, ModulePageDetailSectionContext, ModulePageDrawer, ModulePageDrawerContext, ModulePageRecordViewContext, ModulePageEnhancement, ModulePageEnhancementTarget, ModulePageLockedNavigatorEntry, ModulePageRecordActionContext, ModulePageRecordActionContribution, ModulePageScopeContext, ModulePageWorkspaceView, ModulePageWorkspaceViewInput, } from '../dynamic-page-runtime/modulePageEnhancements';
|
|
19
19
|
export { UiButton, confirmAction, UiDataTable, UiSidePanel, UiTree, UiTreeSelect, UiInput, UiSwitch, UiTextArea, } from '../vue-ui-antdv/index';
|
|
20
20
|
export { default as PlatformAdminOutlet } from './PlatformAdminOutlet.vue';
|
|
21
21
|
export { default as AppWorkbenchShell } from './AppWorkbenchShell.vue';
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type QueryListRecord } from '../platform-components/index';
|
|
2
2
|
import type { ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor } from '../web-contracts/index';
|
|
3
|
-
import { type ModuleContext } from '../web-core/index';
|
|
3
|
+
import { type HttpClient, type ModuleContext } from '../web-core/index';
|
|
4
4
|
type __VLS_Props = {
|
|
5
5
|
sourceContext: ModuleContext<QueryListRecord>;
|
|
6
|
+
crossModuleHttp?: HttpClient;
|
|
6
7
|
uiDescriptor: ResolvedModuleUiDescriptor;
|
|
7
8
|
relation: ResolvedDetailRelationDescriptor;
|
|
8
9
|
parentRecord: QueryListRecord;
|
|
@@ -31,6 +32,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
31
32
|
density: "default" | "compact";
|
|
32
33
|
reloadKey: number;
|
|
33
34
|
validationRequestKey: number;
|
|
35
|
+
crossModuleHttp: HttpClient;
|
|
34
36
|
addRequestKey: number;
|
|
35
37
|
removeRequestKey: number;
|
|
36
38
|
undoRemoveRequestKey: number;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type QueryListRecord } from '../platform-components/index';
|
|
2
2
|
import type { ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor } from '../web-contracts/index';
|
|
3
|
-
import { type ModuleContext } from '../web-core/index';
|
|
3
|
+
import { type HttpClient, type ModuleContext } from '../web-core/index';
|
|
4
4
|
type __VLS_Props = {
|
|
5
5
|
sourceContext: ModuleContext<QueryListRecord>;
|
|
6
|
+
crossModuleHttp?: HttpClient;
|
|
6
7
|
uiDescriptor: ResolvedModuleUiDescriptor;
|
|
7
8
|
relation: ResolvedDetailRelationDescriptor;
|
|
8
9
|
parentRecord: QueryListRecord;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type QueryListRecord } from '../platform-components/index';
|
|
2
2
|
import type { ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor } from '../web-contracts/index';
|
|
3
|
-
import type { ModuleContext } from '../web-core/index';
|
|
3
|
+
import type { HttpClient, ModuleContext } from '../web-core/index';
|
|
4
4
|
type __VLS_Props = {
|
|
5
5
|
sourceContext: ModuleContext<QueryListRecord>;
|
|
6
|
+
crossModuleHttp?: HttpClient;
|
|
6
7
|
uiDescriptor: ResolvedModuleUiDescriptor;
|
|
7
8
|
relations: ResolvedDetailRelationDescriptor[];
|
|
8
9
|
parentRecord: QueryListRecord;
|
|
@@ -21,6 +22,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
|
|
|
21
22
|
reloadKey: number;
|
|
22
23
|
surface: "detail" | "list-expansion";
|
|
23
24
|
validationRequestKey: number;
|
|
25
|
+
crossModuleHttp: HttpClient;
|
|
24
26
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
25
27
|
declare const _default: typeof __VLS_export;
|
|
26
28
|
export default _default;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type QueryListRecord } from '../platform-components/index';
|
|
2
2
|
import type { ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor, ResolvedPageListRelationExpansionDescriptor } from '../web-contracts/index';
|
|
3
|
-
import type { ModuleContext } from '../web-core/index';
|
|
3
|
+
import type { HttpClient, ModuleContext } from '../web-core/index';
|
|
4
4
|
import type { ModulePageListRowExpansion, ModulePageListRowExpansionContext } from './modulePageEnhancements';
|
|
5
5
|
type RelationExpansionEntry = {
|
|
6
6
|
expansion: ResolvedPageListRelationExpansionDescriptor;
|
|
@@ -8,6 +8,7 @@ type RelationExpansionEntry = {
|
|
|
8
8
|
};
|
|
9
9
|
type __VLS_Props = {
|
|
10
10
|
sourceContext: ModuleContext<QueryListRecord>;
|
|
11
|
+
crossModuleHttp?: HttpClient;
|
|
11
12
|
uiDescriptor: ResolvedModuleUiDescriptor;
|
|
12
13
|
record: QueryListRecord;
|
|
13
14
|
relationEntries: readonly RelationExpansionEntry[];
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor, ResolvedPageListRelationExpansionDescriptor } from '../web-contracts/index';
|
|
2
|
-
import type { ModuleContext } from '../web-core/index';
|
|
2
|
+
import type { HttpClient, ModuleContext } from '../web-core/index';
|
|
3
3
|
import { type QueryListRecord } from '../platform-components/index';
|
|
4
4
|
type __VLS_Props = {
|
|
5
5
|
sourceContext: ModuleContext<QueryListRecord>;
|
|
6
|
+
crossModuleHttp?: HttpClient;
|
|
6
7
|
uiDescriptor: ResolvedModuleUiDescriptor;
|
|
7
8
|
record: QueryListRecord;
|
|
8
9
|
relation: ResolvedDetailRelationDescriptor;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor, ResolvedPageListRelationExpansionDescriptor } from '../web-contracts/index';
|
|
2
|
-
import type { ModuleContext } from '../web-core/index';
|
|
2
|
+
import type { HttpClient, ModuleContext } from '../web-core/index';
|
|
3
3
|
import { type QueryListRecord } from '../platform-components/index';
|
|
4
4
|
type RelationExpansionEntry = {
|
|
5
5
|
relation: ResolvedDetailRelationDescriptor;
|
|
@@ -7,6 +7,7 @@ type RelationExpansionEntry = {
|
|
|
7
7
|
};
|
|
8
8
|
type __VLS_Props = {
|
|
9
9
|
sourceContext: ModuleContext<QueryListRecord>;
|
|
10
|
+
crossModuleHttp?: HttpClient;
|
|
10
11
|
uiDescriptor: ResolvedModuleUiDescriptor;
|
|
11
12
|
record: QueryListRecord;
|
|
12
13
|
entries: readonly RelationExpansionEntry[];
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { type QueryListRecord, type RecordFormFieldPickerConfig, type RecordFormFieldValue, type RecordFormFieldDescriptor } from '../platform-components/index';
|
|
2
|
-
import type { ModuleContext } from '../web-core/index';
|
|
2
|
+
import type { HttpClient, ModuleContext } from '../web-core/index';
|
|
3
3
|
import type { ResolvedDetailRelationDescriptor, ResolvedModuleUiDescriptor } from '../web-contracts/index';
|
|
4
4
|
import type { ModulePageDetailSection, ModulePageDetailSectionContext, ModulePageFormContribution, ModulePageFormFieldPolicy } from './modulePageEnhancements';
|
|
5
5
|
type __VLS_Props = {
|
|
6
6
|
context: ModuleContext<QueryListRecord>;
|
|
7
|
+
/** Neutral transport for reference target modules. */
|
|
8
|
+
crossModuleHttp?: HttpClient;
|
|
7
9
|
mode: 'view' | 'edit' | 'create';
|
|
8
10
|
record: QueryListRecord;
|
|
9
11
|
selectedRecord?: QueryListRecord;
|
|
@@ -12,16 +12,21 @@ type __VLS_Props = {
|
|
|
12
12
|
reloadKey: number;
|
|
13
13
|
keyword: string;
|
|
14
14
|
externalQueryValues?: Record<string, unknown>;
|
|
15
|
+
navigatorHostModuleAlias: string;
|
|
16
|
+
/** Whether this navigator's upstream selection scope is available. */
|
|
17
|
+
ready?: boolean;
|
|
15
18
|
/** The navigator's declared upstream query scope is not settled yet. */
|
|
16
19
|
createDisabled?: boolean;
|
|
17
20
|
createDisabledReason?: string;
|
|
21
|
+
/** Human-readable context supplied by an upstream navigator selection. */
|
|
22
|
+
scopeSubtitle?: string;
|
|
18
23
|
actionsOf?: (record: {
|
|
19
24
|
id?: string;
|
|
20
25
|
}) => RecordInlineAction[];
|
|
21
26
|
};
|
|
22
|
-
declare var
|
|
27
|
+
declare var __VLS_45: {};
|
|
23
28
|
type __VLS_Slots = {} & {
|
|
24
|
-
editor?: (props: typeof
|
|
29
|
+
editor?: (props: typeof __VLS_45) => any;
|
|
25
30
|
};
|
|
26
31
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
27
32
|
action: (action: RecordInlineAction, record: QueryListRecord) => any;
|
package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts
CHANGED
|
@@ -17,10 +17,12 @@ interface Options {
|
|
|
17
17
|
/** Owns frontend-only detail extension invalidation and drawer lifecycle. */
|
|
18
18
|
export declare function useModulePageDetailExtensionRuntime(options: Options): {
|
|
19
19
|
drawer: import("vue").Ref<ModulePageEnhancementDrawerRuntime | undefined, ModulePageEnhancementDrawerRuntime | undefined>;
|
|
20
|
+
drawerOpen: import("vue").Ref<boolean, boolean>;
|
|
20
21
|
refreshDetailExtensions: () => void;
|
|
21
22
|
sectionContext: (record: QueryListRecord) => ModulePageDetailSectionContext;
|
|
22
23
|
recordViewContext: (record: QueryListRecord) => ModulePageRecordViewContext;
|
|
23
24
|
openDrawer: (definition: ModulePageDrawer, record?: QueryListRecord) => void;
|
|
24
25
|
closeDrawer: () => void;
|
|
26
|
+
disposeDrawer: () => void;
|
|
25
27
|
};
|
|
26
28
|
export {};
|
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
import { type Ref } from 'vue';
|
|
2
2
|
import { type QueryListRecord, type RecordFormFieldDescriptor } from '../../platform-components/index';
|
|
3
|
-
import type { ResolvedModuleUiDescriptor, ResolvedModulePageDescriptor, ResolvedPageContextBindingDescriptor, ResolvedPageNavigatorLevelDescriptor } from '../../web-contracts/index';
|
|
4
|
-
import { type ModuleContext } from '../../web-core/index';
|
|
3
|
+
import type { ResolvedModuleUiDescriptor, ResolvedModulePageDescriptor, ResolvedPageContextBindingDescriptor, ResolvedPageNavigatorLevelDescriptor, RouteQueryValue } from '../../web-contracts/index';
|
|
4
|
+
import { type HttpClient, type ModuleContext } from '../../web-core/index';
|
|
5
|
+
import { type NavigatorEntrySelection } from '../navigatorEntrySelection';
|
|
5
6
|
/** Runtime state that belongs to the page/navigator session rather than to a Vue host. */
|
|
6
7
|
export interface NavigatorLevelRuntime {
|
|
7
8
|
descriptor: ResolvedPageNavigatorLevelDescriptor;
|
|
8
9
|
context: ModuleContext<QueryListRecord>;
|
|
9
10
|
tree: boolean;
|
|
10
11
|
}
|
|
12
|
+
export interface NavigatorEntrySelectionChange {
|
|
13
|
+
previous?: NavigatorEntrySelection;
|
|
14
|
+
current?: NavigatorEntrySelection;
|
|
15
|
+
}
|
|
16
|
+
interface NavigatorEntrySelectionResolution {
|
|
17
|
+
identity: string;
|
|
18
|
+
revision: number;
|
|
19
|
+
record?: QueryListRecord;
|
|
20
|
+
}
|
|
11
21
|
/**
|
|
12
22
|
* Resolves the standard runtime descriptor once and owns all navigator source
|
|
13
23
|
* contexts. The host only binds the returned state to visual surfaces; this
|
|
14
24
|
* keeps list, detail and tree templates on the same navigator session.
|
|
15
25
|
*/
|
|
16
|
-
export declare function useNavigatorRuntime(context: ModuleContext<QueryListRecord
|
|
26
|
+
export declare function useNavigatorRuntime(context: ModuleContext<QueryListRecord>, crossModuleHttp?: HttpClient): {
|
|
17
27
|
formFields: Ref<Map<string, {
|
|
18
28
|
fieldRef: {
|
|
19
29
|
relationCode?: string | undefined;
|
|
@@ -92,6 +102,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
92
102
|
} | undefined;
|
|
93
103
|
maxDisplayLines?: number | undefined;
|
|
94
104
|
treeRootTitle?: string | undefined;
|
|
105
|
+
overrideOf?: string | undefined;
|
|
95
106
|
fieldControl?: {
|
|
96
107
|
alias: string;
|
|
97
108
|
rendererType: string;
|
|
@@ -129,6 +140,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
129
140
|
required: boolean;
|
|
130
141
|
}[] | undefined;
|
|
131
142
|
titleField?: string | undefined;
|
|
143
|
+
selectionProjections?: {
|
|
144
|
+
path: string[];
|
|
145
|
+
}[] | undefined;
|
|
132
146
|
} | undefined;
|
|
133
147
|
fileReference?: {
|
|
134
148
|
fieldRef: {
|
|
@@ -242,6 +256,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
242
256
|
falseTone?: import("../../web-contracts/index").BooleanStatusTone | undefined;
|
|
243
257
|
} | undefined;
|
|
244
258
|
treeRootTitle?: string | undefined;
|
|
259
|
+
overrideOf?: string | undefined;
|
|
245
260
|
option?: {
|
|
246
261
|
binding: {
|
|
247
262
|
sourceType: string;
|
|
@@ -269,6 +284,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
269
284
|
required: boolean;
|
|
270
285
|
}[] | undefined;
|
|
271
286
|
titleField?: string | undefined;
|
|
287
|
+
selectionProjections?: {
|
|
288
|
+
path: string[];
|
|
289
|
+
}[] | undefined;
|
|
272
290
|
} | undefined;
|
|
273
291
|
referenceSummary?: {
|
|
274
292
|
sourceField: string;
|
|
@@ -378,6 +396,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
378
396
|
} | undefined;
|
|
379
397
|
maxDisplayLines?: number | undefined;
|
|
380
398
|
treeRootTitle?: string | undefined;
|
|
399
|
+
overrideOf?: string | undefined;
|
|
381
400
|
fieldControl?: {
|
|
382
401
|
alias: string;
|
|
383
402
|
rendererType: string;
|
|
@@ -415,6 +434,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
415
434
|
required: boolean;
|
|
416
435
|
}[] | undefined;
|
|
417
436
|
titleField?: string | undefined;
|
|
437
|
+
selectionProjections?: {
|
|
438
|
+
path: string[];
|
|
439
|
+
}[] | undefined;
|
|
418
440
|
} | undefined;
|
|
419
441
|
fileReference?: {
|
|
420
442
|
fieldRef: {
|
|
@@ -528,6 +550,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
528
550
|
falseTone?: import("../../web-contracts/index").BooleanStatusTone | undefined;
|
|
529
551
|
} | undefined;
|
|
530
552
|
treeRootTitle?: string | undefined;
|
|
553
|
+
overrideOf?: string | undefined;
|
|
531
554
|
option?: {
|
|
532
555
|
binding: {
|
|
533
556
|
sourceType: string;
|
|
@@ -555,6 +578,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
555
578
|
required: boolean;
|
|
556
579
|
}[] | undefined;
|
|
557
580
|
titleField?: string | undefined;
|
|
581
|
+
selectionProjections?: {
|
|
582
|
+
path: string[];
|
|
583
|
+
}[] | undefined;
|
|
558
584
|
} | undefined;
|
|
559
585
|
referenceSummary?: {
|
|
560
586
|
sourceField: string;
|
|
@@ -665,6 +691,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
665
691
|
} | undefined;
|
|
666
692
|
maxDisplayLines?: number | undefined;
|
|
667
693
|
treeRootTitle?: string | undefined;
|
|
694
|
+
overrideOf?: string | undefined;
|
|
668
695
|
fieldControl?: {
|
|
669
696
|
alias: string;
|
|
670
697
|
rendererType: string;
|
|
@@ -702,6 +729,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
702
729
|
required: boolean;
|
|
703
730
|
}[] | undefined;
|
|
704
731
|
titleField?: string | undefined;
|
|
732
|
+
selectionProjections?: {
|
|
733
|
+
path: string[];
|
|
734
|
+
}[] | undefined;
|
|
705
735
|
} | undefined;
|
|
706
736
|
fileReference?: {
|
|
707
737
|
fieldRef: {
|
|
@@ -815,6 +845,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
815
845
|
falseTone?: import("../../web-contracts/index").BooleanStatusTone | undefined;
|
|
816
846
|
} | undefined;
|
|
817
847
|
treeRootTitle?: string | undefined;
|
|
848
|
+
overrideOf?: string | undefined;
|
|
818
849
|
option?: {
|
|
819
850
|
binding: {
|
|
820
851
|
sourceType: string;
|
|
@@ -842,6 +873,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
842
873
|
required: boolean;
|
|
843
874
|
}[] | undefined;
|
|
844
875
|
titleField?: string | undefined;
|
|
876
|
+
selectionProjections?: {
|
|
877
|
+
path: string[];
|
|
878
|
+
}[] | undefined;
|
|
845
879
|
} | undefined;
|
|
846
880
|
referenceSummary?: {
|
|
847
881
|
sourceField: string;
|
|
@@ -951,6 +985,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
951
985
|
} | undefined;
|
|
952
986
|
maxDisplayLines?: number | undefined;
|
|
953
987
|
treeRootTitle?: string | undefined;
|
|
988
|
+
overrideOf?: string | undefined;
|
|
954
989
|
fieldControl?: {
|
|
955
990
|
alias: string;
|
|
956
991
|
rendererType: string;
|
|
@@ -988,6 +1023,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
988
1023
|
required: boolean;
|
|
989
1024
|
}[] | undefined;
|
|
990
1025
|
titleField?: string | undefined;
|
|
1026
|
+
selectionProjections?: {
|
|
1027
|
+
path: string[];
|
|
1028
|
+
}[] | undefined;
|
|
991
1029
|
} | undefined;
|
|
992
1030
|
fileReference?: {
|
|
993
1031
|
fieldRef: {
|
|
@@ -1101,6 +1139,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1101
1139
|
falseTone?: import("../../web-contracts/index").BooleanStatusTone | undefined;
|
|
1102
1140
|
} | undefined;
|
|
1103
1141
|
treeRootTitle?: string | undefined;
|
|
1142
|
+
overrideOf?: string | undefined;
|
|
1104
1143
|
option?: {
|
|
1105
1144
|
binding: {
|
|
1106
1145
|
sourceType: string;
|
|
@@ -1128,6 +1167,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1128
1167
|
required: boolean;
|
|
1129
1168
|
}[] | undefined;
|
|
1130
1169
|
titleField?: string | undefined;
|
|
1170
|
+
selectionProjections?: {
|
|
1171
|
+
path: string[];
|
|
1172
|
+
}[] | undefined;
|
|
1131
1173
|
} | undefined;
|
|
1132
1174
|
referenceSummary?: {
|
|
1133
1175
|
sourceField: string;
|
|
@@ -1162,6 +1204,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1162
1204
|
}> & Omit<Map<string, RecordFormFieldDescriptor>, keyof Map<any, any>>)>;
|
|
1163
1205
|
runtimePage: Ref<ResolvedModulePageDescriptor | undefined, ResolvedModulePageDescriptor | undefined>;
|
|
1164
1206
|
runtimeUiDescriptor: Ref<ResolvedModuleUiDescriptor | undefined, ResolvedModuleUiDescriptor | undefined>;
|
|
1207
|
+
runtimePageResolved: Ref<boolean, boolean>;
|
|
1165
1208
|
treeModule: Ref<boolean, boolean>;
|
|
1166
1209
|
navigatorLevels: Ref<{
|
|
1167
1210
|
descriptor: {
|
|
@@ -1170,6 +1213,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1170
1213
|
sourceModuleAlias: string;
|
|
1171
1214
|
title: string;
|
|
1172
1215
|
searchPlaceholder: string;
|
|
1216
|
+
secondaryField?: string | undefined;
|
|
1173
1217
|
singleResultPolicy?: "NONE" | "AUTO_SELECT" | "AUTO_SELECT_AND_HIDE" | undefined;
|
|
1174
1218
|
initialSelectionPolicy?: "NONE" | "FIRST_RECORD" | undefined;
|
|
1175
1219
|
sourceScope?: "NONE" | "CURRENT_TENANT" | undefined;
|
|
@@ -1206,9 +1250,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1206
1250
|
action: (actionCode: string, recordId?: string) => import("../../web-core/index").ModuleActionState | undefined;
|
|
1207
1251
|
runtimeAction: (actionCode: string) => import("../../web-core/index").ModuleRuntimeAction | undefined;
|
|
1208
1252
|
can: (actionCode: string, recordId?: string) => boolean | undefined;
|
|
1209
|
-
recordActions: (recordId: string) => Promise<import("../../web-core/
|
|
1210
|
-
recordActionsBatch?: ((recordIds: string[]) => Promise<import("../../web-core/
|
|
1211
|
-
recordActionsSnapshot: (recordId: string) => import("../../web-core/
|
|
1253
|
+
recordActions: (recordId: string) => Promise<import("../../web-core/index").ModuleRecordActionAvailability>;
|
|
1254
|
+
recordActionsBatch?: ((recordIds: string[]) => Promise<import("../../web-core/index").ModuleRecordActionAvailability[]>) | undefined;
|
|
1255
|
+
recordActionsSnapshot: (recordId: string) => import("../../web-core/index").ModuleRecordActionAvailability | undefined;
|
|
1212
1256
|
invalidateRecordActions?: ((recordIds?: string[]) => void) | undefined;
|
|
1213
1257
|
};
|
|
1214
1258
|
abilities: {
|
|
@@ -1226,9 +1270,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1226
1270
|
action: (actionCode: string, recordId?: string) => import("../../web-core/index").ModuleActionState | undefined;
|
|
1227
1271
|
runtimeAction: (actionCode: string) => import("../../web-core/index").ModuleRuntimeAction | undefined;
|
|
1228
1272
|
can: (actionCode: string, recordId?: string) => boolean | undefined;
|
|
1229
|
-
recordActions: (recordId: string) => Promise<import("../../web-core/
|
|
1230
|
-
recordActionsBatch?: ((recordIds: string[]) => Promise<import("../../web-core/
|
|
1231
|
-
recordActionsSnapshot: (recordId: string) => import("../../web-core/
|
|
1273
|
+
recordActions: (recordId: string) => Promise<import("../../web-core/index").ModuleRecordActionAvailability>;
|
|
1274
|
+
recordActionsBatch?: ((recordIds: string[]) => Promise<import("../../web-core/index").ModuleRecordActionAvailability[]>) | undefined;
|
|
1275
|
+
recordActionsSnapshot: (recordId: string) => import("../../web-core/index").ModuleRecordActionAvailability | undefined;
|
|
1232
1276
|
invalidateRecordActions?: ((recordIds?: string[]) => void) | undefined;
|
|
1233
1277
|
};
|
|
1234
1278
|
tree: boolean;
|
|
@@ -1239,6 +1283,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1239
1283
|
sourceModuleAlias: string;
|
|
1240
1284
|
title: string;
|
|
1241
1285
|
searchPlaceholder: string;
|
|
1286
|
+
secondaryField?: string | undefined;
|
|
1242
1287
|
singleResultPolicy?: "NONE" | "AUTO_SELECT" | "AUTO_SELECT_AND_HIDE" | undefined;
|
|
1243
1288
|
initialSelectionPolicy?: "NONE" | "FIRST_RECORD" | undefined;
|
|
1244
1289
|
sourceScope?: "NONE" | "CURRENT_TENANT" | undefined;
|
|
@@ -1275,9 +1320,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1275
1320
|
action: (actionCode: string, recordId?: string) => import("../../web-core/index").ModuleActionState | undefined;
|
|
1276
1321
|
runtimeAction: (actionCode: string) => import("../../web-core/index").ModuleRuntimeAction | undefined;
|
|
1277
1322
|
can: (actionCode: string, recordId?: string) => boolean | undefined;
|
|
1278
|
-
recordActions: (recordId: string) => Promise<import("../../web-core/
|
|
1279
|
-
recordActionsBatch?: ((recordIds: string[]) => Promise<import("../../web-core/
|
|
1280
|
-
recordActionsSnapshot: (recordId: string) => import("../../web-core/
|
|
1323
|
+
recordActions: (recordId: string) => Promise<import("../../web-core/index").ModuleRecordActionAvailability>;
|
|
1324
|
+
recordActionsBatch?: ((recordIds: string[]) => Promise<import("../../web-core/index").ModuleRecordActionAvailability[]>) | undefined;
|
|
1325
|
+
recordActionsSnapshot: (recordId: string) => import("../../web-core/index").ModuleRecordActionAvailability | undefined;
|
|
1281
1326
|
invalidateRecordActions?: ((recordIds?: string[]) => void) | undefined;
|
|
1282
1327
|
};
|
|
1283
1328
|
abilities: {
|
|
@@ -1295,9 +1340,9 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1295
1340
|
action: (actionCode: string, recordId?: string) => import("../../web-core/index").ModuleActionState | undefined;
|
|
1296
1341
|
runtimeAction: (actionCode: string) => import("../../web-core/index").ModuleRuntimeAction | undefined;
|
|
1297
1342
|
can: (actionCode: string, recordId?: string) => boolean | undefined;
|
|
1298
|
-
recordActions: (recordId: string) => Promise<import("../../web-core/
|
|
1299
|
-
recordActionsBatch?: ((recordIds: string[]) => Promise<import("../../web-core/
|
|
1300
|
-
recordActionsSnapshot: (recordId: string) => import("../../web-core/
|
|
1343
|
+
recordActions: (recordId: string) => Promise<import("../../web-core/index").ModuleRecordActionAvailability>;
|
|
1344
|
+
recordActionsBatch?: ((recordIds: string[]) => Promise<import("../../web-core/index").ModuleRecordActionAvailability[]>) | undefined;
|
|
1345
|
+
recordActionsSnapshot: (recordId: string) => import("../../web-core/index").ModuleRecordActionAvailability | undefined;
|
|
1301
1346
|
invalidateRecordActions?: ((recordIds?: string[]) => void) | undefined;
|
|
1302
1347
|
};
|
|
1303
1348
|
tree: boolean;
|
|
@@ -1309,6 +1354,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1309
1354
|
targetKey: string;
|
|
1310
1355
|
targetNavigatorLevelKey?: string | undefined;
|
|
1311
1356
|
targetPickerFieldKey?: string | undefined;
|
|
1357
|
+
navigatorListQueryMode?: "REQUIRED_SCOPE" | "OPTIONAL_FILTER" | undefined;
|
|
1312
1358
|
}[], ResolvedPageContextBindingDescriptor[] | {
|
|
1313
1359
|
source: "SESSION" | "NAVIGATOR";
|
|
1314
1360
|
sourceKey: string;
|
|
@@ -1316,9 +1362,17 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1316
1362
|
targetKey: string;
|
|
1317
1363
|
targetNavigatorLevelKey?: string | undefined;
|
|
1318
1364
|
targetPickerFieldKey?: string | undefined;
|
|
1365
|
+
navigatorListQueryMode?: "REQUIRED_SCOPE" | "OPTIONAL_FILTER" | undefined;
|
|
1319
1366
|
}[]>;
|
|
1320
1367
|
selectedNavigatorRecords: Ref<Record<string, QueryListRecord | undefined>, Record<string, QueryListRecord | undefined>>;
|
|
1321
1368
|
navigatorSingleResultKeys: Ref<string[], string[]>;
|
|
1322
1369
|
navigatorDismissedSelectionKeys: Ref<string[], string[]>;
|
|
1370
|
+
setNavigatorEntrySelection: (params: Record<string, RouteQueryValue> | undefined) => NavigatorEntrySelectionChange | undefined;
|
|
1371
|
+
navigatorEntrySelectionPendingFor: (level: NavigatorLevelRuntime) => boolean;
|
|
1372
|
+
resolveNavigatorEntrySelection: (level: NavigatorLevelRuntime, records: readonly {
|
|
1373
|
+
id?: string;
|
|
1374
|
+
}[], externalQueryValues?: Record<string, unknown>) => Promise<NavigatorEntrySelectionResolution | undefined>;
|
|
1375
|
+
isCurrentNavigatorEntrySelection: (level: NavigatorLevelRuntime, resolution: NavigatorEntrySelectionResolution) => boolean;
|
|
1323
1376
|
loadRuntimeForm: (isListPage: Ref<boolean>, hasBusinessRecordView: () => boolean, fail: (message: string) => void) => Promise<void>;
|
|
1324
1377
|
};
|
|
1378
|
+
export {};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ModuleContext } from '../../web-core/index';
|
|
2
|
+
import type { RecordDetailTransitionOptions } from '../recordDetailController';
|
|
2
3
|
interface DetailController<TRecord> {
|
|
3
|
-
beginLoad(record: TRecord, mode: 'edit' | 'view'): void;
|
|
4
|
+
beginLoad(record: TRecord, mode: 'edit' | 'view', options?: RecordDetailTransitionOptions): void;
|
|
4
5
|
resolveLoad(record: TRecord): void;
|
|
5
6
|
failLoad(): void;
|
|
6
7
|
finishLoad(): void;
|
|
@@ -16,7 +17,7 @@ export declare function useRecordEditingSession<TRecord extends {
|
|
|
16
17
|
id?: unknown;
|
|
17
18
|
}>(context: ModuleContext<TRecord>, detail: DetailController<TRecord>, onLoaded: () => void): {
|
|
18
19
|
invalidatePendingRequests: () => void;
|
|
19
|
-
openRecord: (record: TRecord, mode: "edit" | "view", skipLoad?: boolean) => Promise<void>;
|
|
20
|
+
openRecord: (record: TRecord, mode: "edit" | "view", options?: RecordDetailTransitionOptions, skipLoad?: boolean) => Promise<void>;
|
|
20
21
|
openRecycleBinRecord: (record: TRecord) => Promise<void>;
|
|
21
22
|
};
|
|
22
23
|
export {};
|
|
@@ -5,6 +5,7 @@ export { default as DynamicModuleWorkspaceDetailView } from './DynamicModuleWork
|
|
|
5
5
|
export { customerDescriptor } from './mockDescriptor';
|
|
6
6
|
export { configureModulePageEnhancementContributions, configureModulePageEnhancements, createModulePageEnhancementRegistry, createReadonlyCardRecordSnapshot, modulePageWorkspaceViews, resolveModulePageEnhancement, } from './modulePageEnhancements';
|
|
7
7
|
export { provideModulePageNavigation, useModulePageNavigation } from './modulePageNavigation';
|
|
8
|
+
export { NAVIGATOR_ENTRY_MODULE_ALIAS_QUERY_KEY, NAVIGATOR_ENTRY_RECORD_ID_QUERY_KEY, } from './navigatorEntrySelection';
|
|
8
9
|
export { createModulePageListRefreshRegistry, modulePageListRefreshRegistry, refreshModulePageList, } from './modulePageListRefresh';
|
|
9
10
|
export type { ModulePageListRefreshRegistry } from './modulePageListRefresh';
|
|
10
|
-
export type { ModuleListEnhancement, ModulePageListRowExpansion, ModulePageListRowExpansionContext, ModuleDetailEnhancement, ModulePageFormEnhancement, ModulePageFormContribution, ModulePageFormContributionContext, ModulePageFormContributionState, ModulePageFormFieldPolicy, ModulePageFormContributionLocation, ModulePageFormContributionValidity, ModulePageFormSurface, ModuleCardEnhancement, ModulePageActionContext, ModulePageActionContribution, ModulePageActionStateContext, ModulePageBatchActionContext, ModulePageBatchActionContribution, ModulePageColumnContribution, ModulePageDetailDrawer, ModulePageDetailSection, ModulePageDetailSectionContext, ModulePageDrawer, ModulePageDrawerContext, ModulePageRecordViewContext, ModulePageEnhancement, ModulePageEnhancementActivationContext, ModulePageEnhancementRegistry, ModulePageEnhancementTarget, ModulePageCardAssistant, ModulePageCardAssistantContext, ModulePageCardAssistantPlacement, ModulePageRecordActionContext, ModulePageRecordActionContribution, ModulePageScopeContext, ModulePageWorkspaceView, ModulePageWorkspaceViewInput, } from './modulePageEnhancements';
|
|
11
|
+
export type { ModuleListEnhancement, ModulePageListRowExpansion, ModulePageListRowExpansionContext, ModuleDetailEnhancement, ModulePageFormEnhancement, ModulePageFormContribution, ModulePageFormContributionContext, ModulePageFormContributionState, ModulePageFormFieldPolicy, ModulePageFormContributionLocation, ModulePageFormContributionValidity, ModulePageFormSurface, ModuleCardEnhancement, ModulePageActionContext, ModulePageActionContribution, ModulePageActionStateContext, ModulePageBatchActionContext, ModulePageBatchActionContribution, ModulePageColumnContribution, ModulePageDetailDrawer, ModulePageDetailSection, ModulePageDetailSectionContext, ModulePageDrawer, ModulePageDrawerContext, ModulePageRecordViewContext, ModulePageEnhancement, ModulePageEnhancementActivationContext, ModulePageEnhancementRegistry, ModulePageEnhancementTarget, ModulePageLockedNavigatorEntry, ModulePageCardAssistant, ModulePageCardAssistantContext, ModulePageCardAssistantPlacement, ModulePageRecordActionContext, ModulePageRecordActionContribution, ModulePageScopeContext, ModulePageWorkspaceView, ModulePageWorkspaceViewInput, } from './modulePageEnhancements';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Component } from 'vue';
|
|
2
|
-
import type { PageDescriptor, PageLayoutMode, RouteQueryValue } from '../web-contracts/index';
|
|
2
|
+
import type { CurrentUser, PageDescriptor, PageLayoutMode, RouteQueryValue, WebQueryCondition } from '../web-contracts/index';
|
|
3
3
|
import type { ModuleContext } from '../web-core/index';
|
|
4
4
|
import type { RecordActionItem, RecordFormFieldState, RecordFormFieldValue, RecordQueryListColumn, QueryListRecord } from '../platform-components/index';
|
|
5
5
|
import type { DrawerTitleAction } from '../platform-components/index';
|
|
@@ -36,12 +36,44 @@ export interface ModulePageEnhancement {
|
|
|
36
36
|
* retains that flow's action checks, shell and lifecycle.
|
|
37
37
|
*/
|
|
38
38
|
recordView?: ModulePageRecordView;
|
|
39
|
+
/** Restricts standard runner actions for one business-owned entry without replacing the runner. */
|
|
40
|
+
standardActions?: ModulePageStandardActionsEnhancement;
|
|
41
|
+
/** Entry-owned adjustments to descriptor-provided navigator presentation and list readiness. */
|
|
42
|
+
navigator?: ModulePageNavigatorEnhancement;
|
|
39
43
|
workspaceViews?: ModulePageWorkspaceView<ModulePageWorkspaceViewInput>[];
|
|
40
44
|
}
|
|
45
|
+
export interface ModulePageStandardActionsEnhancement {
|
|
46
|
+
disabled?: readonly string[];
|
|
47
|
+
}
|
|
48
|
+
export interface ModulePageNavigatorEnhancement {
|
|
49
|
+
/** Hides descriptor navigators when this entry is not navigated by their business scope. */
|
|
50
|
+
hidden?: boolean;
|
|
51
|
+
/** Declares one navigator as an entry-owned, immutable page context. */
|
|
52
|
+
lockedEntry?: ModulePageLockedNavigatorEntry;
|
|
53
|
+
/** Allows the standard list to load without navigator-derived list criteria. */
|
|
54
|
+
bypassListScope?: boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Optional business-owned fallback when no navigator item is selected. The platform still owns
|
|
57
|
+
* navigator rendering and request lifecycle; this hook contributes only typed list conditions.
|
|
58
|
+
*/
|
|
59
|
+
emptyListScope?(context: ModulePageEmptyNavigatorScopeContext): readonly WebQueryCondition[] | undefined;
|
|
60
|
+
}
|
|
61
|
+
export interface ModulePageLockedNavigatorEntry {
|
|
62
|
+
/** Descriptor navigator key whose selection is supplied by the page address. */
|
|
63
|
+
navigatorKey: string;
|
|
64
|
+
/** Text shown if the addressed record cannot be resolved or authorized. */
|
|
65
|
+
unavailableDescription: string;
|
|
66
|
+
}
|
|
67
|
+
export interface ModulePageEmptyNavigatorScopeContext {
|
|
68
|
+
currentUser?: CurrentUser;
|
|
69
|
+
selectedNavigatorRecords: Readonly<Record<string, QueryListRecord | undefined>>;
|
|
70
|
+
}
|
|
41
71
|
export interface ModulePageEnhancementTarget {
|
|
42
72
|
moduleAlias: string;
|
|
43
73
|
/** Omit to apply to every list view of the module. */
|
|
44
74
|
viewCode?: string;
|
|
75
|
+
/** Omit to apply to every visible menu entry of the module. */
|
|
76
|
+
menuId?: string;
|
|
45
77
|
}
|
|
46
78
|
export interface ModulePageEnhancementActivationContext {
|
|
47
79
|
module: ModuleContext<QueryListRecord>;
|
|
@@ -331,7 +363,7 @@ export interface ModulePageDetailSectionContext {
|
|
|
331
363
|
reload(): void;
|
|
332
364
|
}
|
|
333
365
|
export interface ModulePageEnhancementRegistry {
|
|
334
|
-
resolve(moduleAlias: string, viewCode?: string): ModulePageEnhancement | undefined;
|
|
366
|
+
resolve(moduleAlias: string, viewCode?: string, menuId?: string): ModulePageEnhancement | undefined;
|
|
335
367
|
workspaceViews(): readonly ModulePageWorkspaceView<ModulePageWorkspaceViewInput>[];
|
|
336
368
|
}
|
|
337
369
|
export declare function createModulePageEnhancementRegistry(enhancements: readonly ModulePageEnhancement[]): ModulePageEnhancementRegistry;
|
|
@@ -350,7 +382,7 @@ export declare function configureModulePageEnhancementContributions(owner: strin
|
|
|
350
382
|
* configureModulePageEnhancementContributions(owner, enhancements).
|
|
351
383
|
*/
|
|
352
384
|
export declare function configureModulePageEnhancements(enhancements: readonly ModulePageEnhancement[]): void;
|
|
353
|
-
export declare function resolveModulePageEnhancement(moduleAlias: string, viewCode?: string): ModulePageEnhancement | undefined;
|
|
385
|
+
export declare function resolveModulePageEnhancement(moduleAlias: string, viewCode?: string, menuId?: string): ModulePageEnhancement | undefined;
|
|
354
386
|
export declare function modulePageWorkspaceViews(): readonly ModulePageWorkspaceView<ModulePageWorkspaceViewInput>[];
|
|
355
387
|
/** Creates the only record shape that a card assistant may receive. */
|
|
356
388
|
export declare function createReadonlyCardRecordSnapshot(record: Record<string, unknown>): Readonly<Record<string, unknown>>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { RouteQueryValue } from '../web-contracts/index';
|
|
2
|
+
/**
|
|
3
|
+
* Controlled module-page entries may nominate one navigator source record.
|
|
4
|
+
* These are framework query keys, deliberately separate from a module's
|
|
5
|
+
* business query fields and from the navigator REFERENCE transport.
|
|
6
|
+
*/
|
|
7
|
+
export declare const NAVIGATOR_ENTRY_MODULE_ALIAS_QUERY_KEY = "_muyunNavigatorModuleAlias";
|
|
8
|
+
export declare const NAVIGATOR_ENTRY_RECORD_ID_QUERY_KEY = "_muyunNavigatorRecordId";
|
|
9
|
+
export interface NavigatorEntrySelection {
|
|
10
|
+
moduleAlias: string;
|
|
11
|
+
recordId: string;
|
|
12
|
+
identity: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Accept only the complete scalar pair. A malformed public address must leave
|
|
16
|
+
* the page in its normal, unselected state rather than guessing a scope.
|
|
17
|
+
*/
|
|
18
|
+
export declare function navigatorEntrySelectionOf(params: Record<string, RouteQueryValue> | undefined): NavigatorEntrySelection | undefined;
|
|
@@ -2,5 +2,13 @@ import type { ResolvedPageContextBindingDescriptor } from '../web-contracts/inde
|
|
|
2
2
|
export type PageContextSourceValues = Partial<Record<ResolvedPageContextBindingDescriptor['source'], Record<string, unknown>>>;
|
|
3
3
|
/** Returns context fields that must be supplied by the browser for a query target. */
|
|
4
4
|
export declare function externalPageContextCriteriaKeys(bindings: readonly ResolvedPageContextBindingDescriptor[], target: ResolvedPageContextBindingDescriptor['target'], targetNavigatorLevelKey?: string): string[];
|
|
5
|
+
/** Browser-provided navigator keys that must be selected before a page list may query. */
|
|
6
|
+
export declare function requiredNavigatorListScopeCriteriaKeys(bindings: readonly ResolvedPageContextBindingDescriptor[]): string[];
|
|
5
7
|
/** Resolves declared context flows without coupling a target to navigator UI state. */
|
|
6
8
|
export declare function resolvePageContextTargetValues(bindings: readonly ResolvedPageContextBindingDescriptor[], target: ResolvedPageContextBindingDescriptor['target'], sourceValues: PageContextSourceValues, targetNavigatorLevelKey?: string): Record<string, unknown> | undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Query scopes are values, not refresh signals. Preserve the prior object when
|
|
11
|
+
* a render reconstructs the same flat criteria so consumers do not reload just
|
|
12
|
+
* because their parent component rendered for an unrelated state transition.
|
|
13
|
+
*/
|
|
14
|
+
export declare function reuseEquivalentQueryValues(previous: Record<string, unknown> | undefined, next: Record<string, unknown> | undefined): Record<string, unknown> | undefined;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RecordExplorerItemDescriptor } from '../platform-components/index';
|
|
2
|
+
import type { RecordInlineAction } from '../web-contracts/index';
|
|
3
|
+
export interface NavigatorItemRecord {
|
|
4
|
+
id?: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
code?: string;
|
|
8
|
+
alias?: string;
|
|
9
|
+
}
|
|
10
|
+
/** Page navigators expose only the actions explicitly declared by the page. */
|
|
11
|
+
export declare function navigatorItemOf(record: NavigatorItemRecord, secondaryField: string | undefined, manageable: boolean, actionsOf: ((record: {
|
|
12
|
+
id?: string;
|
|
13
|
+
}) => RecordInlineAction[]) | undefined): RecordExplorerItemDescriptor;
|