@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.
Files changed (172) hide show
  1. package/dist/ModuleActionManagementView-BHEooZ5L.js +672 -0
  2. package/dist/ModuleGovernanceView-DB3TWlMy.js +28521 -0
  3. package/dist/RoleDetailWorkspaceView-D6X7pAj5.js +1379 -0
  4. package/dist/index.css +1 -1
  5. package/dist/index.js +1929 -351
  6. package/dist/moduleGovernanceWorkspaceView-C5pqJOEJ.js +40 -0
  7. package/dist/platform-workbench-DJj42YQP.js +22911 -0
  8. package/dist/rolldown-runtime-DPVXH0ON.js +17 -0
  9. package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +0 -2
  10. package/dist/types/app/LoginView.vue.d.ts +1 -1
  11. package/dist/types/app/workbenchRouteSync.d.ts +10 -1
  12. package/dist/types/app/workbenchSessionTabs.d.ts +22 -0
  13. package/dist/types/app/workbenchStartup.d.ts +7 -0
  14. package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +4 -1
  15. package/dist/types/consumer/index.d.ts +2 -1
  16. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +1 -1
  17. package/dist/types/dynamic-page-runtime/ModulePageHost.vue.d.ts +12 -1
  18. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +17 -0
  19. package/dist/types/dynamic-page-runtime/NavigatorPanelActions.vue.d.ts +22 -0
  20. package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +11 -11
  21. package/dist/types/dynamic-page-runtime/childAggregateContext.d.ts +11 -0
  22. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts +3 -1
  23. package/dist/types/dynamic-page-runtime/composables/useModulePageFormContributionRuntime.d.ts +5 -3
  24. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +82 -28
  25. package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +1 -1
  26. package/dist/types/dynamic-page-runtime/formActionResult.d.ts +5 -0
  27. package/dist/types/dynamic-page-runtime/formComputeCoordinator.d.ts +7 -4
  28. package/dist/types/dynamic-page-runtime/formValidationCoordinator.d.ts +17 -0
  29. package/dist/types/dynamic-page-runtime/index.d.ts +1 -2
  30. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +75 -1
  31. package/dist/types/dynamic-page-runtime/pageActionInvocation.d.ts +7 -0
  32. package/dist/types/dynamic-page-runtime/pageActionPlacement.d.ts +14 -0
  33. package/dist/types/dynamic-page-runtime/recordMutationPayload.d.ts +3 -0
  34. package/dist/types/formula/FormulaRuntime.d.ts +9 -0
  35. package/dist/types/{dynamic-page-runtime/DynamicModuleHost.vue.d.ts → platform-admin-runtime/module-menu/ModuleMenuDrawer.vue.d.ts} +2 -2
  36. package/dist/types/platform-admin-runtime/module-menu/ModuleMenuEntriesSection.vue.d.ts +7 -0
  37. package/dist/types/platform-admin-runtime/module-menu/moduleMenuClient.d.ts +16 -0
  38. package/dist/types/platform-admin-runtime/platformModulePageEnhancement.d.ts +2 -0
  39. package/dist/types/platform-admin-runtime/role/RoleAccountGrantDrawerSurface.vue.d.ts +7 -0
  40. package/dist/types/platform-admin-runtime/role/RoleAuthorizationDrawerSurface.vue.d.ts +7 -0
  41. package/dist/types/platform-admin-runtime/role/RoleEmploymentGrantDrawerSurface.vue.d.ts +7 -0
  42. package/dist/types/platform-admin-runtime/role/RoleEnumTitleCell.vue.d.ts +8 -0
  43. package/dist/types/platform-admin-runtime/role/RoleGroupMemberFormField.vue.d.ts +7 -0
  44. package/dist/types/platform-admin-runtime/role/RoleScopeTree.vue.d.ts +7 -0
  45. package/dist/types/platform-admin-runtime/roleModulePageEnhancement.d.ts +7 -0
  46. package/dist/types/platform-components/AdaptiveHeaderActionBar.vue.d.ts +24 -0
  47. package/dist/types/platform-components/BusinessNotificationPanel.vue.d.ts +15 -1
  48. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +9 -4
  49. package/dist/types/platform-components/DetailRelationListPanel.vue.d.ts +1 -1
  50. package/dist/types/platform-components/DrawerOperationBar.vue.d.ts +4 -2
  51. package/dist/types/platform-components/FormulaExpressionEditor.vue.d.ts +54 -0
  52. package/dist/types/platform-components/ManagementExplorerColumn.vue.d.ts +15 -3
  53. package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +5 -3
  54. package/dist/types/platform-components/ManagementWorkspace.vue.d.ts +11 -0
  55. package/dist/types/platform-components/ModuleActionButton.vue.d.ts +3 -3
  56. package/dist/types/platform-components/QueryGroupedSummary.vue.d.ts +21 -0
  57. package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +1 -0
  58. package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +2 -0
  59. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +41 -2
  60. package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +8 -3
  61. package/dist/types/platform-components/RecordDetailPanel.vue.d.ts +2 -0
  62. package/dist/types/platform-components/RecordExplorerCreateButton.vue.d.ts +16 -0
  63. package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +16 -5
  64. package/dist/types/platform-components/RecordFieldLabel.vue.d.ts +16 -0
  65. package/dist/types/platform-components/RecordFormFields.vue.d.ts +21 -2
  66. package/dist/types/platform-components/RecordFormGrid.vue.d.ts +24 -0
  67. package/dist/types/platform-components/RecordListExplorer.vue.d.ts +23 -1
  68. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +2 -2
  69. package/dist/types/platform-components/RecordPanelButton.vue.d.ts +9 -3
  70. package/dist/types/platform-components/RecordPermissionDialog.vue.d.ts +15 -0
  71. package/dist/types/platform-components/RecordPicker.vue.d.ts +2 -2
  72. package/dist/types/platform-components/RecordQueryEnumFilter.vue.d.ts +17 -0
  73. package/dist/types/platform-components/RecordQueryListCell.vue.d.ts +12 -0
  74. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +110 -64
  75. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +124 -0
  76. package/dist/types/platform-components/RecordRelationTable.vue.d.ts +62 -0
  77. package/dist/types/platform-components/RecordRelationValue.vue.d.ts +9 -0
  78. package/dist/types/platform-components/RecordStatusSwitch.vue.d.ts +3 -3
  79. package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +2 -0
  80. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +15 -4
  81. package/dist/types/platform-components/adaptiveHeaderActionLayout.d.ts +22 -0
  82. package/dist/types/platform-components/formulaExpressionTokens.d.ts +18 -0
  83. package/dist/types/platform-components/index.d.ts +20 -1
  84. package/dist/types/platform-components/managementExplorerContext.d.ts +11 -0
  85. package/dist/types/platform-components/managementWorkspaceContext.d.ts +20 -0
  86. package/dist/types/platform-components/managementWorkspaceLayout.d.ts +14 -0
  87. package/dist/types/platform-components/optionFieldOptionCache.d.ts +1 -1
  88. package/dist/types/platform-components/recordActionBarModel.d.ts +3 -0
  89. package/dist/types/platform-components/recordQueryListColumnModel.d.ts +42 -0
  90. package/dist/types/platform-components/scopedTreeModuleContext.d.ts +2 -2
  91. package/dist/types/platform-components/selectionRefresh.d.ts +9 -0
  92. package/dist/types/platform-components/sortPartitionKey.d.ts +5 -0
  93. package/dist/types/platform-components/staticTreeResourceModuleContext.d.ts +3 -3
  94. package/dist/types/platform-workbench/index.d.ts +2 -0
  95. package/dist/types/platform-workbench/useWorkspaceViewUnsavedState.d.ts +5 -0
  96. package/dist/types/platform-workbench/workbenchNavigation.d.ts +5 -1
  97. package/dist/types/platform-workbench/workspaceViewContract.d.ts +5 -0
  98. package/dist/types/platform-workbench/workspaceViewHost.d.ts +5 -0
  99. package/dist/types/platform-workbench/workspaceViewNavigation.d.ts +9 -0
  100. package/dist/types/platform-workbench/workspaceViewUnsavedState.d.ts +3 -0
  101. package/dist/types/views/BusinessRuleGovernanceSurface.vue.d.ts +10 -0
  102. package/dist/types/views/EmployeeEmploymentTable.vue.d.ts +5 -0
  103. package/dist/types/views/{UserDetailRouteView.vue.d.ts → MetadataGovernanceSurface.vue.d.ts} +3 -3
  104. package/dist/types/views/MetadataSourceTree.vue.d.ts +44 -0
  105. package/dist/types/views/ModuleBusinessPreview.vue.d.ts +7 -0
  106. package/dist/types/views/ModuleExperienceProfileOverview.vue.d.ts +7 -0
  107. package/dist/types/views/ModuleGovernanceView.vue.d.ts +9 -0
  108. package/dist/types/views/PageCompositionDescriptorPreview.vue.d.ts +54 -0
  109. package/dist/types/views/PageCompositionTree.vue.d.ts +103 -0
  110. package/dist/types/views/PageCompositionWorkspace.vue.d.ts +7 -0
  111. package/dist/types/views/PageQuerySummaryEditor.vue.d.ts +48 -0
  112. package/dist/types/views/RoleAccountGrantDrawer.vue.d.ts +6 -2
  113. package/dist/types/views/RoleAuthorizationView.vue.d.ts +7 -0
  114. package/dist/types/views/RoleEmploymentGrantDrawer.vue.d.ts +5 -1
  115. package/dist/types/views/businessRuleGovernance.d.ts +201 -0
  116. package/dist/types/views/metadataModelEditSession.d.ts +75 -0
  117. package/dist/types/views/metadataModelTree.d.ts +40 -0
  118. package/dist/types/views/metadataNaming.d.ts +7 -0
  119. package/dist/types/views/metadataOrchestrationState.d.ts +161 -6
  120. package/dist/types/views/metadataSourceTree.d.ts +10 -0
  121. package/dist/types/views/moduleGovernanceWorkspaceView.d.ts +9 -0
  122. package/dist/types/views/pageCompositionDraftState.d.ts +375 -0
  123. package/dist/types/views/pageCompositionDragPayload.d.ts +26 -0
  124. package/dist/types/views/pageCompositionMode.d.ts +86 -0
  125. package/dist/types/views/pageCompositionPlacement.d.ts +48 -0
  126. package/dist/types/views/pageCompositionTransport.d.ts +9 -0
  127. package/dist/types/views/roleGrantClient.d.ts +8 -5
  128. package/dist/types/views/usePageCompositionActionPreviewDrag.d.ts +41 -0
  129. package/dist/types/views/usePageCompositionPreviewDrag.d.ts +48 -0
  130. package/dist/types/vue-ui-antdv/components/UiActionButton.vue.d.ts +2 -2
  131. package/dist/types/vue-ui-antdv/components/UiButton.vue.d.ts +6 -3
  132. package/dist/types/vue-ui-antdv/components/UiDataTable.vue.d.ts +5 -2
  133. package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
  134. package/dist/types/vue-ui-antdv/components/UiPopover.vue.d.ts +22 -0
  135. package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +1 -1
  136. package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +5 -1
  137. package/dist/types/vue-ui-antdv/components/UiSwitch.vue.d.ts +1 -1
  138. package/dist/types/vue-ui-antdv/components/UiTable.vue.d.ts +1 -0
  139. package/dist/types/vue-ui-antdv/components/UiTextArea.vue.d.ts +38 -1
  140. package/dist/types/vue-ui-antdv/components/UiTokenInput.vue.d.ts +62 -0
  141. package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +76 -3
  142. package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +1 -1
  143. package/dist/types/vue-ui-antdv/index.d.ts +6 -1
  144. package/dist/types/vue-ui-antdv/treeStructure.d.ts +18 -0
  145. package/dist/types/vue-ui-antdv/types.d.ts +70 -0
  146. package/dist/types/vue-ui-antdv/useTreeLoader.d.ts +21 -0
  147. package/dist/types/vue-ui-antdv/useTreeMotion.d.ts +9 -0
  148. package/dist/types/vue-ui-antdv/useUiTreeDrag.d.ts +32 -0
  149. package/dist/types/web-contracts/index.d.ts +75 -8
  150. package/dist/types/web-core/module/index.d.ts +1 -0
  151. package/dist/types/web-core/module/moduleContext.d.ts +15 -0
  152. package/dist/types/web-core/module/pageActionEntries.d.ts +21 -0
  153. package/dist/types/web-core/module/runtimeContext.d.ts +7 -3
  154. package/dist/types/web-core/module/staticModuleClient.d.ts +29 -6
  155. package/dist/workspaceViews-DI_1vYX9.js +3518 -0
  156. package/package.json +1 -1
  157. package/dist/MetadataOrchestrationView-BhtVwJII.js +0 -661
  158. package/dist/ModuleActionManagementView-DpZS-xAD.js +0 -597
  159. package/dist/RoleAuthorizationView-8lilhtMB.js +0 -646
  160. package/dist/RoleDetailWorkspaceView-CFha6JHn.js +0 -26
  161. package/dist/RoleManagementView-0_KDrzgh.js +0 -1948
  162. package/dist/platform-components-oRIsIoxu.js +0 -12371
  163. package/dist/types/dynamic-page-runtime/DynamicRecordDetailActions.vue.d.ts +0 -39
  164. package/dist/types/dynamic-page-runtime/dynamicModuleDetailStateModel.d.ts +0 -5
  165. package/dist/types/views/UserDetailContent.vue.d.ts +0 -32
  166. package/dist/types/views/UserManagementListView.vue.d.ts +0 -3
  167. package/dist/types/views/UserManagementView.vue.d.ts +0 -3
  168. package/dist/types/views/metadataOrchestrationWorkspaceView.d.ts +0 -6
  169. package/dist/types/views/useUserSessionRows.d.ts +0 -28
  170. package/dist/types/views/userDetailStateModel.d.ts +0 -9
  171. package/dist/types/views/userManagementRouteState.d.ts +0 -11
  172. package/dist/workspaceViews-D-RiJ64o.js +0 -9078
