@ximatai/muyun-web-app 0.26.10 → 0.26.12
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/ModuleActionManagementView-BHEooZ5L.js +672 -0
- package/dist/ModuleGovernanceView-DB3TWlMy.js +28521 -0
- package/dist/RoleDetailWorkspaceView-D6X7pAj5.js +1379 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1929 -351
- package/dist/moduleGovernanceWorkspaceView-C5pqJOEJ.js +40 -0
- package/dist/platform-workbench-DJj42YQP.js +22911 -0
- package/dist/rolldown-runtime-DPVXH0ON.js +17 -0
- package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +0 -2
- package/dist/types/app/LoginView.vue.d.ts +1 -1
- package/dist/types/app/workbenchRouteSync.d.ts +10 -1
- package/dist/types/app/workbenchSessionTabs.d.ts +22 -0
- package/dist/types/app/workbenchStartup.d.ts +7 -0
- package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +4 -1
- package/dist/types/consumer/index.d.ts +2 -1
- package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +1 -1
- package/dist/types/dynamic-page-runtime/ModulePageHost.vue.d.ts +12 -1
- package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +17 -0
- package/dist/types/dynamic-page-runtime/NavigatorPanelActions.vue.d.ts +22 -0
- package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +11 -11
- package/dist/types/dynamic-page-runtime/childAggregateContext.d.ts +11 -0
- package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts +3 -1
- package/dist/types/dynamic-page-runtime/composables/useModulePageFormContributionRuntime.d.ts +5 -3
- package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +82 -28
- package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +1 -1
- package/dist/types/dynamic-page-runtime/formActionResult.d.ts +5 -0
- package/dist/types/dynamic-page-runtime/formComputeCoordinator.d.ts +7 -4
- package/dist/types/dynamic-page-runtime/formValidationCoordinator.d.ts +17 -0
- package/dist/types/dynamic-page-runtime/index.d.ts +1 -2
- package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +75 -1
- package/dist/types/dynamic-page-runtime/pageActionInvocation.d.ts +7 -0
- package/dist/types/dynamic-page-runtime/pageActionPlacement.d.ts +14 -0
- package/dist/types/dynamic-page-runtime/recordMutationPayload.d.ts +3 -0
- package/dist/types/formula/FormulaRuntime.d.ts +9 -0
- package/dist/types/{dynamic-page-runtime/DynamicModuleHost.vue.d.ts → platform-admin-runtime/module-menu/ModuleMenuDrawer.vue.d.ts} +2 -2
- package/dist/types/platform-admin-runtime/module-menu/ModuleMenuEntriesSection.vue.d.ts +7 -0
- package/dist/types/platform-admin-runtime/module-menu/moduleMenuClient.d.ts +16 -0
- package/dist/types/platform-admin-runtime/platformModulePageEnhancement.d.ts +2 -0
- package/dist/types/platform-admin-runtime/role/RoleAccountGrantDrawerSurface.vue.d.ts +7 -0
- package/dist/types/platform-admin-runtime/role/RoleAuthorizationDrawerSurface.vue.d.ts +7 -0
- package/dist/types/platform-admin-runtime/role/RoleEmploymentGrantDrawerSurface.vue.d.ts +7 -0
- package/dist/types/platform-admin-runtime/role/RoleEnumTitleCell.vue.d.ts +8 -0
- package/dist/types/platform-admin-runtime/role/RoleGroupMemberFormField.vue.d.ts +7 -0
- package/dist/types/platform-admin-runtime/role/RoleScopeTree.vue.d.ts +7 -0
- package/dist/types/platform-admin-runtime/roleModulePageEnhancement.d.ts +7 -0
- package/dist/types/platform-components/AdaptiveHeaderActionBar.vue.d.ts +24 -0
- package/dist/types/platform-components/BusinessNotificationPanel.vue.d.ts +15 -1
- package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +9 -4
- package/dist/types/platform-components/DetailRelationListPanel.vue.d.ts +1 -1
- package/dist/types/platform-components/DrawerOperationBar.vue.d.ts +4 -2
- package/dist/types/platform-components/FormulaExpressionEditor.vue.d.ts +54 -0
- package/dist/types/platform-components/ManagementExplorerColumn.vue.d.ts +15 -3
- package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +5 -3
- package/dist/types/platform-components/ManagementWorkspace.vue.d.ts +11 -0
- package/dist/types/platform-components/ModuleActionButton.vue.d.ts +3 -3
- package/dist/types/platform-components/QueryGroupedSummary.vue.d.ts +21 -0
- package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +1 -0
- package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +2 -0
- package/dist/types/platform-components/RecordDetailFields.vue.d.ts +41 -2
- package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +8 -3
- package/dist/types/platform-components/RecordDetailPanel.vue.d.ts +2 -0
- package/dist/types/platform-components/RecordExplorerCreateButton.vue.d.ts +16 -0
- package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +16 -5
- package/dist/types/platform-components/RecordFieldLabel.vue.d.ts +16 -0
- package/dist/types/platform-components/RecordFormFields.vue.d.ts +21 -2
- package/dist/types/platform-components/RecordFormGrid.vue.d.ts +24 -0
- package/dist/types/platform-components/RecordListExplorer.vue.d.ts +23 -1
- package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +2 -2
- package/dist/types/platform-components/RecordPanelButton.vue.d.ts +9 -3
- package/dist/types/platform-components/RecordPermissionDialog.vue.d.ts +15 -0
- package/dist/types/platform-components/RecordPicker.vue.d.ts +2 -2
- package/dist/types/platform-components/RecordQueryEnumFilter.vue.d.ts +17 -0
- package/dist/types/platform-components/RecordQueryListCell.vue.d.ts +12 -0
- package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +110 -64
- package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +124 -0
- package/dist/types/platform-components/RecordRelationTable.vue.d.ts +62 -0
- package/dist/types/platform-components/RecordRelationValue.vue.d.ts +9 -0
- package/dist/types/platform-components/RecordStatusSwitch.vue.d.ts +3 -3
- package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +2 -0
- package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +15 -4
- package/dist/types/platform-components/adaptiveHeaderActionLayout.d.ts +22 -0
- package/dist/types/platform-components/formulaExpressionTokens.d.ts +18 -0
- package/dist/types/platform-components/index.d.ts +20 -1
- package/dist/types/platform-components/managementExplorerContext.d.ts +11 -0
- package/dist/types/platform-components/managementWorkspaceContext.d.ts +20 -0
- package/dist/types/platform-components/managementWorkspaceLayout.d.ts +14 -0
- package/dist/types/platform-components/optionFieldOptionCache.d.ts +1 -1
- package/dist/types/platform-components/recordActionBarModel.d.ts +3 -0
- package/dist/types/platform-components/recordQueryListColumnModel.d.ts +42 -0
- package/dist/types/platform-components/scopedTreeModuleContext.d.ts +2 -2
- package/dist/types/platform-components/selectionRefresh.d.ts +9 -0
- package/dist/types/platform-components/sortPartitionKey.d.ts +5 -0
- package/dist/types/platform-components/staticTreeResourceModuleContext.d.ts +3 -3
- package/dist/types/platform-workbench/index.d.ts +2 -0
- package/dist/types/platform-workbench/useWorkspaceViewUnsavedState.d.ts +5 -0
- package/dist/types/platform-workbench/workbenchNavigation.d.ts +5 -1
- package/dist/types/platform-workbench/workspaceViewContract.d.ts +5 -0
- package/dist/types/platform-workbench/workspaceViewHost.d.ts +5 -0
- package/dist/types/platform-workbench/workspaceViewNavigation.d.ts +9 -0
- package/dist/types/platform-workbench/workspaceViewUnsavedState.d.ts +3 -0
- package/dist/types/views/BusinessRuleGovernanceSurface.vue.d.ts +10 -0
- package/dist/types/views/EmployeeEmploymentTable.vue.d.ts +5 -0
- package/dist/types/views/{UserDetailRouteView.vue.d.ts → MetadataGovernanceSurface.vue.d.ts} +3 -3
- package/dist/types/views/MetadataSourceTree.vue.d.ts +44 -0
- package/dist/types/views/ModuleBusinessPreview.vue.d.ts +7 -0
- package/dist/types/views/ModuleExperienceProfileOverview.vue.d.ts +7 -0
- package/dist/types/views/ModuleGovernanceView.vue.d.ts +9 -0
- package/dist/types/views/PageCompositionDescriptorPreview.vue.d.ts +54 -0
- package/dist/types/views/PageCompositionTree.vue.d.ts +103 -0
- package/dist/types/views/PageCompositionWorkspace.vue.d.ts +7 -0
- package/dist/types/views/PageQuerySummaryEditor.vue.d.ts +48 -0
- package/dist/types/views/RoleAccountGrantDrawer.vue.d.ts +6 -2
- package/dist/types/views/RoleAuthorizationView.vue.d.ts +7 -0
- package/dist/types/views/RoleEmploymentGrantDrawer.vue.d.ts +5 -1
- package/dist/types/views/businessRuleGovernance.d.ts +201 -0
- package/dist/types/views/metadataModelEditSession.d.ts +75 -0
- package/dist/types/views/metadataModelTree.d.ts +40 -0
- package/dist/types/views/metadataNaming.d.ts +7 -0
- package/dist/types/views/metadataOrchestrationState.d.ts +161 -6
- package/dist/types/views/metadataSourceTree.d.ts +10 -0
- package/dist/types/views/moduleGovernanceWorkspaceView.d.ts +9 -0
- package/dist/types/views/pageCompositionDraftState.d.ts +375 -0
- package/dist/types/views/pageCompositionDragPayload.d.ts +26 -0
- package/dist/types/views/pageCompositionMode.d.ts +86 -0
- package/dist/types/views/pageCompositionPlacement.d.ts +48 -0
- package/dist/types/views/pageCompositionTransport.d.ts +9 -0
- package/dist/types/views/roleGrantClient.d.ts +8 -5
- package/dist/types/views/usePageCompositionActionPreviewDrag.d.ts +41 -0
- package/dist/types/views/usePageCompositionPreviewDrag.d.ts +48 -0
- package/dist/types/vue-ui-antdv/components/UiActionButton.vue.d.ts +2 -2
- package/dist/types/vue-ui-antdv/components/UiButton.vue.d.ts +6 -3
- package/dist/types/vue-ui-antdv/components/UiDataTable.vue.d.ts +5 -2
- package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiPopover.vue.d.ts +22 -0
- package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +5 -1
- package/dist/types/vue-ui-antdv/components/UiSwitch.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/components/UiTable.vue.d.ts +1 -0
- package/dist/types/vue-ui-antdv/components/UiTextArea.vue.d.ts +38 -1
- package/dist/types/vue-ui-antdv/components/UiTokenInput.vue.d.ts +62 -0
- package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +76 -3
- package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +1 -1
- package/dist/types/vue-ui-antdv/index.d.ts +6 -1
- package/dist/types/vue-ui-antdv/treeStructure.d.ts +18 -0
- package/dist/types/vue-ui-antdv/types.d.ts +70 -0
- package/dist/types/vue-ui-antdv/useTreeLoader.d.ts +21 -0
- package/dist/types/vue-ui-antdv/useTreeMotion.d.ts +9 -0
- package/dist/types/vue-ui-antdv/useUiTreeDrag.d.ts +32 -0
- package/dist/types/web-contracts/index.d.ts +75 -8
- package/dist/types/web-core/module/index.d.ts +1 -0
- package/dist/types/web-core/module/moduleContext.d.ts +15 -0
- package/dist/types/web-core/module/pageActionEntries.d.ts +21 -0
- package/dist/types/web-core/module/runtimeContext.d.ts +7 -3
- package/dist/types/web-core/module/staticModuleClient.d.ts +29 -6
- package/dist/workspaceViews-DI_1vYX9.js +3518 -0
- package/package.json +1 -1
- package/dist/MetadataOrchestrationView-BhtVwJII.js +0 -661
- package/dist/ModuleActionManagementView-DpZS-xAD.js +0 -597
- package/dist/RoleAuthorizationView-8lilhtMB.js +0 -646
- package/dist/RoleDetailWorkspaceView-CFha6JHn.js +0 -26
- package/dist/RoleManagementView-0_KDrzgh.js +0 -1948
- package/dist/platform-components-oRIsIoxu.js +0 -12371
- package/dist/types/dynamic-page-runtime/DynamicRecordDetailActions.vue.d.ts +0 -39
- package/dist/types/dynamic-page-runtime/dynamicModuleDetailStateModel.d.ts +0 -5
- package/dist/types/views/UserDetailContent.vue.d.ts +0 -32
- package/dist/types/views/UserManagementListView.vue.d.ts +0 -3
- package/dist/types/views/UserManagementView.vue.d.ts +0 -3
- package/dist/types/views/metadataOrchestrationWorkspaceView.d.ts +0 -6
- package/dist/types/views/useUserSessionRows.d.ts +0 -28
- package/dist/types/views/userDetailStateModel.d.ts +0 -9
- package/dist/types/views/userManagementRouteState.d.ts +0 -11
- package/dist/workspaceViews-D-RiJ64o.js +0 -9078
|
@@ -3,11 +3,19 @@ import { type QueryListRecord, type RecordFormFieldDescriptor } from '../../plat
|
|
|
3
3
|
import type { ResolvedModuleUiDescriptor, ResolvedModulePageDescriptor, ResolvedPageContextBindingDescriptor, ResolvedPageNavigatorLevelDescriptor, RouteQueryValue } from '../../web-contracts/index';
|
|
4
4
|
import { type HttpClient, type ModuleContext } from '../../web-core/index';
|
|
5
5
|
import { type NavigatorEntrySelection } from '../navigatorEntrySelection';
|
|
6
|
+
export interface NavigatorSortViewState {
|
|
7
|
+
visible: boolean;
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
active?: boolean;
|
|
10
|
+
disabledReason?: string;
|
|
11
|
+
}
|
|
6
12
|
/** Runtime state that belongs to the page/navigator session rather than to a Vue host. */
|
|
7
13
|
export interface NavigatorLevelRuntime {
|
|
8
14
|
descriptor: ResolvedPageNavigatorLevelDescriptor;
|
|
9
15
|
context: ModuleContext<QueryListRecord>;
|
|
10
16
|
tree: boolean;
|
|
17
|
+
/** Resolved navigator actions consumed by the page surfaces. */
|
|
18
|
+
sort: NavigatorSortViewState;
|
|
11
19
|
}
|
|
12
20
|
export interface NavigatorEntrySelectionChange {
|
|
13
21
|
previous?: NavigatorEntrySelection;
|
|
@@ -37,7 +45,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
37
45
|
expression: string;
|
|
38
46
|
program?: {
|
|
39
47
|
schemaVersion: number;
|
|
40
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
48
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
41
49
|
root: {
|
|
42
50
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
43
51
|
operator?: string | undefined;
|
|
@@ -56,7 +64,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
56
64
|
expression: string;
|
|
57
65
|
program?: {
|
|
58
66
|
schemaVersion: number;
|
|
59
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
67
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
60
68
|
root: {
|
|
61
69
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
62
70
|
operator?: string | undefined;
|
|
@@ -75,7 +83,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
75
83
|
expression: string;
|
|
76
84
|
program?: {
|
|
77
85
|
schemaVersion: number;
|
|
78
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
86
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
79
87
|
root: {
|
|
80
88
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
81
89
|
operator?: string | undefined;
|
|
@@ -140,6 +148,10 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
140
148
|
required: boolean;
|
|
141
149
|
}[] | undefined;
|
|
142
150
|
titleField?: string | undefined;
|
|
151
|
+
displayProjections?: {
|
|
152
|
+
targetField: string;
|
|
153
|
+
outputField: string;
|
|
154
|
+
}[] | undefined;
|
|
143
155
|
selectionProjections?: {
|
|
144
156
|
path: string[];
|
|
145
157
|
}[] | undefined;
|
|
@@ -181,7 +193,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
181
193
|
expression: string;
|
|
182
194
|
program?: {
|
|
183
195
|
schemaVersion: number;
|
|
184
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
196
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
185
197
|
root: {
|
|
186
198
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
187
199
|
operator?: string | undefined;
|
|
@@ -200,7 +212,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
200
212
|
expression: string;
|
|
201
213
|
program?: {
|
|
202
214
|
schemaVersion: number;
|
|
203
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
215
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
204
216
|
root: {
|
|
205
217
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
206
218
|
operator?: string | undefined;
|
|
@@ -219,7 +231,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
219
231
|
expression: string;
|
|
220
232
|
program?: {
|
|
221
233
|
schemaVersion: number;
|
|
222
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
234
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
223
235
|
root: {
|
|
224
236
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
225
237
|
operator?: string | undefined;
|
|
@@ -284,6 +296,10 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
284
296
|
required: boolean;
|
|
285
297
|
}[] | undefined;
|
|
286
298
|
titleField?: string | undefined;
|
|
299
|
+
displayProjections?: {
|
|
300
|
+
targetField: string;
|
|
301
|
+
outputField: string;
|
|
302
|
+
}[] | undefined;
|
|
287
303
|
selectionProjections?: {
|
|
288
304
|
path: string[];
|
|
289
305
|
}[] | undefined;
|
|
@@ -331,7 +347,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
331
347
|
expression: string;
|
|
332
348
|
program?: {
|
|
333
349
|
schemaVersion: number;
|
|
334
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
350
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
335
351
|
root: {
|
|
336
352
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
337
353
|
operator?: string | undefined;
|
|
@@ -350,7 +366,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
350
366
|
expression: string;
|
|
351
367
|
program?: {
|
|
352
368
|
schemaVersion: number;
|
|
353
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
369
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
354
370
|
root: {
|
|
355
371
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
356
372
|
operator?: string | undefined;
|
|
@@ -369,7 +385,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
369
385
|
expression: string;
|
|
370
386
|
program?: {
|
|
371
387
|
schemaVersion: number;
|
|
372
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
388
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
373
389
|
root: {
|
|
374
390
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
375
391
|
operator?: string | undefined;
|
|
@@ -434,6 +450,10 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
434
450
|
required: boolean;
|
|
435
451
|
}[] | undefined;
|
|
436
452
|
titleField?: string | undefined;
|
|
453
|
+
displayProjections?: {
|
|
454
|
+
targetField: string;
|
|
455
|
+
outputField: string;
|
|
456
|
+
}[] | undefined;
|
|
437
457
|
selectionProjections?: {
|
|
438
458
|
path: string[];
|
|
439
459
|
}[] | undefined;
|
|
@@ -475,7 +495,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
475
495
|
expression: string;
|
|
476
496
|
program?: {
|
|
477
497
|
schemaVersion: number;
|
|
478
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
498
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
479
499
|
root: {
|
|
480
500
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
481
501
|
operator?: string | undefined;
|
|
@@ -494,7 +514,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
494
514
|
expression: string;
|
|
495
515
|
program?: {
|
|
496
516
|
schemaVersion: number;
|
|
497
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
517
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
498
518
|
root: {
|
|
499
519
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
500
520
|
operator?: string | undefined;
|
|
@@ -513,7 +533,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
513
533
|
expression: string;
|
|
514
534
|
program?: {
|
|
515
535
|
schemaVersion: number;
|
|
516
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
536
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
517
537
|
root: {
|
|
518
538
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
519
539
|
operator?: string | undefined;
|
|
@@ -578,6 +598,10 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
578
598
|
required: boolean;
|
|
579
599
|
}[] | undefined;
|
|
580
600
|
titleField?: string | undefined;
|
|
601
|
+
displayProjections?: {
|
|
602
|
+
targetField: string;
|
|
603
|
+
outputField: string;
|
|
604
|
+
}[] | undefined;
|
|
581
605
|
selectionProjections?: {
|
|
582
606
|
path: string[];
|
|
583
607
|
}[] | undefined;
|
|
@@ -626,7 +650,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
626
650
|
expression: string;
|
|
627
651
|
program?: {
|
|
628
652
|
schemaVersion: number;
|
|
629
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
653
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
630
654
|
root: {
|
|
631
655
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
632
656
|
operator?: string | undefined;
|
|
@@ -645,7 +669,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
645
669
|
expression: string;
|
|
646
670
|
program?: {
|
|
647
671
|
schemaVersion: number;
|
|
648
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
672
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
649
673
|
root: {
|
|
650
674
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
651
675
|
operator?: string | undefined;
|
|
@@ -664,7 +688,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
664
688
|
expression: string;
|
|
665
689
|
program?: {
|
|
666
690
|
schemaVersion: number;
|
|
667
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
691
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
668
692
|
root: {
|
|
669
693
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
670
694
|
operator?: string | undefined;
|
|
@@ -729,6 +753,10 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
729
753
|
required: boolean;
|
|
730
754
|
}[] | undefined;
|
|
731
755
|
titleField?: string | undefined;
|
|
756
|
+
displayProjections?: {
|
|
757
|
+
targetField: string;
|
|
758
|
+
outputField: string;
|
|
759
|
+
}[] | undefined;
|
|
732
760
|
selectionProjections?: {
|
|
733
761
|
path: string[];
|
|
734
762
|
}[] | undefined;
|
|
@@ -770,7 +798,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
770
798
|
expression: string;
|
|
771
799
|
program?: {
|
|
772
800
|
schemaVersion: number;
|
|
773
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
801
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
774
802
|
root: {
|
|
775
803
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
776
804
|
operator?: string | undefined;
|
|
@@ -789,7 +817,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
789
817
|
expression: string;
|
|
790
818
|
program?: {
|
|
791
819
|
schemaVersion: number;
|
|
792
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
820
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
793
821
|
root: {
|
|
794
822
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
795
823
|
operator?: string | undefined;
|
|
@@ -808,7 +836,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
808
836
|
expression: string;
|
|
809
837
|
program?: {
|
|
810
838
|
schemaVersion: number;
|
|
811
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
839
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
812
840
|
root: {
|
|
813
841
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
814
842
|
operator?: string | undefined;
|
|
@@ -873,6 +901,10 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
873
901
|
required: boolean;
|
|
874
902
|
}[] | undefined;
|
|
875
903
|
titleField?: string | undefined;
|
|
904
|
+
displayProjections?: {
|
|
905
|
+
targetField: string;
|
|
906
|
+
outputField: string;
|
|
907
|
+
}[] | undefined;
|
|
876
908
|
selectionProjections?: {
|
|
877
909
|
path: string[];
|
|
878
910
|
}[] | undefined;
|
|
@@ -920,7 +952,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
920
952
|
expression: string;
|
|
921
953
|
program?: {
|
|
922
954
|
schemaVersion: number;
|
|
923
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
955
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
924
956
|
root: {
|
|
925
957
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
926
958
|
operator?: string | undefined;
|
|
@@ -939,7 +971,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
939
971
|
expression: string;
|
|
940
972
|
program?: {
|
|
941
973
|
schemaVersion: number;
|
|
942
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
974
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
943
975
|
root: {
|
|
944
976
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
945
977
|
operator?: string | undefined;
|
|
@@ -958,7 +990,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
958
990
|
expression: string;
|
|
959
991
|
program?: {
|
|
960
992
|
schemaVersion: number;
|
|
961
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
993
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
962
994
|
root: {
|
|
963
995
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
964
996
|
operator?: string | undefined;
|
|
@@ -1023,6 +1055,10 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1023
1055
|
required: boolean;
|
|
1024
1056
|
}[] | undefined;
|
|
1025
1057
|
titleField?: string | undefined;
|
|
1058
|
+
displayProjections?: {
|
|
1059
|
+
targetField: string;
|
|
1060
|
+
outputField: string;
|
|
1061
|
+
}[] | undefined;
|
|
1026
1062
|
selectionProjections?: {
|
|
1027
1063
|
path: string[];
|
|
1028
1064
|
}[] | undefined;
|
|
@@ -1064,7 +1100,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1064
1100
|
expression: string;
|
|
1065
1101
|
program?: {
|
|
1066
1102
|
schemaVersion: number;
|
|
1067
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
1103
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
1068
1104
|
root: {
|
|
1069
1105
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
1070
1106
|
operator?: string | undefined;
|
|
@@ -1083,7 +1119,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1083
1119
|
expression: string;
|
|
1084
1120
|
program?: {
|
|
1085
1121
|
schemaVersion: number;
|
|
1086
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
1122
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
1087
1123
|
root: {
|
|
1088
1124
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
1089
1125
|
operator?: string | undefined;
|
|
@@ -1102,7 +1138,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1102
1138
|
expression: string;
|
|
1103
1139
|
program?: {
|
|
1104
1140
|
schemaVersion: number;
|
|
1105
|
-
profile: "WEB_UI" | "FORM_COMPUTE";
|
|
1141
|
+
profile: "WEB_UI" | "PAGE_TEXT" | "FORM_COMPUTE" | "FORM_VALIDATION";
|
|
1106
1142
|
root: {
|
|
1107
1143
|
kind: "VALUE" | "FIELD" | "OTHERS" | "UNARY" | "BINARY" | "FUNCTION" | "ASSIGN";
|
|
1108
1144
|
operator?: string | undefined;
|
|
@@ -1167,6 +1203,10 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1167
1203
|
required: boolean;
|
|
1168
1204
|
}[] | undefined;
|
|
1169
1205
|
titleField?: string | undefined;
|
|
1206
|
+
displayProjections?: {
|
|
1207
|
+
targetField: string;
|
|
1208
|
+
outputField: string;
|
|
1209
|
+
}[] | undefined;
|
|
1170
1210
|
selectionProjections?: {
|
|
1171
1211
|
path: string[];
|
|
1172
1212
|
}[] | undefined;
|
|
@@ -1219,7 +1259,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1219
1259
|
sourceScope?: "NONE" | "CURRENT_TENANT" | undefined;
|
|
1220
1260
|
management?: {
|
|
1221
1261
|
editorSurface?: string | undefined;
|
|
1222
|
-
} | undefined;
|
|
1262
|
+
} | null | undefined;
|
|
1223
1263
|
};
|
|
1224
1264
|
context: {
|
|
1225
1265
|
moduleAlias: string;
|
|
@@ -1235,6 +1275,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1235
1275
|
delete: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
|
|
1236
1276
|
enable: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
|
|
1237
1277
|
disable: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
|
|
1278
|
+
sort?: ((id: string, request: import("../../web-contracts/index").SortRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>) | undefined;
|
|
1238
1279
|
};
|
|
1239
1280
|
runtime: {
|
|
1240
1281
|
ready: {
|
|
@@ -1276,6 +1317,12 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1276
1317
|
invalidateRecordActions?: ((recordIds?: string[]) => void) | undefined;
|
|
1277
1318
|
};
|
|
1278
1319
|
tree: boolean;
|
|
1320
|
+
sort: {
|
|
1321
|
+
visible: boolean;
|
|
1322
|
+
enabled: boolean;
|
|
1323
|
+
active?: boolean | undefined;
|
|
1324
|
+
disabledReason?: string | undefined;
|
|
1325
|
+
};
|
|
1279
1326
|
}[], NavigatorLevelRuntime[] | {
|
|
1280
1327
|
descriptor: {
|
|
1281
1328
|
key: string;
|
|
@@ -1289,7 +1336,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1289
1336
|
sourceScope?: "NONE" | "CURRENT_TENANT" | undefined;
|
|
1290
1337
|
management?: {
|
|
1291
1338
|
editorSurface?: string | undefined;
|
|
1292
|
-
} | undefined;
|
|
1339
|
+
} | null | undefined;
|
|
1293
1340
|
};
|
|
1294
1341
|
context: {
|
|
1295
1342
|
moduleAlias: string;
|
|
@@ -1305,6 +1352,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1305
1352
|
delete: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
|
|
1306
1353
|
enable: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
|
|
1307
1354
|
disable: (id: string, request: import("../../web-core/index").RecordActionRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>;
|
|
1355
|
+
sort?: ((id: string, request: import("../../web-contracts/index").SortRequest) => Promise<import("../../web-core/index").StaticCountMutationResult>) | undefined;
|
|
1308
1356
|
};
|
|
1309
1357
|
runtime: {
|
|
1310
1358
|
ready: {
|
|
@@ -1346,9 +1394,15 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1346
1394
|
invalidateRecordActions?: ((recordIds?: string[]) => void) | undefined;
|
|
1347
1395
|
};
|
|
1348
1396
|
tree: boolean;
|
|
1397
|
+
sort: {
|
|
1398
|
+
visible: boolean;
|
|
1399
|
+
enabled: boolean;
|
|
1400
|
+
active?: boolean | undefined;
|
|
1401
|
+
disabledReason?: string | undefined;
|
|
1402
|
+
};
|
|
1349
1403
|
}[]>;
|
|
1350
1404
|
pageContextBindings: Ref<{
|
|
1351
|
-
source: "SESSION" | "NAVIGATOR";
|
|
1405
|
+
source: "SESSION" | "NAVIGATOR" | "RESOLVED_SELECTION";
|
|
1352
1406
|
sourceKey: string;
|
|
1353
1407
|
target: "LIST_QUERY" | "NAVIGATOR_QUERY" | "FORM_DEFAULT" | "PICKER_QUERY" | "MUTATION_CONSTRAINT";
|
|
1354
1408
|
targetKey: string;
|
|
@@ -1356,7 +1410,7 @@ export declare function useNavigatorRuntime(context: ModuleContext<QueryListReco
|
|
|
1356
1410
|
targetPickerFieldKey?: string | undefined;
|
|
1357
1411
|
navigatorListQueryMode?: "REQUIRED_SCOPE" | "OPTIONAL_FILTER" | undefined;
|
|
1358
1412
|
}[], ResolvedPageContextBindingDescriptor[] | {
|
|
1359
|
-
source: "SESSION" | "NAVIGATOR";
|
|
1413
|
+
source: "SESSION" | "NAVIGATOR" | "RESOLVED_SELECTION";
|
|
1360
1414
|
sourceKey: string;
|
|
1361
1415
|
target: "LIST_QUERY" | "NAVIGATOR_QUERY" | "FORM_DEFAULT" | "PICKER_QUERY" | "MUTATION_CONSTRAINT";
|
|
1362
1416
|
targetKey: string;
|
|
@@ -17,7 +17,7 @@ export declare function useRecordEditingSession<TRecord extends {
|
|
|
17
17
|
id?: unknown;
|
|
18
18
|
}>(context: ModuleContext<TRecord>, detail: DetailController<TRecord>, onLoaded: () => void): {
|
|
19
19
|
invalidatePendingRequests: () => void;
|
|
20
|
-
openRecord: (record: TRecord, mode: "edit" | "view", options?: RecordDetailTransitionOptions, skipLoad?: boolean) => Promise<void>;
|
|
20
|
+
openRecord: (record: TRecord, mode: "edit" | "view", options?: RecordDetailTransitionOptions, skipLoad?: boolean, onLoadError?: (cause: unknown) => void) => Promise<void>;
|
|
21
21
|
openRecycleBinRecord: (record: TRecord) => Promise<void>;
|
|
22
22
|
};
|
|
23
23
|
export {};
|
|
@@ -6,13 +6,16 @@ import type { ResolvedFormComputeRuleDescriptor } from '../web-contracts/index';
|
|
|
6
6
|
*
|
|
7
7
|
* The coordinator owns propagation, rather than the field component or the
|
|
8
8
|
* FormulaRuntime: fields remain plain inputs and FormulaRuntime remains a
|
|
9
|
-
* pure evaluator.
|
|
10
|
-
*
|
|
11
|
-
* user's draft.
|
|
9
|
+
* pure evaluator. It validates the descriptor graph before evaluating any
|
|
10
|
+
* rule, then evaluates applicable rules in dependency order.
|
|
12
11
|
*/
|
|
13
12
|
export declare class FormComputeCoordinator {
|
|
14
13
|
private readonly runtime;
|
|
15
14
|
private readonly rules;
|
|
15
|
+
private readonly propagationOrder;
|
|
16
16
|
constructor(rules: readonly ResolvedFormComputeRuleDescriptor[] | undefined, runtime?: FormulaRuntime);
|
|
17
|
-
applyAfterChange<TDraft extends FormulaRecord>(draft: TDraft, changedFields: readonly string[]): TDraft;
|
|
17
|
+
applyAfterChange<TDraft extends FormulaRecord>(draft: TDraft, changedFields: readonly string[], childAggregateRows?: FormulaRecord): TDraft;
|
|
18
|
+
/** Evaluate computed fields once when a new form opens, including constant expressions. */
|
|
19
|
+
applyOnCreate<TDraft extends FormulaRecord>(draft: TDraft, childAggregateRows?: FormulaRecord): TDraft;
|
|
20
|
+
private evaluate;
|
|
18
21
|
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FormulaRuntime, type FormulaRecord } from '../formula/FormulaRuntime';
|
|
2
|
+
import type { ResolvedFormValidationRuleDescriptor } from '../web-contracts/index';
|
|
3
|
+
export type FormValidationFailure = Readonly<{
|
|
4
|
+
code: string;
|
|
5
|
+
message: string;
|
|
6
|
+
targetField?: string;
|
|
7
|
+
}>;
|
|
8
|
+
/**
|
|
9
|
+
* Executes only descriptors that have already passed server projection. Invalid descriptor shapes
|
|
10
|
+
* fail open, preserving the server mutation boundary as the final authority.
|
|
11
|
+
*/
|
|
12
|
+
export declare class FormValidationCoordinator {
|
|
13
|
+
private readonly runtime;
|
|
14
|
+
private readonly rules;
|
|
15
|
+
constructor(rules: readonly ResolvedFormValidationRuleDescriptor[] | undefined, runtime?: FormulaRuntime);
|
|
16
|
+
validate(draft: FormulaRecord): FormValidationFailure | undefined;
|
|
17
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { default as ModulePageHost } from './ModulePageHost.vue';
|
|
2
|
-
export { default as DynamicModuleHost } from './DynamicModuleHost.vue';
|
|
3
2
|
export { default as DynamicModulePage } from './DynamicModulePage.vue';
|
|
4
3
|
export { default as DynamicModuleWorkspaceDetailView } from './DynamicModuleWorkspaceDetailView.vue';
|
|
5
4
|
export { customerDescriptor } from './mockDescriptor';
|
|
@@ -8,4 +7,4 @@ export { provideModulePageNavigation, useModulePageNavigation } from './modulePa
|
|
|
8
7
|
export { NAVIGATOR_ENTRY_MODULE_ALIAS_QUERY_KEY, NAVIGATOR_ENTRY_RECORD_ID_QUERY_KEY, } from './navigatorEntrySelection';
|
|
9
8
|
export { createModulePageListRefreshRegistry, modulePageListRefreshRegistry, refreshModulePageList, } from './modulePageListRefresh';
|
|
10
9
|
export type { ModulePageListRefreshRegistry } from './modulePageListRefresh';
|
|
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';
|
|
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, ModulePageNavigatorEnhancement, ModulePageNavigatorTreeParentPolicy, ModulePageNavigatorExtension, ModulePageNavigatorExtensionContext, ModulePageNavigatorSelection, 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 { CurrentUser, PageDescriptor, PageLayoutMode, RouteQueryValue, WebQueryCondition } from '../web-contracts/index';
|
|
2
|
+
import type { CurrentUser, PageDescriptor, PageLayoutMode, RouteQueryValue, WebPageResponse, WebQueryCondition, WebQueryRequest } 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';
|
|
@@ -20,6 +20,13 @@ export interface ModulePageEnhancement {
|
|
|
20
20
|
*/
|
|
21
21
|
activate?(context: ModulePageEnhancementActivationContext): void | (() => void);
|
|
22
22
|
list?: ModuleListEnhancement;
|
|
23
|
+
/**
|
|
24
|
+
* Business record actions shown by default in both the list-row "more"
|
|
25
|
+
* menu and the standard detail drawer operation area. Use the surface-local
|
|
26
|
+
* `list.rowActions` or `detail.actions` only when an action is intentionally
|
|
27
|
+
* limited to one presentation.
|
|
28
|
+
*/
|
|
29
|
+
recordActions?: ModulePageRecordActionContribution[];
|
|
23
30
|
detail?: ModuleDetailEnhancement;
|
|
24
31
|
/**
|
|
25
32
|
* Frontend-owned editor content mounted at a typed standard-form boundary.
|
|
@@ -48,6 +55,17 @@ export interface ModulePageStandardActionsEnhancement {
|
|
|
48
55
|
export interface ModulePageNavigatorEnhancement {
|
|
49
56
|
/** Hides descriptor navigators when this entry is not navigated by their business scope. */
|
|
50
57
|
hidden?: boolean;
|
|
58
|
+
/** Business-owned parent admission for a navigator tree; sibling sorting remains standard. */
|
|
59
|
+
treeParentPolicy?: ModulePageNavigatorTreeParentPolicy;
|
|
60
|
+
/**
|
|
61
|
+
* One application-owned navigator surface mounted beside descriptor navigators.
|
|
62
|
+
*
|
|
63
|
+
* This is intentionally a single region: the page runner retains layout,
|
|
64
|
+
* record querying and mutation ownership. An extension may render an
|
|
65
|
+
* authorized business range selector, but it cannot replace the standard
|
|
66
|
+
* list or declare executable page context.
|
|
67
|
+
*/
|
|
68
|
+
extension?: ModulePageNavigatorExtension;
|
|
51
69
|
/** Declares one navigator as an entry-owned, immutable page context. */
|
|
52
70
|
lockedEntry?: ModulePageLockedNavigatorEntry;
|
|
53
71
|
/** Allows the standard list to load without navigator-derived list criteria. */
|
|
@@ -58,6 +76,51 @@ export interface ModulePageNavigatorEnhancement {
|
|
|
58
76
|
*/
|
|
59
77
|
emptyListScope?(context: ModulePageEmptyNavigatorScopeContext): readonly WebQueryCondition[] | undefined;
|
|
60
78
|
}
|
|
79
|
+
export interface ModulePageNavigatorTreeParentPolicy {
|
|
80
|
+
canUseAsParent(record: Readonly<Record<string, unknown>>): boolean;
|
|
81
|
+
rejectionMessage: string;
|
|
82
|
+
}
|
|
83
|
+
export interface ModulePageNavigatorExtension {
|
|
84
|
+
key: string;
|
|
85
|
+
/** Frontend-owned component; backend descriptors never select a component. */
|
|
86
|
+
component: Component;
|
|
87
|
+
/**
|
|
88
|
+
* Optional opaque selection channel owned by the standard page host.
|
|
89
|
+
*
|
|
90
|
+
* A navigator extension may select only a declared `key`; the host serializes
|
|
91
|
+
* the `{ kind, key }` pair into its controlled request header. Extensions
|
|
92
|
+
* never receive a mutable query map or mutation payload.
|
|
93
|
+
*/
|
|
94
|
+
selection?: ModulePageNavigatorSelection;
|
|
95
|
+
}
|
|
96
|
+
export interface ModulePageNavigatorSelection {
|
|
97
|
+
/** Server-registered resolver kind, not a business field name. */
|
|
98
|
+
kind: string;
|
|
99
|
+
/** Resolves the first trusted selection before the standard page starts its requests. */
|
|
100
|
+
initialKey?(currentUser?: CurrentUser): string | undefined;
|
|
101
|
+
/** Presentation-only copy for the initial trusted selection. It is never sent to the server. */
|
|
102
|
+
initialPresentation?(currentUser?: CurrentUser): ModulePageSelectionPresentation | undefined;
|
|
103
|
+
}
|
|
104
|
+
/** The only display facts a navigator extension may contribute to PAGE_TEXT. */
|
|
105
|
+
export interface ModulePageSelectionPresentation {
|
|
106
|
+
label: string;
|
|
107
|
+
secondaryLabel?: string;
|
|
108
|
+
}
|
|
109
|
+
/** Deliberately small host context for one navigator extension surface. */
|
|
110
|
+
export interface ModulePageNavigatorExtensionContext {
|
|
111
|
+
moduleAlias: string;
|
|
112
|
+
/** Current opaque selection key, if this extension declared a selection channel. */
|
|
113
|
+
selectionKey?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Replaces the extension's opaque selection key and reloads the standard
|
|
116
|
+
* list. The host owns header serialization and every CRUD request.
|
|
117
|
+
*/
|
|
118
|
+
selectSelectionKey(key: string, presentation?: ModulePageSelectionPresentation): void;
|
|
119
|
+
/** Reloads only the standard list while retaining the platform-owned query state. */
|
|
120
|
+
refreshList(): void;
|
|
121
|
+
/** Reloads the page's standard record surfaces. */
|
|
122
|
+
reload(): void;
|
|
123
|
+
}
|
|
61
124
|
export interface ModulePageLockedNavigatorEntry {
|
|
62
125
|
/** Descriptor navigator key whose selection is supplied by the page address. */
|
|
63
126
|
navigatorKey: string;
|
|
@@ -148,6 +211,8 @@ export interface ModulePageFormContributionContext {
|
|
|
148
211
|
fields: readonly Readonly<RecordFormFieldState>[];
|
|
149
212
|
/** The field at a field-boundary location, otherwise undefined. */
|
|
150
213
|
field?: Readonly<RecordFormFieldState>;
|
|
214
|
+
/** Read-only query through the host-owned module context and page scope. */
|
|
215
|
+
queryRecords(request?: WebQueryRequest): Promise<WebPageResponse<QueryListRecord>>;
|
|
151
216
|
setField(fieldName: string, value: RecordFormFieldValue): void;
|
|
152
217
|
formSessionKey: number;
|
|
153
218
|
/** Reports only this contribution's validation fact to the standard save boundary. */
|
|
@@ -278,6 +343,11 @@ export interface ModulePageDrawer {
|
|
|
278
343
|
}
|
|
279
344
|
/** A business-owned action rendered by the platform in a semantic drawer region. */
|
|
280
345
|
export type ModulePageDrawerAction = DrawerTitleAction;
|
|
346
|
+
/** Facts rendered by the platform-owned fixed operation region of an action drawer. */
|
|
347
|
+
export interface ModulePageDrawerOperation {
|
|
348
|
+
summary?: string;
|
|
349
|
+
actions: ModulePageDrawerAction[];
|
|
350
|
+
}
|
|
281
351
|
/** Matches the Workbench input boundary; `parse` remains responsible for route-value validation. */
|
|
282
352
|
export type ModulePageWorkspaceViewInput = object;
|
|
283
353
|
/** A business-owned view with stable, serializable identity. */
|
|
@@ -306,6 +376,10 @@ export interface ModulePageDrawerContext {
|
|
|
306
376
|
reload(): void;
|
|
307
377
|
/** Replaces contextual actions beside the drawer title; actions are cleared with the drawer. */
|
|
308
378
|
setTitleActions(actions: ModulePageDrawerAction[]): void;
|
|
379
|
+
/** Replaces the fixed operation-region facts; the host owns their position and responsive layout. */
|
|
380
|
+
setOperation(operation?: ModulePageDrawerOperation): void;
|
|
381
|
+
/** Replaces the presentation-only subtitle below the platform-owned drawer title. */
|
|
382
|
+
setSubtitle(subtitle?: string): void;
|
|
309
383
|
}
|
|
310
384
|
/**
|
|
311
385
|
* Context for a custom body inside the platform-owned record-view shell.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { PageActionInvocation } from '../web-contracts/index';
|
|
2
|
+
import type { HttpClient } from '../web-core/index';
|
|
3
|
+
/** Execute only the server-issued transport; action identity is not an HTTP route. */
|
|
4
|
+
export declare function invokePageAction(http: HttpClient, invocation: PageActionInvocation | undefined, context?: {
|
|
5
|
+
recordId?: string;
|
|
6
|
+
record?: Record<string, unknown>;
|
|
7
|
+
}): Promise<unknown>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { RecordActionItem } from '../platform-components/index';
|
|
2
|
+
import type { ResolvedPageActionDescriptor } from '../web-contracts/index';
|
|
3
|
+
/** Placements choose presentation; execution must already have a platform workflow or issued action block. */
|
|
4
|
+
export declare function resolvePlacedPageActions(placements: ResolvedPageActionDescriptor[], anchor: ResolvedPageActionDescriptor['anchor'], actionOf: (code: string) => {
|
|
5
|
+
actionCode: string;
|
|
6
|
+
title?: string;
|
|
7
|
+
actionLevel?: string;
|
|
8
|
+
category?: string;
|
|
9
|
+
executorType?: string;
|
|
10
|
+
formSupported?: boolean;
|
|
11
|
+
bindingPending?: boolean;
|
|
12
|
+
} | undefined, detailActions: RecordActionItem[], mode: 'create' | 'edit' | 'view', managed?: boolean, record?: {
|
|
13
|
+
enabled?: unknown;
|
|
14
|
+
}): RecordActionItem[];
|
|
@@ -12,16 +12,25 @@ export interface FormulaComputeResult {
|
|
|
12
12
|
*/
|
|
13
13
|
export declare class FormulaRuntime {
|
|
14
14
|
evaluateWebUi(program: FormulaProgram | undefined, record: FormulaRecord): boolean;
|
|
15
|
+
/** Evaluates a server-issued PAGE_TEXT program against a host-whitelisted display context. */
|
|
16
|
+
evaluatePageText(program: FormulaProgram | undefined, context: FormulaRecord): string | undefined;
|
|
15
17
|
/**
|
|
16
18
|
* Evaluates one server-issued FORM_COMPUTE assignment against a draft without mutating it.
|
|
17
19
|
* Applying the returned patch, ordering rules, and user-value ownership remain form-runtime concerns.
|
|
18
20
|
*/
|
|
19
21
|
evaluateFormCompute(program: FormulaProgram | undefined, draft: FormulaRecord, targetValueType?: ViewFieldValueType): FormulaComputeResult;
|
|
22
|
+
/**
|
|
23
|
+
* Evaluates one server-issued, read-only form predicate. An invalid descriptor fails open so a
|
|
24
|
+
* client cannot claim that an unverified rule was enforced; persistence still reaches the
|
|
25
|
+
* authoritative server validator.
|
|
26
|
+
*/
|
|
27
|
+
evaluateFormValidation(program: FormulaProgram | undefined, draft: FormulaRecord): boolean | undefined;
|
|
20
28
|
/** Evaluates a row-to-row assignment in the changed row's scope without mutating any drafts. */
|
|
21
29
|
evaluateRelationFormCompute(program: FormulaProgram | undefined, draft: FormulaRecord, targetField: string, targetValueType?: ViewFieldValueType): FormulaComputeResult;
|
|
22
30
|
private evaluateNode;
|
|
23
31
|
private toBoolean;
|
|
24
32
|
private evaluateComputeNode;
|
|
33
|
+
private evaluatePageTextNode;
|
|
25
34
|
}
|
|
26
35
|
type FormulaValue = string | number | boolean | null | undefined;
|
|
27
36
|
/** Mirrors FormulaEngine.equalsLoose for the primitive values admitted by the WEB_UI profile. */
|