@ximatai/muyun-web-app 0.26.11 → 0.26.13
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/BusinessActivityLogView-UC4rH4Fn.js +16 -0
- package/dist/BusinessLogListDrawer-BtaXVJKz.js +564 -0
- package/dist/LoginAuditLogView-Cjrp8MKX.js +16 -0
- package/dist/ModuleActionManagementView-Dkb35QXc.js +673 -0
- package/dist/ModuleGovernanceView-Dx43QvGf.js +28651 -0
- package/dist/RequestErrorLogView-WnGvMWiF.js +16 -0
- package/dist/RoleDetailWorkspaceView-DPDb_QOn.js +1397 -0
- package/dist/RuntimeLogView-BRl4ZDkU.js +330 -0
- package/dist/http-B0TC0pJB.js +157 -0
- package/dist/index.css +1 -1
- package/dist/index.js +1938 -325
- package/dist/moduleGovernanceWorkspaceView-4V_UW-Bt.js +40 -0
- package/dist/platform-components-1cvOeHmo.js +17854 -0
- package/dist/platform-workbench-Cu14Xd9d.js +10299 -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 +8 -0
- package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +2208 -0
- package/dist/types/dynamic-page-runtime/ModulePageBusinessState.vue.d.ts +11 -0
- package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +1 -1
- package/dist/types/dynamic-page-runtime/ModulePageHost.vue.d.ts +32 -5
- package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +4431 -0
- package/dist/types/dynamic-page-runtime/ModulePageHostSession.vue.d.ts +43 -0
- package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +2 -2
- package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +20 -0
- package/dist/types/dynamic-page-runtime/ModuleReferenceRecordDetailBrowser.vue.d.ts +42 -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/RecordFormSurface.vue.d.ts +2 -2
- package/dist/types/dynamic-page-runtime/TenantScopeExplorer.vue.d.ts +21 -0
- package/dist/types/dynamic-page-runtime/childAggregateContext.d.ts +11 -0
- package/dist/types/dynamic-page-runtime/composables/useModulePageActions.d.ts +1 -1
- package/dist/types/dynamic-page-runtime/composables/useModulePageDetailActionRuntime.d.ts +5 -0
- package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +81 -26
- package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +1 -1
- package/dist/types/dynamic-page-runtime/formActionResult.d.ts +7 -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 +3 -1
- package/dist/types/dynamic-page-runtime/inputValidationActionStatus.d.ts +20 -0
- package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +13 -3
- package/dist/types/dynamic-page-runtime/modulePageUnsavedState.d.ts +10 -0
- 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/recordDetailController.d.ts +1 -0
- package/dist/types/dynamic-page-runtime/recordMutationPayload.d.ts +4 -0
- package/dist/types/dynamic-page-runtime/referenceRecordProjection.d.ts +6 -0
- package/dist/types/dynamic-page-runtime/sessionViewBindings.d.ts +3 -0
- package/dist/types/dynamic-page-runtime/sourceReferencePickerConfig.d.ts +26 -0
- package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +1728 -0
- package/dist/types/dynamic-page-runtime/useTenantScopeController.d.ts +18 -0
- package/dist/types/formula/FormulaRuntime.d.ts +6 -0
- package/dist/types/platform-admin-runtime/WorkspaceViewDrawer.vue.d.ts +5 -0
- package/dist/types/platform-admin-runtime/module-menu/ModuleMenuDrawer.vue.d.ts +7 -0
- 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/roleScopeSelectionClient.d.ts +52 -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 +11 -3
- package/dist/types/platform-components/DetailRelationListPanel.vue.d.ts +1 -1
- package/dist/types/platform-components/DictionaryOptionDialog.vue.d.ts +37 -0
- package/dist/types/platform-components/DictionaryOptionDialogChoiceList.vue.d.ts +21 -0
- package/dist/types/platform-components/DictionaryPicker.vue.d.ts +47 -0
- package/dist/types/platform-components/DictionaryRadioGroup.vue.d.ts +20 -0
- package/dist/types/platform-components/EmployeePicker.vue.d.ts +40 -0
- package/dist/types/platform-components/FileTransferUploader.vue.d.ts +1 -1
- 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/ObjectPickerInput.vue.d.ts +34 -0
- package/dist/types/platform-components/QueryCriteriaComposer.vue.d.ts +29 -0
- package/dist/types/platform-components/QueryCriteriaGroupEditor.vue.d.ts +36 -0
- package/dist/types/platform-components/QueryGroupedSummary.vue.d.ts +21 -0
- package/dist/types/platform-components/QueryValueEditor.vue.d.ts +33 -0
- package/dist/types/platform-components/ReadonlyReferenceValue.vue.d.ts +11 -0
- package/dist/types/platform-components/RecordContentSectionHeading.vue.d.ts +4 -2
- package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +8 -3
- package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +9 -3
- package/dist/types/platform-components/RecordDetailFields.vue.d.ts +41 -4
- package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +4 -1
- 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 +24 -5
- 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/RecordModeDrawer.vue.d.ts +11 -3
- package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +3 -3
- 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 +3 -3
- 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 +120 -63
- package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +144 -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/ReferencePicker.vue.d.ts +47 -0
- package/dist/types/platform-components/ReferenceRecordDetailBrowser.vue.d.ts +55 -0
- package/dist/types/platform-components/ScopedTreePicker.vue.d.ts +31 -0
- package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +2 -0
- package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +14 -3
- package/dist/types/platform-components/UserPicker.vue.d.ts +47 -0
- package/dist/types/platform-components/adaptiveHeaderActionLayout.d.ts +22 -0
- package/dist/types/platform-components/dictionaryOptionDialogModel.d.ts +23 -0
- package/dist/types/platform-components/employeePickerModel.d.ts +19 -0
- package/dist/types/platform-components/formulaExpressionTokens.d.ts +18 -0
- package/dist/types/platform-components/identityPickerModel.d.ts +18 -0
- package/dist/types/platform-components/index.d.ts +48 -2
- 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/queryCriteriaDraft.d.ts +24 -0
- package/dist/types/platform-components/queryReferencePickerProvider.d.ts +19 -0
- package/dist/types/platform-components/readonlyReferenceDisplay.d.ts +19 -0
- package/dist/types/platform-components/recordActionBarModel.d.ts +3 -0
- package/dist/types/platform-components/recordEditorSessionState.d.ts +11 -4
- package/dist/types/platform-components/recordFormFieldModel.d.ts +28 -2
- package/dist/types/platform-components/recordQueryListColumnModel.d.ts +44 -0
- package/dist/types/platform-components/referencePickerModel.d.ts +103 -0
- package/dist/types/platform-components/referencePickerReadError.d.ts +24 -0
- package/dist/types/platform-components/referenceRecordDetailBrowser.d.ts +48 -0
- package/dist/types/platform-components/scopedTreePickerModel.d.ts +46 -0
- 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/sourceReferencePickerProvider.d.ts +26 -0
- package/dist/types/platform-components/staticCrudManagementState.d.ts +7 -6
- package/dist/types/platform-components/userPickerModel.d.ts +45 -0
- package/dist/types/platform-components/userReferencePicker.d.ts +17 -0
- 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 +5 -0
- package/dist/types/views/BusinessActivityLogView.vue.d.ts +3 -0
- package/dist/types/views/BusinessLogListDrawer.vue.d.ts +9 -0
- package/dist/types/views/BusinessRuleGovernanceSurface.vue.d.ts +10 -0
- package/dist/types/views/LoginAuditLogView.vue.d.ts +3 -0
- package/dist/types/views/MetadataGovernanceSurface.vue.d.ts +8 -0
- 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/RequestErrorLogView.vue.d.ts +3 -0
- package/dist/types/views/RuntimeLogView.vue.d.ts +3 -0
- package/dist/types/views/businessLogClient.d.ts +85 -0
- package/dist/types/views/businessRuleGovernance.d.ts +201 -0
- package/dist/types/views/dictionaryRadioEligibility.d.ts +18 -0
- package/dist/types/views/dictionaryRadioFactRequestEpoch.d.ts +10 -0
- package/dist/types/views/metadataModelEditSession.d.ts +84 -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 +404 -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/roleDetailWorkspaceSession.d.ts +1 -0
- package/dist/types/views/roleGrantClient.d.ts +0 -1
- package/dist/types/views/runtimeLogClient.d.ts +12 -0
- package/dist/types/views/runtimeLogSse.d.ts +13 -0
- 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 +20 -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/UiSearchInput.vue.d.ts +16 -2
- package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +28 -2
- package/dist/types/vue-ui-antdv/components/UiSidePanel.vue.d.ts +9 -2
- package/dist/types/vue-ui-antdv/components/UiSwitch.vue.d.ts +1 -1
- 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 +63 -9
- package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +24 -2
- package/dist/types/vue-ui-antdv/drawerDismissal.d.ts +18 -0
- package/dist/types/vue-ui-antdv/drawerWidth.d.ts +22 -0
- package/dist/types/vue-ui-antdv/index.d.ts +10 -1
- package/dist/types/vue-ui-antdv/treeStructure.d.ts +18 -0
- package/dist/types/vue-ui-antdv/types.d.ts +64 -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 +132 -12
- package/dist/types/web-core/http.d.ts +2 -0
- package/dist/types/web-core/module/index.d.ts +1 -0
- package/dist/types/web-core/module/moduleContext.d.ts +29 -1
- package/dist/types/web-core/module/pageActionEntries.d.ts +21 -0
- package/dist/types/web-core/module/runtimeContext.d.ts +10 -5
- package/dist/types/web-core/module/staticModuleClient.d.ts +30 -3
- package/dist/workspaceViews-CCg6V0pr.js +3623 -0
- package/package.json +1 -1
- package/dist/MetadataOrchestrationView-F_Bmfn9K.js +0 -661
- package/dist/ModuleActionManagementView-Db_3Twom.js +0 -597
- package/dist/RoleDetailWorkspaceView-UOm1ejGH.js +0 -1369
- package/dist/platform-components-59b4qzUL.js +0 -12489
- package/dist/types/views/metadataOrchestrationWorkspaceView.d.ts +0 -6
- package/dist/workspaceViews-BvV8mpML.js +0 -11149
|
@@ -15,6 +15,7 @@ export type { UiRadioOption } from './components/UiRadioGroup.vue';
|
|
|
15
15
|
export { default as UiTreeSelect } from './components/UiTreeSelect.vue';
|
|
16
16
|
export type { UiTreeSelectNode } from './components/UiTreeSelect.vue';
|
|
17
17
|
export { default as UiTooltip } from './components/UiTooltip.vue';
|
|
18
|
+
export { default as UiPopover } from './components/UiPopover.vue';
|
|
18
19
|
export { default as UiThemeProvider } from './components/UiThemeProvider.vue';
|
|
19
20
|
export { default as UiSwitch } from './components/UiSwitch.vue';
|
|
20
21
|
export { default as UiMenu } from './components/UiMenu.vue';
|
|
@@ -34,12 +35,20 @@ export { default as DictionarySelect } from './components/DictionarySelect.vue';
|
|
|
34
35
|
export { default as ReferenceSelect } from './components/ReferenceSelect.vue';
|
|
35
36
|
export { default as UiTable } from './components/UiTable.vue';
|
|
36
37
|
export { confirmAction } from './confirm';
|
|
38
|
+
export { allowsUiDrawerOutsideDismissal, mayCloseUiDrawer, resolveUiDrawerDismissal, } from './drawerDismissal';
|
|
39
|
+
export type { UiDrawerCloseGuard, UiDrawerCloseReason, UiDrawerDismissal, UiDrawerDismissalOptions, } from './drawerDismissal';
|
|
37
40
|
export { showErrorMessage, showFeedback, showInfoMessage, showSuccessMessage, showWarningMessage, } from './feedback';
|
|
38
41
|
export type { UiFeedbackOptions, UiFeedbackTone } from './feedback';
|
|
39
42
|
export { resolveFieldComponent } from './registry';
|
|
40
43
|
export type { UiIconName } from './components/UiIcon.vue';
|
|
41
44
|
export type { UiSidePanelScope } from './components/sidePanelHost';
|
|
45
|
+
export { isUiDrawerWidth, resolveUiDrawerWidth, uiDrawerWidths } from './drawerWidth';
|
|
46
|
+
export type { UiDrawerWidth } from './drawerWidth';
|
|
42
47
|
export type { UiTagListItem } from './components/UiTagList.vue';
|
|
43
48
|
export { antDesignThemeOf, cssVariablesOf, defaultUiTheme, defaultUiThemeSkinId, uiThemeSkinById, uiThemeSkins, } from './theme';
|
|
44
49
|
export type { UiSupportTheme, UiTheme, UiThemeSkin, UiThemeSkinId, UiThemeTone } from './theme';
|
|
45
|
-
export type { UiConfirmOptions, UiDataTableColumn, UiDataTableKey, UiDataTablePagination, UiDataTableRecord, UiDataTableSelection, UiDropdownItem, UiMenuItem, UiRecordInlineAction, UiTabItem, UiTreeNode, UiTreeNodeAction, } from './types';
|
|
50
|
+
export type { UiConfirmOptions, UiDataTableColumn, UiDataTableKey, UiDataTablePagination, UiDataTableRecord, UiDataTableSelection, UiDropdownItem, UiMenuItem, UiRecordInlineAction, UiTabItem, UiTreeCheckEvent, UiTreeDisplayMode, UiTreeNodeEvent, UiDragSource, UiDropTarget, UiDropPosition, UiDropOperation, UiTreeBranchState, UiTreeLoadIntent, UiTreeChangeReason, UiTreeLoadReason, UiTreeLoadRequest, UiTreeLoadResult, UiTreeLoadStrategy, UiTreeNode, UiTreeNodeAction, UiTreeDropEvent, } from './types';
|
|
51
|
+
export { useUiDropTarget, useUiDragSource } from './useUiTreeDrag';
|
|
52
|
+
export { useTreeLoader as useTreeData } from './useTreeLoader';
|
|
53
|
+
export { default as UiTokenInput } from './components/UiTokenInput.vue';
|
|
54
|
+
export type { UiTokenInputToken } from './components/UiTokenInput.vue';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { UiTreeNode } from './types';
|
|
2
|
+
export interface TreeEntry {
|
|
3
|
+
node: UiTreeNode;
|
|
4
|
+
parent?: string;
|
|
5
|
+
index: number;
|
|
6
|
+
}
|
|
7
|
+
export declare function indexTree(nodes: readonly UiTreeNode[], flat?: boolean): Map<string, TreeEntry>;
|
|
8
|
+
export declare function mergeTreePage(existing: UiTreeNode[], incoming: UiTreeNode[]): UiTreeNode[];
|
|
9
|
+
export type TreeChange = {
|
|
10
|
+
key: string;
|
|
11
|
+
kind: 'enter' | 'leave' | 'move' | 'reparent' | 'update';
|
|
12
|
+
};
|
|
13
|
+
export declare function treeSnapshot(nodes: UiTreeNode[], flat?: boolean): Map<string, {
|
|
14
|
+
parent: string | undefined;
|
|
15
|
+
index: number;
|
|
16
|
+
content: string;
|
|
17
|
+
}>;
|
|
18
|
+
export declare function treeChanges(before: ReturnType<typeof treeSnapshot>, after: ReturnType<typeof treeSnapshot>): TreeChange[];
|
|
@@ -56,6 +56,70 @@ export interface UiTreeNode {
|
|
|
56
56
|
actions?: UiRecordInlineAction[];
|
|
57
57
|
children?: UiTreeNode[];
|
|
58
58
|
}
|
|
59
|
+
/** Adapter-neutral node activation event. The node remains a UI contract, not an Ant Tree node. */
|
|
60
|
+
export interface UiTreeNodeEvent {
|
|
61
|
+
node: UiTreeNode;
|
|
62
|
+
nativeEvent?: Event;
|
|
63
|
+
}
|
|
64
|
+
export type UiTreeDisplayMode = 'tree' | 'flat';
|
|
65
|
+
export interface UiTreeCheckEvent {
|
|
66
|
+
node: UiTreeNode;
|
|
67
|
+
checked: boolean;
|
|
68
|
+
checkedKeys: string[];
|
|
69
|
+
halfCheckedKeys: string[];
|
|
70
|
+
nativeEvent?: Event;
|
|
71
|
+
}
|
|
72
|
+
export type UiTreeLoadStrategy = 'managed' | 'controlled';
|
|
73
|
+
export type UiTreeLoadReason = 'expand' | 'refresh' | 'load-more';
|
|
74
|
+
export interface UiTreeLoadIntent {
|
|
75
|
+
node: UiTreeNode;
|
|
76
|
+
reason: UiTreeLoadReason;
|
|
77
|
+
cursor?: string;
|
|
78
|
+
}
|
|
79
|
+
/** Only the owner of the request creates and releases its cancellation signal. */
|
|
80
|
+
export interface UiTreeLoadRequest extends UiTreeLoadIntent {
|
|
81
|
+
requestId: string;
|
|
82
|
+
signal: AbortSignal;
|
|
83
|
+
}
|
|
84
|
+
export interface UiTreeLoadResult {
|
|
85
|
+
mode: 'replace' | 'append';
|
|
86
|
+
nodes: UiTreeNode[];
|
|
87
|
+
nextCursor?: string;
|
|
88
|
+
hasMore: boolean;
|
|
89
|
+
}
|
|
90
|
+
export interface UiTreeBranchState {
|
|
91
|
+
status: 'idle' | 'loading' | 'loaded' | 'error';
|
|
92
|
+
hasMore?: boolean;
|
|
93
|
+
cursor?: string;
|
|
94
|
+
error?: string;
|
|
95
|
+
failedRequest?: UiTreeLoadIntent;
|
|
96
|
+
}
|
|
97
|
+
export type UiDropPosition = 'before' | 'after' | 'inside';
|
|
98
|
+
export type UiDropOperation = 'copy' | 'move';
|
|
99
|
+
export interface UiDragSource {
|
|
100
|
+
instanceId: string;
|
|
101
|
+
node: UiTreeNode;
|
|
102
|
+
operations: readonly UiDropOperation[];
|
|
103
|
+
payload?: unknown;
|
|
104
|
+
payloadType?: string;
|
|
105
|
+
}
|
|
106
|
+
export type UiDropTarget = {
|
|
107
|
+
instanceId: string;
|
|
108
|
+
} & ({
|
|
109
|
+
kind: 'node';
|
|
110
|
+
node: UiTreeNode;
|
|
111
|
+
position: UiDropPosition;
|
|
112
|
+
} | {
|
|
113
|
+
kind: 'root';
|
|
114
|
+
position: 'inside';
|
|
115
|
+
});
|
|
116
|
+
export interface UiTreeDropEvent {
|
|
117
|
+
source: UiDragSource;
|
|
118
|
+
target: UiDropTarget;
|
|
119
|
+
operation: UiDropOperation;
|
|
120
|
+
nativeEvent?: Event;
|
|
121
|
+
}
|
|
122
|
+
export type UiTreeChangeReason = 'interaction' | 'filter' | 'reset';
|
|
59
123
|
export interface UiConfirmOptions {
|
|
60
124
|
title: string;
|
|
61
125
|
content?: string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { UiTreeNode, UiTreeLoadRequest, UiTreeLoadResult, UiTreeBranchState, UiTreeLoadIntent, UiTreeLoadReason } from './types';
|
|
2
|
+
interface Options {
|
|
3
|
+
nodes: () => UiTreeNode[];
|
|
4
|
+
controlled: () => boolean;
|
|
5
|
+
states: () => Readonly<Record<string, UiTreeBranchState>>;
|
|
6
|
+
loader: () => ((node: UiTreeNode, request: UiTreeLoadRequest) => Promise<UiTreeLoadResult>) | undefined;
|
|
7
|
+
version: () => unknown;
|
|
8
|
+
minimumDuration: () => number;
|
|
9
|
+
emit: (request: UiTreeLoadIntent) => void;
|
|
10
|
+
}
|
|
11
|
+
/** Managed requests and controlled intents never share cancellation or loaded bookkeeping. */
|
|
12
|
+
export declare function useTreeLoader(input: Pick<Options, 'nodes'> & Partial<Omit<Options, 'nodes'>>): {
|
|
13
|
+
nodes: import("vue").ComputedRef<UiTreeNode[]>;
|
|
14
|
+
states: import("vue").ComputedRef<Record<string, UiTreeBranchState>>;
|
|
15
|
+
stateOf: (key: string) => UiTreeBranchState;
|
|
16
|
+
request: (key: string, reason: UiTreeLoadReason, retry?: boolean) => Promise<void>;
|
|
17
|
+
release: (key: string) => void;
|
|
18
|
+
reset: () => void;
|
|
19
|
+
retry: (key: string) => Promise<void>;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { UiTreeNode, UiTreeChangeReason } from './types';
|
|
3
|
+
export declare function useTreeMotion(root: Ref<HTMLElement | undefined>, options: {
|
|
4
|
+
nodes: () => UiTreeNode[];
|
|
5
|
+
flat: () => boolean;
|
|
6
|
+
enabled: () => boolean;
|
|
7
|
+
duration: () => number;
|
|
8
|
+
reason: () => UiTreeChangeReason;
|
|
9
|
+
}): Ref<boolean, boolean>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type Ref } from 'vue';
|
|
2
|
+
import type { UiDragSource, UiDropPosition, UiDropTarget, UiTreeDropEvent, UiDropOperation } from './types';
|
|
3
|
+
interface Surface {
|
|
4
|
+
root: HTMLElement;
|
|
5
|
+
resolve: (origin: Element, y: number, position?: UiDropPosition, source?: UiDragSource, x?: number) => UiDropTarget | undefined;
|
|
6
|
+
allow: (event: UiTreeDropEvent) => boolean;
|
|
7
|
+
operation?: (source: UiDragSource) => UiDropOperation;
|
|
8
|
+
drop: (event: UiTreeDropEvent) => void;
|
|
9
|
+
feedback: (target?: UiDropTarget, rejected?: boolean) => void;
|
|
10
|
+
/**
|
|
11
|
+
* A canvas-like editor can opt into an intentional drag boundary: after the pointer has entered
|
|
12
|
+
* this surface, leaving it abandons the transient placement instead of carrying a stale drop
|
|
13
|
+
* candidate across unrelated controls.
|
|
14
|
+
*/
|
|
15
|
+
cancelWhenPointerLeaves?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare const createUiTreeInstanceId: () => string;
|
|
18
|
+
/** Shared by trees, flat lists and non-tree drop surfaces. No browser payload leaks to consumers. */
|
|
19
|
+
export declare function useUiDropTarget(root: Ref<HTMLElement | undefined>, options: Omit<Surface, 'root' | 'feedback'>): {
|
|
20
|
+
hovered: import("vue").ShallowRef<UiDropTarget | undefined, UiDropTarget | undefined>;
|
|
21
|
+
rejected: Ref<boolean, boolean>;
|
|
22
|
+
draggingSource: import("vue").ComputedRef<UiDragSource | undefined>;
|
|
23
|
+
clear: () => void;
|
|
24
|
+
};
|
|
25
|
+
export declare function useUiDragSource(root: Ref<HTMLElement | undefined>, instanceId: string, source: (key: string) => UiDragSource | undefined, callbacks: {
|
|
26
|
+
start: (source: UiDragSource) => void;
|
|
27
|
+
end: (cancelled: boolean) => void;
|
|
28
|
+
}): {
|
|
29
|
+
begin: (key: string, event: MouseEvent | KeyboardEvent) => void;
|
|
30
|
+
draggingKey: import("vue").ComputedRef<string | undefined>;
|
|
31
|
+
};
|
|
32
|
+
export {};
|
|
@@ -84,7 +84,12 @@ export interface WebBusinessNotification {
|
|
|
84
84
|
content: string;
|
|
85
85
|
dismissible: boolean;
|
|
86
86
|
actions: WebBusinessNotificationAction[];
|
|
87
|
+
/** Optional standard card accent. Omit it to use the neutral platform presentation. */
|
|
88
|
+
tone?: WebBusinessNotificationTone;
|
|
89
|
+
/** The business fact's occurrence time, displayed in the workbench time zone when supplied. */
|
|
90
|
+
occurredAt?: string;
|
|
87
91
|
}
|
|
92
|
+
export type WebBusinessNotificationTone = 'default' | 'success' | 'danger';
|
|
88
93
|
export type WebBusinessNotificationAction = WebBusinessNotificationNavigateAction | WebBusinessNotificationRecordAction;
|
|
89
94
|
export interface WebBusinessNotificationNavigateAction {
|
|
90
95
|
kind: 'navigate';
|
|
@@ -129,6 +134,8 @@ export interface WebTreeNode<T> {
|
|
|
129
134
|
* them to their own icon implementations.
|
|
130
135
|
*/
|
|
131
136
|
export interface RecordInlineAction {
|
|
137
|
+
/** Optional single-level menu, rendered in the same stable inline action slot. */
|
|
138
|
+
items?: Array<Pick<RecordInlineAction, 'key' | 'title' | 'disabled' | 'danger'>>;
|
|
132
139
|
key: string;
|
|
133
140
|
/** Standard record action whose availability is resolved for the rendered record. */
|
|
134
141
|
actionCode?: string;
|
|
@@ -140,7 +147,7 @@ export interface RecordInlineAction {
|
|
|
140
147
|
disabledReason?: string;
|
|
141
148
|
danger?: boolean;
|
|
142
149
|
}
|
|
143
|
-
export type RecordInlineActionIconName = 'app' | 'check' | 'close' | 'delete' | 'down' | 'edit' | 'export' | 'filter' | 'help' | 'lock' | 'notification' | 'plus' | 'power' | 'reload' | 'save' | 'search' | 'settings';
|
|
150
|
+
export type RecordInlineActionIconName = 'app' | 'check' | 'close' | 'delete' | 'down' | 'edit' | 'export' | 'eye' | 'eye-off' | 'filter' | 'help' | 'lock' | 'notification' | 'plus' | 'power' | 'reload' | 'save' | 'search' | 'settings';
|
|
144
151
|
export interface CurrentUser {
|
|
145
152
|
userId: string;
|
|
146
153
|
username?: string;
|
|
@@ -258,6 +265,8 @@ export interface PageBootstrapActionBlock {
|
|
|
258
265
|
key?: string;
|
|
259
266
|
actionCode: string;
|
|
260
267
|
title?: string;
|
|
268
|
+
/** Business importance only; card shells decide direct display or “更多”. */
|
|
269
|
+
importance?: 'PRIMARY' | 'STANDARD' | 'SECONDARY';
|
|
261
270
|
position?: string;
|
|
262
271
|
targetUiConfigId?: string;
|
|
263
272
|
submitPath?: string;
|
|
@@ -382,9 +391,13 @@ export interface ResolvedDetailRelationListField {
|
|
|
382
391
|
title?: string;
|
|
383
392
|
fieldForm?: string;
|
|
384
393
|
fieldUiControlAlias?: string;
|
|
394
|
+
/** Source-neutral scalar value fact used by relation previews and portable list renderers. */
|
|
395
|
+
valueType?: ViewFieldValueType | string;
|
|
385
396
|
width?: number;
|
|
386
397
|
align?: 'left' | 'center' | 'right' | string;
|
|
387
398
|
maxDisplayLines?: number;
|
|
399
|
+
/** Read-side label companion for a reference ID column. */
|
|
400
|
+
referenceTitleField?: string;
|
|
388
401
|
}
|
|
389
402
|
export declare function hasExecutableDetailRelationQueryContract(relation: ResolvedDetailRelationDescriptor | undefined): relation is ResolvedDetailRelationDescriptor & {
|
|
390
403
|
queryContract: ResolvedDetailRelationQueryContract & {
|
|
@@ -540,6 +553,28 @@ export interface WebQueryCondition {
|
|
|
540
553
|
values?: unknown[];
|
|
541
554
|
timeZone?: string;
|
|
542
555
|
}
|
|
556
|
+
/**
|
|
557
|
+
* One executable condition in a recursively composed query expression.
|
|
558
|
+
*
|
|
559
|
+
* This is intentionally separate from {@link WebQueryCondition}: `conditions`
|
|
560
|
+
* remains the legacy top-level AND shorthand, while `criteria` preserves the
|
|
561
|
+
* authored order and nesting needed by the advanced query editor.
|
|
562
|
+
*/
|
|
563
|
+
export interface QueryCriteriaCondition {
|
|
564
|
+
kind: 'CONDITION';
|
|
565
|
+
fieldName: string;
|
|
566
|
+
operator?: QueryOperator;
|
|
567
|
+
values?: unknown[];
|
|
568
|
+
timeZone?: string;
|
|
569
|
+
}
|
|
570
|
+
/** A parenthesized, ordered group of query criteria. */
|
|
571
|
+
export interface QueryCriteriaGroup {
|
|
572
|
+
kind: 'GROUP';
|
|
573
|
+
operator: 'AND' | 'OR';
|
|
574
|
+
children: QueryCriteriaNode[];
|
|
575
|
+
}
|
|
576
|
+
/** An ordered query-expression node, either a condition or a nested group. */
|
|
577
|
+
export type QueryCriteriaNode = QueryCriteriaCondition | QueryCriteriaGroup;
|
|
543
578
|
export interface WebSort {
|
|
544
579
|
field: string;
|
|
545
580
|
desc?: boolean;
|
|
@@ -548,7 +583,7 @@ export interface WebQueryRequest {
|
|
|
548
583
|
page?: WebPageRequest;
|
|
549
584
|
unpaged?: boolean;
|
|
550
585
|
conditions?: WebQueryCondition[];
|
|
551
|
-
criteria?:
|
|
586
|
+
criteria?: QueryCriteriaGroup;
|
|
552
587
|
queryForm?: Record<string, unknown>;
|
|
553
588
|
sorts?: WebSort[];
|
|
554
589
|
uiConfigId?: string;
|
|
@@ -561,7 +596,7 @@ export interface WebQueryRequest {
|
|
|
561
596
|
navigatorTargetLevelKey?: string;
|
|
562
597
|
}
|
|
563
598
|
/** Shared field-reference delivery contract for static and metadata-backed modules. */
|
|
564
|
-
export type WebReferenceResolveMode = 'QUERY' | 'TREE' | 'TRANSLATE';
|
|
599
|
+
export type WebReferenceResolveMode = 'QUERY' | 'TREE' | 'TREE_CHILDREN' | 'TRANSLATE';
|
|
565
600
|
export type WebReferenceMatchMode = 'KEY' | 'LABEL' | 'AUTO';
|
|
566
601
|
export type WebReferenceResolveStatus = 'OK' | 'RESOLVED' | 'NOT_FOUND' | 'AMBIGUOUS' | 'PARTIAL';
|
|
567
602
|
/** Persisted aggregate record owning a reference interaction; never use form values to provide its tenant. */
|
|
@@ -574,7 +609,7 @@ export interface WebReferenceResolveRequest {
|
|
|
574
609
|
fuzzy?: string;
|
|
575
610
|
values?: unknown[];
|
|
576
611
|
conditions?: WebQueryCondition[];
|
|
577
|
-
criteria?:
|
|
612
|
+
criteria?: QueryCriteriaGroup;
|
|
578
613
|
page?: WebPageRequest;
|
|
579
614
|
includeProjections?: boolean;
|
|
580
615
|
formValues?: Record<string, unknown>;
|
|
@@ -583,6 +618,8 @@ export interface WebReferenceResolveRequest {
|
|
|
583
618
|
uiConfigId?: string;
|
|
584
619
|
queryTemplateId?: string;
|
|
585
620
|
externalQueryValues?: Record<string, unknown>;
|
|
621
|
+
/** Parent identity for one-level lazy tree delivery. Omit it to read the tree root. */
|
|
622
|
+
parentId?: string;
|
|
586
623
|
/**
|
|
587
624
|
* Host page that owns this navigator reference request. Reference transports
|
|
588
625
|
* use it only to resolve the declared NAVIGATOR_QUERY bindings; ordinary
|
|
@@ -598,6 +635,8 @@ export interface WebReferenceResolveItem {
|
|
|
598
635
|
matchedBy?: WebReferenceMatchMode;
|
|
599
636
|
projections?: Record<string, unknown>;
|
|
600
637
|
affectPatch?: Record<string, unknown>;
|
|
638
|
+
/** Present for TREE_CHILDREN: whether the same authorized candidate scope exposes a child. */
|
|
639
|
+
hasChildren?: boolean;
|
|
601
640
|
}
|
|
602
641
|
export interface WebReferenceResolveResult {
|
|
603
642
|
input: unknown;
|
|
@@ -617,7 +656,7 @@ export interface WebReferenceResolveResponse {
|
|
|
617
656
|
tree?: WebTreeNode<WebReferenceResolveItem>[];
|
|
618
657
|
}
|
|
619
658
|
export type QueryValueType = 'STRING' | 'TEXT' | 'BOOLEAN' | 'INTEGER' | 'LONG' | 'DECIMAL' | 'INSTANT' | 'DATE' | 'JSON';
|
|
620
|
-
export type QueryOperator = 'EQ' | 'NOT_EQUAL' | 'LIKE' | 'IN' | 'NOT_IN' | 'GT' | 'GTE' | 'LT' | 'LTE' | 'BETWEEN' | 'NULL' | 'NOT_NULL';
|
|
659
|
+
export type QueryOperator = 'EQ' | 'NOT_EQUAL' | 'LIKE' | 'IN' | 'NOT_IN' | 'GT' | 'GTE' | 'LT' | 'LTE' | 'BETWEEN' | 'NULL' | 'NOT_NULL' | 'CONTAINS' | 'CONTAINS_ANY' | 'CONTAINS_ALL' | 'EMPTY' | 'NOT_EMPTY';
|
|
621
660
|
export interface QuerySchemaField {
|
|
622
661
|
name: string;
|
|
623
662
|
title?: string;
|
|
@@ -626,7 +665,26 @@ export interface QuerySchemaField {
|
|
|
626
665
|
defaultOperator?: QueryOperator;
|
|
627
666
|
quickSearch?: boolean;
|
|
628
667
|
sortable?: boolean;
|
|
668
|
+
/** Explicit field-domain binding; distinguishes options from reference title companions. */
|
|
669
|
+
optionBinding?: OptionBindingDescriptor;
|
|
670
|
+
selectionMode?: 'SINGLE' | 'MULTIPLE';
|
|
629
671
|
optionTitleField?: string;
|
|
672
|
+
/** A persisted record-id reference selectable through this source field's standard resolve contract. */
|
|
673
|
+
reference?: QuerySchemaReference;
|
|
674
|
+
/** A backend-owned default condition rendered by the standard list query surface. */
|
|
675
|
+
persistentControl?: QuerySchemaPersistentControl;
|
|
676
|
+
}
|
|
677
|
+
export interface QuerySchemaPersistentControl {
|
|
678
|
+
id: string;
|
|
679
|
+
title: string;
|
|
680
|
+
operator: QueryOperator;
|
|
681
|
+
defaultValues?: unknown[];
|
|
682
|
+
}
|
|
683
|
+
export interface QuerySchemaReference {
|
|
684
|
+
targetModuleAlias: string;
|
|
685
|
+
cardinality: 'ONE' | 'MANY';
|
|
686
|
+
/** Target candidate label field when the reference explicitly declares one. */
|
|
687
|
+
labelField?: string;
|
|
630
688
|
}
|
|
631
689
|
export interface QuerySchemaQuickSearch {
|
|
632
690
|
enabled: boolean;
|
|
@@ -649,6 +707,8 @@ export interface QuerySchema {
|
|
|
649
707
|
fields: QuerySchemaField[];
|
|
650
708
|
externalCriteria: QuerySchemaExternalCriteria[];
|
|
651
709
|
defaultSorts: QuerySchemaDefaultSort[];
|
|
710
|
+
/** Server-declared criteria structure supported by this query surface. */
|
|
711
|
+
criteriaComposition?: 'NONE' | 'FLAT_AND' | 'TREE';
|
|
652
712
|
}
|
|
653
713
|
export type ModuleViewKind = 'LIST' | 'FORM' | 'DETAIL';
|
|
654
714
|
export type ModuleUiClientType = 'WEB';
|
|
@@ -665,7 +725,7 @@ export interface UiFormula {
|
|
|
665
725
|
/** Versioned program compiled by FormulaEngine. The browser executes it locally and never parses expression. */
|
|
666
726
|
export interface FormulaProgram {
|
|
667
727
|
schemaVersion: number;
|
|
668
|
-
profile: 'WEB_UI' | 'PAGE_TEXT' | 'FORM_COMPUTE';
|
|
728
|
+
profile: 'WEB_UI' | 'PAGE_TEXT' | 'FORM_COMPUTE' | 'FORM_VALIDATION';
|
|
669
729
|
root: FormulaNode;
|
|
670
730
|
referencedFields: string[];
|
|
671
731
|
}
|
|
@@ -777,6 +837,8 @@ export interface ResolvedReferenceFieldDescriptor {
|
|
|
777
837
|
candidateDependencies?: ReferenceCandidateDependency[];
|
|
778
838
|
/** Read-side title projection for this scalar reference, when supplied by the server. */
|
|
779
839
|
titleField?: string;
|
|
840
|
+
/** Target fields mapped by metadata to read-only source-record display projections. */
|
|
841
|
+
displayProjections?: ResolvedReferenceDisplayProjectionDescriptor[];
|
|
780
842
|
/**
|
|
781
843
|
* Explicitly authorized target-field paths available after choosing this ONE reference.
|
|
782
844
|
* Paths are relative to this reference field; the form runtime prefixes them with the
|
|
@@ -791,6 +853,10 @@ export interface ResolvedReferenceFieldDescriptor {
|
|
|
791
853
|
export interface ResolvedReferenceSelectionProjectionDescriptor {
|
|
792
854
|
path: string[];
|
|
793
855
|
}
|
|
856
|
+
export interface ResolvedReferenceDisplayProjectionDescriptor {
|
|
857
|
+
targetField: string;
|
|
858
|
+
outputField: string;
|
|
859
|
+
}
|
|
794
860
|
export interface ReferenceCandidateDependency {
|
|
795
861
|
sourceField: string;
|
|
796
862
|
targetField: string;
|
|
@@ -832,6 +898,14 @@ export interface ResolvedFormComputeRuleDescriptor {
|
|
|
832
898
|
triggerFields: string[];
|
|
833
899
|
writePolicy: 'ALWAYS';
|
|
834
900
|
}
|
|
901
|
+
/** Server-issued browser pre-save validation; the server enforces the same rule on mutation. */
|
|
902
|
+
export interface ResolvedFormValidationRuleDescriptor {
|
|
903
|
+
code: string;
|
|
904
|
+
program: FormulaProgram;
|
|
905
|
+
inputFields: string[];
|
|
906
|
+
targetField?: string;
|
|
907
|
+
message: string;
|
|
908
|
+
}
|
|
835
909
|
export interface ResolvedViewDescriptor {
|
|
836
910
|
viewCode: string;
|
|
837
911
|
viewKind: ModuleViewKind;
|
|
@@ -842,6 +916,7 @@ export interface ResolvedViewDescriptor {
|
|
|
842
916
|
sourceUiConfigId?: string;
|
|
843
917
|
formGroups?: FormGroupDescriptor[];
|
|
844
918
|
formComputeRules?: ResolvedFormComputeRuleDescriptor[];
|
|
919
|
+
formValidationRules?: ResolvedFormValidationRuleDescriptor[];
|
|
845
920
|
}
|
|
846
921
|
export type ModulePageTemplate = 'FLAT_MANAGEMENT' | 'LIST_DETAIL_CARD' | 'TREE_MANAGEMENT';
|
|
847
922
|
export interface ResolvedPageExplorerDescriptor {
|
|
@@ -877,7 +952,7 @@ export interface ResolvedPageNavigatorLevelDescriptor {
|
|
|
877
952
|
*/
|
|
878
953
|
sourceScope?: 'NONE' | 'CURRENT_TENANT';
|
|
879
954
|
/** When present, the navigator source exposes its own standard CRUD affordances in place. */
|
|
880
|
-
management?: ResolvedPageNavigatorManagementDescriptor;
|
|
955
|
+
management?: ResolvedPageNavigatorManagementDescriptor | null;
|
|
881
956
|
}
|
|
882
957
|
export interface ResolvedPageContextBindingDescriptor {
|
|
883
958
|
source: 'SESSION' | 'NAVIGATOR' | 'RESOLVED_SELECTION';
|
|
@@ -915,16 +990,32 @@ export interface ResolvedPageTextDescriptor {
|
|
|
915
990
|
export interface ResolvedPageListQuerySummaryDescriptor {
|
|
916
991
|
key: string;
|
|
917
992
|
title: string;
|
|
918
|
-
source: 'MATCHED_COUNT' | 'CONTRIBUTOR';
|
|
993
|
+
source: 'MATCHED_COUNT' | 'SUM' | 'CONTRIBUTOR' | 'GROUPED';
|
|
994
|
+
fieldName?: string;
|
|
919
995
|
contributorKey?: string;
|
|
996
|
+
groupByField?: string;
|
|
997
|
+
groupByTitle?: string;
|
|
998
|
+
sumFieldTitle?: string;
|
|
920
999
|
}
|
|
921
|
-
/** A
|
|
922
|
-
export interface
|
|
1000
|
+
/** A module-owned boolean condition rendered before search. */
|
|
1001
|
+
export interface ResolvedPageListExternalPersistentQueryControlDescriptor {
|
|
1002
|
+
source: 'EXTERNAL';
|
|
1003
|
+
id: string;
|
|
923
1004
|
externalCriteriaKey: string;
|
|
924
1005
|
title: string;
|
|
925
1006
|
uiType: 'SWITCH';
|
|
926
1007
|
defaultValue: boolean;
|
|
927
1008
|
}
|
|
1009
|
+
/** A field condition rendered before search and composed into the root AND query group. */
|
|
1010
|
+
export interface ResolvedPageListFieldPersistentQueryControlDescriptor {
|
|
1011
|
+
source: 'FIELD';
|
|
1012
|
+
id: string;
|
|
1013
|
+
title: string;
|
|
1014
|
+
fieldName: string;
|
|
1015
|
+
operator: QueryOperator;
|
|
1016
|
+
defaultValues: unknown[];
|
|
1017
|
+
}
|
|
1018
|
+
export type ResolvedPageListPersistentQueryControlDescriptor = ResolvedPageListExternalPersistentQueryControlDescriptor | ResolvedPageListFieldPersistentQueryControlDescriptor;
|
|
928
1019
|
export interface ResolvedPageListRelationExpansionDescriptor {
|
|
929
1020
|
relationCode: string;
|
|
930
1021
|
fields: string[];
|
|
@@ -944,6 +1035,8 @@ export interface ResolvedPageDetailWorkspaceViewDescriptor {
|
|
|
944
1035
|
type: string;
|
|
945
1036
|
}
|
|
946
1037
|
export interface ResolvedModulePageDescriptor {
|
|
1038
|
+
/** Omitted uses the module default; empty disables page quick search. */
|
|
1039
|
+
quickSearchFields?: string[];
|
|
947
1040
|
template: ModulePageTemplate;
|
|
948
1041
|
explorer?: ResolvedPageExplorerDescriptor;
|
|
949
1042
|
navigator?: ResolvedPageNavigatorDescriptor;
|
|
@@ -951,8 +1044,25 @@ export interface ResolvedModulePageDescriptor {
|
|
|
951
1044
|
/** Declared action-contribution tree rendered as the main TREE_MANAGEMENT resource. */
|
|
952
1045
|
treeResource?: ResolvedPageTreeResourceDescriptor;
|
|
953
1046
|
detail: ResolvedPageDetailDescriptor;
|
|
1047
|
+
/** Actions placed only into platform-owned page regions. */
|
|
1048
|
+
actions?: ResolvedPageActionDescriptor[];
|
|
1049
|
+
managedActions?: boolean;
|
|
954
1050
|
traits: ('STANDARD_CRUD' | 'ENABLED_STATUS' | 'RECYCLE_BIN' | 'RESPONSIVE_DETAIL_SURFACE')[];
|
|
955
1051
|
}
|
|
1052
|
+
/** Compiled transport for an action that explicitly supports a standard page surface. */
|
|
1053
|
+
export interface PageActionInvocation {
|
|
1054
|
+
method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
1055
|
+
path: string;
|
|
1056
|
+
input: 'NONE' | 'FORM_RECORD';
|
|
1057
|
+
}
|
|
1058
|
+
export interface ResolvedPageActionDescriptor {
|
|
1059
|
+
title?: string;
|
|
1060
|
+
operation?: string;
|
|
1061
|
+
actionCode: string;
|
|
1062
|
+
anchor: 'PAGE' | 'DETAIL' | 'FORM';
|
|
1063
|
+
invocation?: PageActionInvocation;
|
|
1064
|
+
statusMode?: 'NONE' | 'INPUT_VALIDATION';
|
|
1065
|
+
}
|
|
956
1066
|
export interface ResolvedPageTreeResourceDescriptor {
|
|
957
1067
|
resource: string;
|
|
958
1068
|
scopeNavigatorKey: string;
|
|
@@ -963,6 +1073,8 @@ export interface ResolvedPageTreeResourceDescriptor {
|
|
|
963
1073
|
title: string;
|
|
964
1074
|
emptyDescription: string;
|
|
965
1075
|
createTitle: string;
|
|
1076
|
+
/** Persisted fields that define the resource's own server-authoritative sort partition. */
|
|
1077
|
+
sortPartitionFields: string[];
|
|
966
1078
|
}
|
|
967
1079
|
export interface ResolvedUiActionConfirmationDescriptor {
|
|
968
1080
|
mode: 'typedText';
|
|
@@ -1268,6 +1380,8 @@ export interface PlatformModule extends StandardEnabledTreeEntity {
|
|
|
1268
1380
|
}
|
|
1269
1381
|
/** A governed operation exposed by one platform module. */
|
|
1270
1382
|
export interface PlatformModuleAction extends StandardEnabledSortableEntity {
|
|
1383
|
+
bindingPending?: boolean;
|
|
1384
|
+
formSupported?: boolean;
|
|
1271
1385
|
moduleAlias?: string;
|
|
1272
1386
|
actionCode?: string;
|
|
1273
1387
|
entityAlias?: string;
|
|
@@ -1323,7 +1437,8 @@ export interface ModuleMetadataRelation extends StandardSortableEntity {
|
|
|
1323
1437
|
moduleAlias?: string;
|
|
1324
1438
|
metadataId?: string;
|
|
1325
1439
|
relationAlias?: string;
|
|
1326
|
-
|
|
1440
|
+
/** Runtime APIs serialize Java code enums using their lower-case code; upper-case remains accepted for fixtures. */
|
|
1441
|
+
relationRole?: 'main' | 'child' | 'MAIN' | 'CHILD';
|
|
1327
1442
|
parentMetadataId?: string;
|
|
1328
1443
|
foreignKey?: string;
|
|
1329
1444
|
autoPopulate?: boolean;
|
|
@@ -1346,6 +1461,7 @@ export interface FieldSpec extends StandardEnabledSortableEntity {
|
|
|
1346
1461
|
queryOperators?: string[];
|
|
1347
1462
|
defaultUiControlAlias?: string;
|
|
1348
1463
|
uiControlAliases?: string[];
|
|
1464
|
+
safeTargetFieldSpecAliases?: string[];
|
|
1349
1465
|
}
|
|
1350
1466
|
export interface FieldUiControl extends StandardEnabledSortableEntity {
|
|
1351
1467
|
alias?: string;
|
|
@@ -1391,9 +1507,13 @@ export interface DictionaryItem extends StandardEnabledTreeEntity {
|
|
|
1391
1507
|
categoryAlias?: string;
|
|
1392
1508
|
code?: string;
|
|
1393
1509
|
}
|
|
1394
|
-
|
|
1510
|
+
/** Relative placement for a sortable flat record collection. */
|
|
1511
|
+
export interface SortRequest {
|
|
1395
1512
|
previousId?: string | null;
|
|
1396
1513
|
nextId?: string | null;
|
|
1514
|
+
}
|
|
1515
|
+
/** Relative placement for a sortable tree record collection. */
|
|
1516
|
+
export interface TreeSortRequest extends SortRequest {
|
|
1397
1517
|
parentId?: string | null;
|
|
1398
1518
|
}
|
|
1399
1519
|
export type FieldKind = 'input' | 'select' | 'dictionary-select' | 'reference-select';
|
|
@@ -14,6 +14,8 @@ export interface HttpRequestOptions {
|
|
|
14
14
|
query?: Record<string, RouteQueryValue>;
|
|
15
15
|
body?: unknown;
|
|
16
16
|
headers?: Record<string, string>;
|
|
17
|
+
/** Cancels the underlying Fetch request, including a long-lived response stream. */
|
|
18
|
+
signal?: AbortSignal;
|
|
17
19
|
}
|
|
18
20
|
export interface HttpClient {
|
|
19
21
|
request<T>(options: HttpRequestOptions): Promise<T>;
|
|
@@ -4,3 +4,4 @@ export * from './staticModuleClient';
|
|
|
4
4
|
export type { ModuleActionState, ModuleRecordActionAvailability, ModuleRuntimeAction, ModuleRuntimeContext, ModuleRuntimeContextState, } from './runtimeContext';
|
|
5
5
|
export type { ModuleAbilityClients, ModuleAbilities } from './abilities';
|
|
6
6
|
export * from './moduleContext';
|
|
7
|
+
export * from './pageActionEntries';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type PropType } from 'vue';
|
|
1
2
|
import type { HttpClient } from '../http';
|
|
2
3
|
import { type ModuleAbilities } from './abilities';
|
|
3
4
|
import { type ModuleActionState, type ModuleRecordActionAvailability, type ModuleRuntimeAction, type ModuleRuntimeContextState } from './runtimeContext';
|
|
@@ -25,7 +26,7 @@ export interface ModuleContextConfig {
|
|
|
25
26
|
}
|
|
26
27
|
export interface ModuleContextOptions extends ModuleContextConfig {
|
|
27
28
|
moduleAlias: string;
|
|
28
|
-
runtimeAccess?: 'MENU' | 'REFERENCE';
|
|
29
|
+
runtimeAccess?: 'MENU' | 'REFERENCE' | 'VIEW';
|
|
29
30
|
navigatorReference?: NavigatorReferenceRequestContext;
|
|
30
31
|
}
|
|
31
32
|
export declare function configureModuleContext(config: ModuleContextConfig): void;
|
|
@@ -34,12 +35,32 @@ export declare function createModuleContext<TRecord>(options: ModuleContextOptio
|
|
|
34
35
|
export declare function createModuleTreeContext<TRecord>(options: ModuleContextOptions): ModuleTreeContext<TRecord>;
|
|
35
36
|
export declare function useModuleContext<TRecord>(options?: Partial<ModuleContextOptions>): ModuleContext<TRecord>;
|
|
36
37
|
export declare function useModuleTreeContext<TRecord>(options?: Partial<ModuleContextOptions>): ModuleTreeContext<TRecord>;
|
|
38
|
+
/** New consumers capture the current immutable transport; existing contexts keep their original client. */
|
|
39
|
+
export declare const ModuleHttpProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
40
|
+
http: {
|
|
41
|
+
type: PropType<HttpClient>;
|
|
42
|
+
required: true;
|
|
43
|
+
};
|
|
44
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
45
|
+
[key: string]: any;
|
|
46
|
+
}>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
47
|
+
http: {
|
|
48
|
+
type: PropType<HttpClient>;
|
|
49
|
+
required: true;
|
|
50
|
+
};
|
|
51
|
+
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
37
52
|
export declare const ModuleContextProvider: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
38
53
|
moduleAlias: {
|
|
39
54
|
type: StringConstructor;
|
|
40
55
|
required: false;
|
|
41
56
|
default: undefined;
|
|
42
57
|
};
|
|
58
|
+
/** Reuse an already-authorized module session without recreating a MENU runtime. */
|
|
59
|
+
context: {
|
|
60
|
+
type: PropType<ModuleContext<unknown>>;
|
|
61
|
+
required: false;
|
|
62
|
+
default: undefined;
|
|
63
|
+
};
|
|
43
64
|
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
44
65
|
[key: string]: any;
|
|
45
66
|
}>[] | undefined, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
@@ -48,6 +69,13 @@ export declare const ModuleContextProvider: import("vue").DefineComponent<import
|
|
|
48
69
|
required: false;
|
|
49
70
|
default: undefined;
|
|
50
71
|
};
|
|
72
|
+
/** Reuse an already-authorized module session without recreating a MENU runtime. */
|
|
73
|
+
context: {
|
|
74
|
+
type: PropType<ModuleContext<unknown>>;
|
|
75
|
+
required: false;
|
|
76
|
+
default: undefined;
|
|
77
|
+
};
|
|
51
78
|
}>> & Readonly<{}>, {
|
|
52
79
|
moduleAlias: string;
|
|
80
|
+
context: ModuleContext<unknown>;
|
|
53
81
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** Shared interaction vocabulary for page design and business rendering. */
|
|
2
|
+
export declare function pageActionIntent(code: string, anchor: string): {
|
|
3
|
+
operation: string;
|
|
4
|
+
title: string;
|
|
5
|
+
mode?: "create" | "edit";
|
|
6
|
+
};
|
|
7
|
+
export declare function pageActionEntryTitle(entry: {
|
|
8
|
+
actionCode: string;
|
|
9
|
+
anchor: string;
|
|
10
|
+
title?: string;
|
|
11
|
+
}): string;
|
|
12
|
+
export declare function pageActionEntryVisible(entry: {
|
|
13
|
+
actionCode: string;
|
|
14
|
+
anchor: string;
|
|
15
|
+
hidden?: boolean;
|
|
16
|
+
operation?: string;
|
|
17
|
+
}, mode: 'view' | 'create' | 'edit'): boolean;
|
|
18
|
+
export declare function pageActionEntryDescription(entry: {
|
|
19
|
+
actionCode: string;
|
|
20
|
+
anchor: string;
|
|
21
|
+
}): string;
|