@@ -0,0 +1,9 @@
1
+ import { type ModuleGovernanceTab } from './moduleGovernanceWorkspaceView';
2
+ type __VLS_Props = {
3
+ moduleAlias: string;
4
+ moduleTitle?: string;
5
+ governanceTab?: ModuleGovernanceTab;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
8
+ declare const _default: typeof __VLS_export;
9
+ export default _default;
@@ -0,0 +1,54 @@
1
+ import type { ModuleRuntimeAction } from '../web-core/index';
2
+ import type { ResolvedModuleUiDescriptor } from '../web-contracts/index';
3
+ import { type CompositionPlacementSource, type CompositionPlacementTarget, type PageCompositionStructure } from './pageCompositionPlacement';
4
+ import { type PageQuerySummary } from './pageCompositionDraftState';
5
+ import { type PageCompositionActionPlacement } from './pageCompositionMode';
6
+ type PreviewMode = 'list' | 'query' | 'detail' | 'edit';
7
+ type PreviewSlot = 'list' | 'form';
8
+ type __VLS_Props = {
9
+ descriptor: ResolvedModuleUiDescriptor;
10
+ moduleAlias: string;
11
+ mode: PreviewMode;
12
+ selectedFieldName?: string;
13
+ /** Allows the active preview surface to receive a compatible metadata payload. */
14
+ acceptExternalDrop?: boolean;
15
+ structure?: PageCompositionStructure;
16
+ placementDisabled?: boolean;
17
+ /** A failed async descriptor refresh must not leave its pre-drop layout on screen. */
18
+ placementCommitFailed?: boolean;
19
+ actionPlacements?: PageCompositionActionPlacement[];
20
+ actionFormMode?: 'create' | 'edit';
21
+ moduleActions?: ModuleRuntimeAction[];
22
+ querySummaries?: PageQuerySummary[];
23
+ };
24
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
25
+ selectField: (slot: PreviewSlot, fieldName: string) => any;
26
+ configureField: (slot: PreviewSlot, fieldName: string) => any;
27
+ configureRelationField: (relationCode: string, fieldName: string) => any;
28
+ configureAction: (anchor: "page" | "form" | "detail", actionCode: string) => any;
29
+ configureSummaries: () => any;
30
+ "placement-drop": (source: CompositionPlacementSource, target: CompositionPlacementTarget) => any;
31
+ "action-drop": (source: {
32
+ actionCode: string;
33
+ sourceAnchor?: "page" | "detail" | "form";
34
+ }, target: {
35
+ anchor: "page" | "detail" | "form";
36
+ index: number;
37
+ }) => any;
38
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
39
+ onSelectField?: ((slot: PreviewSlot, fieldName: string) => any) | undefined;
40
+ onConfigureField?: ((slot: PreviewSlot, fieldName: string) => any) | undefined;
41
+ onConfigureRelationField?: ((relationCode: string, fieldName: string) => any) | undefined;
42
+ onConfigureAction?: ((anchor: "page" | "form" | "detail", actionCode: string) => any) | undefined;
43
+ onConfigureSummaries?: (() => any) | undefined;
44
+ "onPlacement-drop"?: ((source: CompositionPlacementSource, target: CompositionPlacementTarget) => any) | undefined;
45
+ "onAction-drop"?: ((source: {
46
+ actionCode: string;
47
+ sourceAnchor?: "page" | "detail" | "form";
48
+ }, target: {
49
+ anchor: "page" | "detail" | "form";
50
+ index: number;
51
+ }) => any) | undefined;
52
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
53
+ declare const _default: typeof __VLS_export;
54
+ export default _default;
@@ -0,0 +1,103 @@
1
+ import { type CompositionSkeleton, type PageCompositionActionPlacement } from './pageCompositionMode';
2
+ import { type PageComposerFormItem, type PageComposerField, type PageComposerGroup, type PageComposerRelation, type PageQuerySummary } from './pageCompositionDraftState';
3
+ import { type PageCompositionDragPayload } from './pageCompositionDragPayload';
4
+ type __VLS_Props = {
5
+ skeleton?: CompositionSkeleton;
6
+ explorerTitle?: string;
7
+ searchableFieldIds?: string[];
8
+ quickSearchFields?: {
9
+ fieldName: string;
10
+ title: string;
11
+ }[];
12
+ querySummaries?: PageQuerySummary[];
13
+ summariesSupported?: boolean;
14
+ summaryDescriptions?: Record<string, string>;
15
+ summaryIssues?: Record<string, string>;
16
+ explorerSecondary?: string;
17
+ actionPlacements?: PageCompositionActionPlacement[];
18
+ moduleActions?: {
19
+ actionCode: string;
20
+ title?: string;
21
+ bindingPending?: boolean;
22
+ category?: string;
23
+ executorType?: string;
24
+ actionLevel?: 'LIST' | 'RECORD' | 'BATCH' | 'ANY' | 'DEFAULT';
25
+ }[];
26
+ editorMode?: 'fields' | 'actions';
27
+ listFields: PageComposerField[];
28
+ formFields: PageComposerField[];
29
+ formGroups: PageComposerGroup[];
30
+ formOrder?: PageComposerFormItem[];
31
+ formRelations: PageComposerRelation[];
32
+ selectedKey?: string;
33
+ disabled?: boolean;
34
+ };
35
+ type ComposerNodeAction = 'configure' | 'remove' | 'add-group' | 'toggle-visibility';
36
+ export type ComposerDropTarget = ({
37
+ kind: 'explorer-title' | 'explorer-secondary' | 'quick-search';
38
+ } | {
39
+ kind: 'list';
40
+ } | {
41
+ kind: 'form';
42
+ } | {
43
+ kind: 'group';
44
+ groupId: string;
45
+ } | {
46
+ kind: 'relation';
47
+ relationId: string;
48
+ } | {
49
+ kind: 'action-anchor';
50
+ anchor: PageCompositionActionPlacement['anchor'];
51
+ }) & {
52
+ index?: number;
53
+ };
54
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
55
+ select: (key: string) => any;
56
+ "double-click": (key: string) => any;
57
+ "action-drop": (source: {
58
+ actionCode: string;
59
+ sourceAnchor?: PageCompositionActionPlacement["anchor"];
60
+ }, target: {
61
+ anchor: PageCompositionActionPlacement["anchor"];
62
+ index: number;
63
+ }) => any;
64
+ "node-action": (action: ComposerNodeAction, key: string) => any;
65
+ "reorder-list-field": (fieldId: string, targetIndex: number) => any;
66
+ "reorder-form-field": (fieldId: string, targetIndex: number) => any;
67
+ "move-form-field-to-group": (fieldId: string, groupId: string, targetIndex: number) => any;
68
+ "move-group-field-to-form": (groupId: string, fieldId: string, targetIndex: number) => any;
69
+ "reorder-group-field": (groupId: string, fieldId: string, targetIndex: number) => any;
70
+ "move-group-field-to-group": (sourceGroupId: string, fieldId: string, targetGroupId: string, targetIndex: number) => any;
71
+ "reorder-group": (groupId: string, targetIndex: number) => any;
72
+ "reorder-relation-field": (relationId: string, fieldId: string, targetIndex: number) => any;
73
+ "reorder-query-summary": (summaryKey: string, targetIndex: number) => any;
74
+ "source-drop": (target: ComposerDropTarget, payload: PageCompositionDragPayload) => any;
75
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
76
+ onSelect?: ((key: string) => any) | undefined;
77
+ "onDouble-click"?: ((key: string) => any) | undefined;
78
+ "onAction-drop"?: ((source: {
79
+ actionCode: string;
80
+ sourceAnchor?: PageCompositionActionPlacement["anchor"];
81
+ }, target: {
82
+ anchor: PageCompositionActionPlacement["anchor"];
83
+ index: number;
84
+ }) => any) | undefined;
85
+ "onNode-action"?: ((action: ComposerNodeAction, key: string) => any) | undefined;
86
+ "onReorder-list-field"?: ((fieldId: string, targetIndex: number) => any) | undefined;
87
+ "onReorder-form-field"?: ((fieldId: string, targetIndex: number) => any) | undefined;
88
+ "onMove-form-field-to-group"?: ((fieldId: string, groupId: string, targetIndex: number) => any) | undefined;
89
+ "onMove-group-field-to-form"?: ((groupId: string, fieldId: string, targetIndex: number) => any) | undefined;
90
+ "onReorder-group-field"?: ((groupId: string, fieldId: string, targetIndex: number) => any) | undefined;
91
+ "onMove-group-field-to-group"?: ((sourceGroupId: string, fieldId: string, targetGroupId: string, targetIndex: number) => any) | undefined;
92
+ "onReorder-group"?: ((groupId: string, targetIndex: number) => any) | undefined;
93
+ "onReorder-relation-field"?: ((relationId: string, fieldId: string, targetIndex: number) => any) | undefined;
94
+ "onReorder-query-summary"?: ((summaryKey: string, targetIndex: number) => any) | undefined;
95
+ "onSource-drop"?: ((target: ComposerDropTarget, payload: PageCompositionDragPayload) => any) | undefined;
96
+ }>, {
97
+ disabled: boolean;
98
+ selectedKey: string;
99
+ editorMode: "fields" | "actions";
100
+ formOrder: PageComposerFormItem[];
101
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
102
+ declare const _default: typeof __VLS_export;
103
+ export default _default;
@@ -0,0 +1,7 @@
1
+ type __VLS_Props = {
2
+ moduleAlias: string;
3
+ moduleTitle?: string;
4
+ };
5
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
+ declare const _default: typeof __VLS_export;
7
+ export default _default;
@@ -0,0 +1,48 @@
1
+ import type { PageQuerySummary, PageQuerySummarySource } from './pageCompositionDraftState';
2
+ export interface PageQuerySummaryEditorIssues {
3
+ source?: string;
4
+ fieldName?: string;
5
+ contributorKey?: string;
6
+ groupByField?: string;
7
+ label?: string;
8
+ }
9
+ type __VLS_Props = {
10
+ summaries: PageQuerySummary[];
11
+ catalog?: {
12
+ fields?: Array<{
13
+ fieldName: string;
14
+ title: string;
15
+ }>;
16
+ contributors?: Array<{
17
+ contributorKey: string;
18
+ title: string;
19
+ }>;
20
+ groupFields?: Array<{
21
+ fieldName: string;
22
+ title: string;
23
+ kind: 'OPTION' | 'REFERENCE';
24
+ }>;
25
+ };
26
+ loading?: boolean;
27
+ error?: string;
28
+ disabled?: boolean;
29
+ selectedKey?: string;
30
+ focusRequest?: number;
31
+ issues?: Record<string, PageQuerySummaryEditorIssues>;
32
+ descriptions?: Record<string, string>;
33
+ };
34
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
35
+ move: (index: number, offset: number) => any;
36
+ add: (source: PageQuerySummarySource) => any;
37
+ remove: (index: number) => any;
38
+ update: (index: number, patch: Partial<PageQuerySummary>) => any;
39
+ retry: () => any;
40
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
41
+ onMove?: ((index: number, offset: number) => any) | undefined;
42
+ onAdd?: ((source: PageQuerySummarySource) => any) | undefined;
43
+ onRemove?: ((index: number) => any) | undefined;
44
+ onUpdate?: ((index: number, patch: Partial<PageQuerySummary>) => any) | undefined;
45
+ onRetry?: (() => any) | undefined;
46
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
47
+ declare const _default: typeof __VLS_export;
48
+ export default _default;
@@ -1,8 +1,12 @@
1
1
  import type { Role } from '../web-contracts/index';
2
- import type { ModuleContext } from '../web-core/index';
2
+ import { type ModuleContext } from '../web-core/index';
3
+ import type { ModulePageDrawerContext } from '../dynamic-page-runtime/index';
3
4
  type __VLS_Props = {
4
5
  open: boolean;
5
- container: HTMLElement | null;
6
+ container?: HTMLElement | null;
7
+ /** Uses the owning platform drawer and renders only this operation's content. */
8
+ embedded?: boolean;
9
+ drawerContext?: ModulePageDrawerContext;
6
10
  context: ModuleContext<Role>;
7
11
  role?: Role;
8
12
  };
@@ -1,9 +1,16 @@
1
+ import type { Role } from '../web-contracts/index';
2
+ import { type ModuleContext } from '../web-core/index';
3
+ import type { ModulePageDrawerContext } from '../dynamic-page-runtime/index';
1
4
  type __VLS_Props = {
2
5
  roleId?: string;
6
+ /** Reuses a host-governed module context when this view is mounted as an extension surface. */
7
+ moduleContext?: ModuleContext<Role>;
3
8
  /** Parent page root required when this view is displayed inside a drawer. */
4
9
  container?: HTMLElement | null;
5
10
  /** A parent management tab owns the initial wide drawer before promotion. */
6
11
  drawer?: boolean;
12
+ /** The action drawer owns the outer title and fixed operation region. */
13
+ drawerContext?: ModulePageDrawerContext;
7
14
  };
8
15
  declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
16
  close: () => any;
@@ -1,8 +1,12 @@
1
1
  import type { Role } from '../web-contracts/index';
2
2
  import type { ModuleContext } from '../web-core/index';
3
+ import type { ModulePageDrawerContext } from '../dynamic-page-runtime/index';
3
4
  type __VLS_Props = {
4
5
  open: boolean;
5
- container: HTMLElement | null;
6
+ container?: HTMLElement | null;
7
+ /** Uses the owning platform drawer and renders only this operation's content. */
8
+ embedded?: boolean;
9
+ drawerContext?: ModulePageDrawerContext;
6
10
  context: ModuleContext<Role>;
7
11
  role?: Role;
8
12
  };
@@ -0,0 +1,201 @@
1
+ export type BusinessRuleKind = 'CALCULATION' | 'VALIDATION' | 'UI_CONTROL';
2
+ export interface BusinessRuleEditableField {
3
+ fieldName: string;
4
+ title: string;
5
+ fieldSpecAlias: string;
6
+ valueType: string;
7
+ /** Direct child fields declare the aggregate functions that can consume them. */
8
+ aggregateFunctions?: string[];
9
+ }
10
+ /**
11
+ * The page-reference-fields response is deliberately a small, UI-neutral catalogue. Formula
12
+ * governance consumes it as a source directory; it does not treat it as a save-time authority.
13
+ */
14
+ export interface BusinessRuleReferenceField {
15
+ id: string;
16
+ name: string;
17
+ label?: string;
18
+ valueType: string;
19
+ referenceModuleAlias?: string;
20
+ referenceCardinality?: string;
21
+ expandable?: boolean;
22
+ readOnly?: boolean;
23
+ systemManaged?: boolean;
24
+ value?: unknown;
25
+ /** Additive catalogue metadata; absent means use the stable conservative fallback below. */
26
+ formulaReadable?: boolean;
27
+ formulaDisabledReason?: string;
28
+ /** Direct child fields declare the aggregate functions that can consume them. */
29
+ aggregateFunctions?: string[];
30
+ }
31
+ export interface BusinessRuleFormulaParameter {
32
+ name: string;
33
+ description: string;
34
+ }
35
+ /** A portable formula capability. A server catalogue can replace this list without changing the surface. */
36
+ export interface BusinessRuleFormulaCapability {
37
+ id: string;
38
+ label: string;
39
+ purpose: string;
40
+ /** Explains the business problem the formula solves before showing its example. */
41
+ description: string;
42
+ category: string;
43
+ signature: string;
44
+ parameters: BusinessRuleFormulaParameter[];
45
+ returnType: string;
46
+ example: string;
47
+ insertion: string;
48
+ firstParameterSelection: {
49
+ start: number;
50
+ end: number;
51
+ };
52
+ }
53
+ /** The additive backend catalogue shape. UI-only insertion details remain derived from the portable name. */
54
+ export interface BusinessRuleFormulaCatalogEntry {
55
+ name: string;
56
+ category?: string;
57
+ title?: string;
58
+ description?: string;
59
+ parameters?: BusinessRuleFormulaParameter[];
60
+ returnType?: string;
61
+ example?: string;
62
+ }
63
+ export declare const portableFormulaCapabilities: readonly BusinessRuleFormulaCapability[];
64
+ export declare function normalizeFormulaCapabilities(entries: readonly (BusinessRuleFormulaCapability | BusinessRuleFormulaCatalogEntry)[] | undefined): BusinessRuleFormulaCapability[];
65
+ export declare function searchableFormulaCapabilities(capabilities: readonly BusinessRuleFormulaCapability[], keyword: string): BusinessRuleFormulaCapability[];
66
+ /** Root fields that cannot safely become scalar formula input have a visible, deterministic reason. */
67
+ export declare function formulaFieldUnusableReason(field: BusinessRuleReferenceField): string | undefined;
68
+ /**
69
+ * Prevents a child field from being inserted as a scalar or into an aggregate whose value type
70
+ * cannot consume it. The server remains authoritative; this only keeps authoring feedback close
71
+ * to the attempted insertion.
72
+ */
73
+ export declare function aggregateFieldInsertionReason(field: BusinessRuleReferenceField, expression: string, selectionStart: number): string | undefined;
74
+ export interface UiControlTarget {
75
+ elementKey: string;
76
+ hide: boolean;
77
+ readOnly: boolean;
78
+ }
79
+ export interface UiControlForm {
80
+ key: string;
81
+ title: string;
82
+ elements: Array<{
83
+ key: string;
84
+ label: string;
85
+ }>;
86
+ }
87
+ export interface UiControlSnapshot {
88
+ baselineFingerprint: string;
89
+ rules: Array<{
90
+ code: string;
91
+ formKey: string;
92
+ expression: string;
93
+ enabled: boolean;
94
+ targets: UiControlTarget[];
95
+ }>;
96
+ forms: UiControlForm[];
97
+ }
98
+ export interface BusinessRuleSnapshotRule {
99
+ formKey?: string;
100
+ targets?: UiControlTarget[];
101
+ code: string;
102
+ kind: BusinessRuleKind | string;
103
+ phase: string;
104
+ targetField?: string;
105
+ expression: string;
106
+ enabled: boolean;
107
+ severity?: string;
108
+ messageTemplate?: string;
109
+ stopOnError?: boolean;
110
+ editable: boolean;
111
+ readOnlyReason?: string;
112
+ }
113
+ export interface BusinessRuleSnapshot {
114
+ moduleAlias: string;
115
+ baselineFingerprint: string;
116
+ editableFields: BusinessRuleEditableField[];
117
+ /** Already authorised referenced paths used by the persisted snapshot. These are read-only trial facts. */
118
+ referenceFields?: Array<{
119
+ path: string;
120
+ title: string;
121
+ valueType: string;
122
+ }>;
123
+ /** Direct child fields, which may only appear within a child aggregation function. */
124
+ aggregateFields?: BusinessRuleEditableField[];
125
+ /** Additive portable function directory emitted by the server. */
126
+ functions?: BusinessRuleFormulaCatalogEntry[];
127
+ rules: BusinessRuleSnapshotRule[];
128
+ }
129
+ export interface BusinessRuleProposal {
130
+ formKey?: string;
131
+ targets?: UiControlTarget[];
132
+ code: string;
133
+ kind: BusinessRuleKind;
134
+ targetField?: string;
135
+ expression: string;
136
+ enabled: boolean;
137
+ messageTemplate?: string;
138
+ }
139
+ export interface BusinessRuleIssue {
140
+ code: string;
141
+ ruleCode?: string;
142
+ field?: string;
143
+ message: string;
144
+ }
145
+ export interface BusinessRulePreview {
146
+ snapshot: BusinessRuleSnapshot;
147
+ proposalFingerprint: string;
148
+ executionOrder: string[];
149
+ errors: BusinessRuleIssue[];
150
+ }
151
+ export interface BusinessRuleTrialResult {
152
+ preview: BusinessRulePreview;
153
+ values: Record<string, unknown>;
154
+ changedFields: string[];
155
+ errors: BusinessRuleIssue[];
156
+ }
157
+ export interface BusinessRuleApplyResult {
158
+ snapshot: BusinessRuleSnapshot;
159
+ preview: BusinessRulePreview;
160
+ activatedModules: string[];
161
+ }
162
+ export interface FormulaInsertion {
163
+ value: string;
164
+ selectionStart: number;
165
+ selectionEnd: number;
166
+ }
167
+ export interface BusinessRuleChangeImpact {
168
+ added: BusinessRuleProposal[];
169
+ modified: BusinessRuleProposal[];
170
+ deleted: BusinessRuleProposal[];
171
+ }
172
+ export interface BusinessRuleFormulaTemplate {
173
+ id: string;
174
+ label: string;
175
+ expression: string;
176
+ help: string;
177
+ }
178
+ export declare function editableProposals(snapshot: BusinessRuleSnapshot): BusinessRuleProposal[];
179
+ export declare function readonlyRules(snapshot: BusinessRuleSnapshot): BusinessRuleSnapshotRule[];
180
+ export declare function toProposal(rule: Pick<BusinessRuleSnapshotRule, keyof BusinessRuleProposal>): BusinessRuleProposal;
181
+ export declare function newBusinessRule(kind: BusinessRuleKind, existingRules: readonly Pick<BusinessRuleProposal, 'code'>[]): BusinessRuleProposal;
182
+ export declare function isBusinessRuleKind(value: string): value is BusinessRuleKind;
183
+ export declare function proposalFingerprintOf(proposals: readonly BusinessRuleProposal[]): string;
184
+ export declare function typedSampleValue(value: string, valueType: string): unknown;
185
+ /**
186
+ * Inserts formula text at the active selection. The returned selection keeps the editor focused
187
+ * immediately after the inserted text, including when a selected range was replaced.
188
+ */
189
+ export declare function insertFormulaText(expression: string, selectionStart: number | undefined, selectionEnd: number | undefined, text: string): FormulaInsertion;
190
+ /** Reads only real field tokens; references inside string literals are formula text, not dependencies. */
191
+ export declare function referencedFormulaFields(expression: string): string[];
192
+ /** Replaces only executable field tokens with their business names for read-only UI summaries. */
193
+ export declare function presentableFormulaExpression(expression: string, fields: readonly BusinessRuleEditableField[]): string;
194
+ /**
195
+ * Trial inputs are the real external dependencies of all enabled rules. Targets produced by an
196
+ * enabled calculation are intentionally omitted, including targets referenced by a later rule.
197
+ */
198
+ export declare function externalTrialInputFields(fields: readonly BusinessRuleEditableField[], rules: readonly BusinessRuleProposal[]): BusinessRuleEditableField[];
199
+ export declare function filterBusinessRuleFields(fields: readonly BusinessRuleEditableField[], keyword: string): BusinessRuleEditableField[];
200
+ export declare function formulaTemplates(kind: BusinessRuleKind, fields: readonly BusinessRuleEditableField[], targetField?: string): BusinessRuleFormulaTemplate[];
201
+ export declare function businessRuleChangeImpact(snapshot: BusinessRuleSnapshot, proposals: readonly BusinessRuleProposal[]): BusinessRuleChangeImpact;
@@ -0,0 +1,75 @@
1
+ import type { MetadataField, ModuleMetadataRelation } from '../web-contracts/index';
2
+ import { type MetadataFieldPropertyDraft, type MetadataFieldPropertySummary } from './metadataOrchestrationState';
3
+ export type MetadataFieldGovernanceKind = 'BUSINESS' | 'CAPABILITY_DERIVED' | 'PLATFORM_SYSTEM' | 'RELATION_FOREIGN_KEY';
4
+ export interface MetadataFieldChangeSetDraft {
5
+ operation: 'ADD' | 'UPDATE' | 'DELETE';
6
+ fieldId?: string;
7
+ expectedFieldVersion?: number;
8
+ field?: MetadataField;
9
+ /** JSON-facing command contract; projection mappings remain an ordered string array. */
10
+ property?: MetadataFieldPropertyChangeSetPayload;
11
+ }
12
+ export type MetadataFieldPropertyChangeSetPayload = MetadataFieldPropertyDraft;
13
+ export declare function toFieldPropertyChangeSetPayload(property: MetadataFieldPropertyDraft): MetadataFieldPropertyChangeSetPayload;
14
+ export interface MetadataRelationChangeSetProposal {
15
+ expectedMetadataVersion: number;
16
+ fieldDrafts: MetadataFieldChangeSetDraft[];
17
+ }
18
+ /** Input facts are loaded for every node before a module-wide edit session begins. */
19
+ export interface MetadataModelRelationDraftSource {
20
+ relationId: string;
21
+ metadataId: string;
22
+ parentMetadataId?: string;
23
+ sortOrder?: number;
24
+ expectedMetadataVersion: number;
25
+ fields: MetadataField[];
26
+ /** The server's sortable set; definition protection does not restrict display ordering. */
27
+ sortableFieldIds?: string[];
28
+ fieldProperties?: MetadataFieldPropertySummary[];
29
+ }
30
+ export interface MetadataModelRelationDraft {
31
+ metadataId: string;
32
+ relationId: string;
33
+ expectedMetadataVersion: number;
34
+ fields: Record<string, MetadataField>;
35
+ fieldProperties: Record<string, MetadataFieldPropertyDraft>;
36
+ parentMetadataId?: string;
37
+ fieldOrder: string[];
38
+ sortableFieldIds: string[];
39
+ }
40
+ export interface MetadataModelChangeSetProposal {
41
+ relationDrafts: Array<MetadataRelationChangeSetProposal & {
42
+ relationId: string;
43
+ }>;
44
+ relationOrders: Array<{
45
+ parentMetadataId?: string;
46
+ relationIds: string[];
47
+ }>;
48
+ fieldOrders: Array<{
49
+ relationId: string;
50
+ fieldIds: string[];
51
+ }>;
52
+ }
53
+ /**
54
+ * A single local session for the entire visible metadata model. It deliberately reuses the
55
+ * relation-level field proposal shape: the module façade owns atomic validation/persistence while
56
+ * this class keeps every tree action local until the user chooses one publish operation.
57
+ */
58
+ export declare function createMetadataModelWorkspaceEditSession(): {
59
+ draft: import("vue").Ref<Record<string, MetadataModelRelationDraft> | undefined, Record<string, MetadataModelRelationDraft> | undefined>;
60
+ relationOrder: import("vue").Ref<Record<string, string[]>, Record<string, string[]>>;
61
+ editing: import("vue").ComputedRef<boolean>;
62
+ isDirty: import("vue").ComputedRef<boolean>;
63
+ begin: (sources: MetadataModelRelationDraftSource[]) => void;
64
+ cancel: () => void;
65
+ relation: (relationId: string) => MetadataModelRelationDraft | undefined;
66
+ fieldsForDisplay: (relationId: string, fallback: MetadataField[]) => MetadataField[];
67
+ propertyForField: (relationId: string, field: MetadataField) => MetadataFieldPropertyDraft;
68
+ stageField: (relationId: string, field: MetadataField, property?: MetadataFieldPropertyDraft, replaceNewFieldKey?: string) => void;
69
+ stageFieldOrder: (relationId: string, fieldIds: string[]) => void;
70
+ stageRelationOrder: (parentMetadataId: string | undefined, relationIds: string[]) => void;
71
+ buildProposal: () => MetadataModelChangeSetProposal | undefined;
72
+ };
73
+ export declare function metadataFieldGovernanceKind(field: MetadataField, relation: ModuleMetadataRelation | undefined, capabilityFieldNames: ReadonlySet<string>): MetadataFieldGovernanceKind;
74
+ export declare function metadataFieldGovernanceLabel(kind: MetadataFieldGovernanceKind): string;
75
+ export declare function isSessionEditableMetadataField(field: MetadataField, relation: ModuleMetadataRelation | undefined, capabilityFieldNames: ReadonlySet<string>): boolean;
@@ -0,0 +1,40 @@
1
+ import type { Metadata, MetadataField, ModuleMetadataRelation } from '../web-contracts/index';
2
+ import type { UiTreeDropEvent, UiTreeNode } from '../vue-ui-antdv/index';
3
+ export type MetadataModelTreeNodeKind = 'METADATA' | 'FIELD';
4
+ export interface MetadataModelTreeNode extends UiTreeNode {
5
+ modelKind: MetadataModelTreeNodeKind;
6
+ relationId?: string;
7
+ fieldId?: string;
8
+ /** Parent relation, not the visual root. It makes the reorder boundary explicit. */
9
+ parentRelationId?: string;
10
+ /** Locked nodes are intentionally visible but never draggable. */
11
+ draggable?: boolean;
12
+ }
13
+ export interface MetadataModelTreeInput {
14
+ relations: ModuleMetadataRelation[];
15
+ metadataById: Record<string, Metadata>;
16
+ fieldsByRelation: Record<string, MetadataField[]>;
17
+ fieldLocked: (relation: ModuleMetadataRelation, field: MetadataField) => boolean;
18
+ }
19
+ /**
20
+ * The governance tree is a projection of the model, not a second persistence shape. Metadata
21
+ * branches and field leaves retain their relation/field identities so the page can route to
22
+ * strongly typed cards. The explorer title already states "元数据", so entity nodes are roots
23
+ * rather than being wrapped in a redundant virtual node.
24
+ */
25
+ export declare function buildMetadataModelTree(input: MetadataModelTreeInput): MetadataModelTreeNode[];
26
+ export declare function metadataNodeKey(relationId: string): string;
27
+ export declare function fieldNodeKey(relationId: string, fieldId: string): string;
28
+ export declare function parseMetadataModelTreeKey(key: string): {
29
+ kind: 'METADATA';
30
+ relationId: string;
31
+ } | {
32
+ kind: 'FIELD';
33
+ relationId: string;
34
+ fieldId: string;
35
+ } | undefined;
36
+ /** Only same-parent gap drops are legal. Dropping "on" a node would imply changing model structure. */
37
+ export declare function canReorderMetadataModelTree(event: UiTreeDropEvent): boolean;
38
+ export declare function reorderedIds<T extends {
39
+ id?: string;
40
+ }>(items: T[], sourceId: string, targetId: string, place: -1 | 1): string[];
@@ -0,0 +1,7 @@
1
+ import type { MetadataFieldPropertyKind } from './metadataOrchestrationState';
2
+ export declare function physicalNameOf(fieldName?: string): string;
3
+ export declare function generatedFieldName(title?: string): string;
4
+ /** Default names for newly created business fields; runtime semantics remain metadata-driven. */
5
+ export declare function generatedBusinessFieldName(title: string | undefined, kind: MetadataFieldPropertyKind): string;
6
+ /** Metadata identifiers use lower snake case; they are stable after explicit editing. */
7
+ export declare function generatedMetadataAlias(title: string, maxLength?: number): string;