@ximatai/muyun-web-app 0.26.8 → 0.26.9

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 (171) hide show
  1. package/dist/DictionaryManagementView-CtIQpqVA.js +1035 -0
  2. package/dist/MenuManagementView-DJhkN2sG.js +837 -0
  3. package/dist/{MetadataOrchestrationView-DKYVGMzy.js → MetadataOrchestrationView-CzhAgEdX.js} +211 -205
  4. package/dist/{ModuleActionManagementView-DiVzuPdu.js → ModuleActionManagementView-CM2d8jPO.js} +72 -72
  5. package/dist/{RoleAuthorizationView-C0s4Bog7.js → RoleAuthorizationView-jn_WUCeg.js} +228 -221
  6. package/dist/{RoleDetailWorkspaceView-dqHxKVfd.js → RoleDetailWorkspaceView-CzaQ3Dz1.js} +1 -1
  7. package/dist/RoleManagementView-nY7qu4GF.js +1951 -0
  8. package/dist/{SystemUserDetailWorkspaceView-CQ9WeLrR.js → SystemUserDetailWorkspaceView-CBvqmWvP.js} +1 -1
  9. package/dist/SystemUserManagementView-AEomKvK7.js +887 -0
  10. package/dist/currentUserContext-B1lj1WgF.js +11 -0
  11. package/dist/index.css +1 -1
  12. package/dist/index.js +531 -4402
  13. package/dist/{platform-components-CFU_zR7-.js → platform-components-CIi6GdC9.js} +4832 -3453
  14. package/dist/types/App.vue.d.ts +1 -0
  15. package/dist/types/app/StaticRoutePageHost.vue.d.ts +11 -0
  16. package/dist/types/app/loginTenant.d.ts +1 -1
  17. package/dist/types/app/menuRouteCompiler.d.ts +45 -0
  18. package/dist/types/app/menuRouteRuntime.d.ts +24 -0
  19. package/dist/types/app/pageRouteContext.d.ts +24 -0
  20. package/dist/types/app/routeDiagnosticsStore.d.ts +10 -0
  21. package/dist/types/app/router.d.ts +15 -0
  22. package/dist/types/app/staticRouteDefinitions.d.ts +25 -0
  23. package/dist/types/app/workbenchRouteSync.d.ts +1 -1
  24. package/dist/types/app/workbenchStartup.d.ts +3 -3
  25. package/dist/types/consumer/index.d.ts +5 -3
  26. package/dist/types/dynamic-page-runtime/DynamicModuleHost.vue.d.ts +3 -10
  27. package/dist/types/dynamic-page-runtime/DynamicRecordDetailActions.vue.d.ts +4 -3
  28. package/dist/types/dynamic-page-runtime/ManagedDetailRelationInlineSurface.vue.d.ts +40 -0
  29. package/dist/types/dynamic-page-runtime/ManagedDetailRelationSurface.vue.d.ts +14 -0
  30. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +26 -0
  31. package/dist/types/dynamic-page-runtime/ModulePageFormContributionRenderer.vue.d.ts +12 -0
  32. package/dist/types/dynamic-page-runtime/ModulePageHost.vue.d.ts +14 -0
  33. package/dist/types/dynamic-page-runtime/ModulePageListExpansionSurface.vue.d.ts +19 -0
  34. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansion.vue.d.ts +13 -0
  35. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansions.vue.d.ts +16 -0
  36. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +42 -0
  37. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +41 -0
  38. package/dist/types/dynamic-page-runtime/NavigatorManagementEditor.vue.d.ts +20 -1
  39. package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +12 -5
  40. package/dist/types/dynamic-page-runtime/RecordFormSurface.vue.d.ts +31 -0
  41. package/dist/types/dynamic-page-runtime/composables/useManagedDetailRelationRuntime.d.ts +30 -0
  42. package/dist/types/dynamic-page-runtime/composables/useModulePageActions.d.ts +13 -0
  43. package/dist/types/dynamic-page-runtime/composables/useModulePageBootstrap.d.ts +17 -0
  44. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailActionRuntime.d.ts +48 -0
  45. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts +26 -0
  46. package/dist/types/dynamic-page-runtime/composables/useModulePageFormContributionRuntime.d.ts +22 -0
  47. package/dist/types/dynamic-page-runtime/composables/useModulePageListSession.d.ts +41 -0
  48. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +1324 -0
  49. package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +22 -0
  50. package/dist/types/dynamic-page-runtime/dynamicModuleDetailStateModel.d.ts +5 -12
  51. package/dist/types/dynamic-page-runtime/formComputeCoordinator.d.ts +18 -0
  52. package/dist/types/dynamic-page-runtime/index.d.ts +3 -2
  53. package/dist/types/dynamic-page-runtime/listPageSizePreference.d.ts +10 -0
  54. package/dist/types/dynamic-page-runtime/moduleDetailStateModel.d.ts +12 -0
  55. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +181 -7
  56. package/dist/types/dynamic-page-runtime/navigatorVisibility.d.ts +6 -0
  57. package/dist/types/dynamic-page-runtime/pageContextRuntime.d.ts +2 -2
  58. package/dist/types/dynamic-page-runtime/recordDetailController.d.ts +9 -1
  59. package/dist/types/dynamic-page-runtime/relationFormComputeCoordinator.d.ts +9 -0
  60. package/dist/types/formula/FormulaRuntime.d.ts +29 -0
  61. package/dist/types/platform-admin-runtime/WorkspaceViewDrawer.vue.d.ts +1 -0
  62. package/dist/types/{views/UserDetailWorkspaceView.vue.d.ts → platform-admin-runtime/employee/EmployeeAccountDrawer.vue.d.ts} +2 -2
  63. package/dist/types/platform-admin-runtime/employeeModulePageEnhancement.d.ts +3 -0
  64. package/dist/types/platform-admin-runtime/index.d.ts +1 -1
  65. package/dist/types/platform-admin-runtime/moduleOpenApi.d.ts +2 -0
  66. package/dist/types/platform-admin-runtime/passwordPolicyPageEnhancement.d.ts +6 -0
  67. package/dist/types/platform-admin-runtime/platformAdminRoutes.d.ts +1 -6
  68. package/dist/types/platform-admin-runtime/platformModulePageEnhancement.d.ts +9 -0
  69. package/dist/types/platform-admin-runtime/tenant/TenantApplicationConfigurationDrawer.vue.d.ts +7 -0
  70. package/dist/types/platform-admin-runtime/tenant/TenantApplicationsDetailSection.vue.d.ts +7 -0
  71. package/dist/types/platform-admin-runtime/tenantModulePageEnhancement.d.ts +7 -0
  72. package/dist/types/platform-admin-runtime/user/UserOnlineStatusCell.vue.d.ts +8 -0
  73. package/dist/types/platform-admin-runtime/user/UserPasswordDrawer.vue.d.ts +7 -0
  74. package/dist/types/platform-admin-runtime/user/UserSessionListExpansion.vue.d.ts +7 -0
  75. package/dist/types/platform-admin-runtime/user/useUserSessionRows.d.ts +23 -0
  76. package/dist/types/platform-admin-runtime/user/userOnlineStatusStore.d.ts +11 -0
  77. package/dist/types/platform-admin-runtime/userModulePageEnhancement.d.ts +7 -0
  78. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +4 -2
  79. package/dist/types/platform-components/DetailRelationListPanel.vue.d.ts +13 -0
  80. package/dist/types/{views/EmployeeDetailWorkspaceView.vue.d.ts → platform-components/DrawerTitleActions.vue.d.ts} +2 -1
  81. package/dist/types/platform-components/FileTransferUploader.vue.d.ts +7 -0
  82. package/dist/types/platform-components/ModuleActionButton.vue.d.ts +5 -2
  83. package/dist/types/platform-components/RecordContentSectionHeading.vue.d.ts +17 -0
  84. package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +3 -0
  85. package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +8 -3
  86. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +5 -0
  87. package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +11 -3
  88. package/dist/types/platform-components/RecordDetailPanel.vue.d.ts +14 -6
  89. package/dist/types/platform-components/RecordExpandedSubtable.vue.d.ts +3 -0
  90. package/dist/types/platform-components/RecordFileReferenceTransfer.vue.d.ts +4 -0
  91. package/dist/types/platform-components/RecordFormFields.vue.d.ts +29 -1
  92. package/dist/types/platform-components/RecordImageFileReferencePreview.vue.d.ts +11 -0
  93. package/dist/types/platform-components/RecordListExpansionSurface.vue.d.ts +13 -0
  94. package/dist/types/platform-components/RecordListExplorer.vue.d.ts +4 -2
  95. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +2 -1
  96. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +12 -2
  97. package/dist/types/platform-components/RecordPicker.vue.d.ts +10 -2
  98. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +33 -5
  99. package/dist/types/{views/EmployeeEmploymentDrawer.vue.d.ts → platform-components/RecordRelationTabs.vue.d.ts} +7 -7
  100. package/dist/types/platform-components/RecordSelectionCheckbox.vue.d.ts +13 -0
  101. package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +12 -4
  102. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +4 -2
  103. package/dist/types/platform-components/UserSessionExpandedSubtable.vue.d.ts +2 -0
  104. package/dist/types/platform-components/drawerTitleActions.d.ts +11 -0
  105. package/dist/types/platform-components/index.d.ts +11 -3
  106. package/dist/types/platform-components/optionFieldOptionCache.d.ts +3 -0
  107. package/dist/types/platform-components/recordDetailFieldModel.d.ts +2 -0
  108. package/dist/types/platform-components/recordFormFieldModel.d.ts +67 -4
  109. package/dist/types/platform-components/recordPickerConstraints.d.ts +2 -0
  110. package/dist/types/platform-components/recordPickerModel.d.ts +6 -2
  111. package/dist/types/platform-workbench/Workbench.vue.d.ts +2 -2
  112. package/dist/types/platform-workbench/index.d.ts +3 -2
  113. package/dist/types/platform-workbench/legacyPageHostTypeCompatibility.d.ts +6 -0
  114. package/dist/types/platform-workbench/menuNavigation.d.ts +24 -2
  115. package/dist/types/platform-workbench/pageCacheKey.d.ts +2 -0
  116. package/dist/types/platform-workbench/pageHostRegistry.d.ts +1 -1
  117. package/dist/types/platform-workbench/workbenchNavigation.d.ts +14 -1
  118. package/dist/types/views/PasswordPolicyPreview.vue.d.ts +7 -0
  119. package/dist/types/views/RoleAccountGrantDrawer.vue.d.ts +1 -0
  120. package/dist/types/views/RoleAuthorizationView.vue.d.ts +2 -0
  121. package/dist/types/views/RoleEmploymentGrantDrawer.vue.d.ts +1 -0
  122. package/dist/types/views/{EmployeeManagementView.vue.d.ts → UserDetailRouteView.vue.d.ts} +3 -2
  123. package/dist/types/views/UserManagementListView.vue.d.ts +3 -0
  124. package/dist/types/views/UserManagementView.vue.d.ts +1 -6
  125. package/dist/types/views/WorkspaceRouteView.vue.d.ts +3 -0
  126. package/dist/types/views/menuManagementState.d.ts +2 -0
  127. package/dist/types/views/userDetailStateModel.d.ts +1 -3
  128. package/dist/types/views/userManagementRouteState.d.ts +11 -0
  129. package/dist/types/vue-ui-antdv/components/UiButton.vue.d.ts +3 -0
  130. package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
  131. package/dist/types/vue-ui-antdv/components/UiInput.vue.d.ts +2 -1
  132. package/dist/types/vue-ui-antdv/components/UiRadioGroup.vue.d.ts +18 -0
  133. package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +2 -2
  134. package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +4 -2
  135. package/dist/types/vue-ui-antdv/index.d.ts +4 -2
  136. package/dist/types/web-contracts/index.d.ts +303 -12
  137. package/dist/types/web-core/businessNotifications.d.ts +3 -2
  138. package/dist/types/web-core/index.d.ts +1 -0
  139. package/dist/types/web-core/module/abilities.d.ts +7 -7
  140. package/dist/types/web-core/module/moduleContext.d.ts +5 -3
  141. package/dist/types/web-core/module/runtimeContext.d.ts +2 -0
  142. package/dist/types/web-core/module/staticModuleClient.d.ts +36 -10
  143. package/dist/types/web-core/referenceResolveClient.d.ts +11 -0
  144. package/dist/workspaceViewSessions-B5g4M0rT.js +51 -0
  145. package/dist/workspaceViews-CkERhK0K.js +8748 -0
  146. package/package.json +1 -1
  147. package/dist/EmployeeDetailWorkspaceView-DswEDSxH.js +0 -14
  148. package/dist/EmployeeManagementView-C9STtw08.js +0 -1777
  149. package/dist/RoleManagementView-D43pUCxi.js +0 -1926
  150. package/dist/SystemUserManagementView-D75_ylYk.js +0 -758
  151. package/dist/UserDetailWorkspaceView-BCST01d2.js +0 -17
  152. package/dist/UserManagementView-CcdvDo_y.js +0 -964
  153. package/dist/pageRealtime-EAiGWKEo.js +0 -227
  154. package/dist/types/views/EmployeeDetailContent.vue.d.ts +0 -64
  155. package/dist/types/views/employeeDetailStateModel.d.ts +0 -39
  156. package/dist/types/views/employeeDetailWorkspaceSession.d.ts +0 -16
  157. package/dist/types/views/employeeDetailWorkspaceView.d.ts +0 -4
  158. package/dist/types/views/fieldUiControlManagementState.d.ts +0 -76
  159. package/dist/types/views/moduleManagementState.d.ts +0 -76
  160. package/dist/types/views/positionManagementState.d.ts +0 -218
  161. package/dist/types/views/tenantManagementState.d.ts +0 -74
  162. package/dist/types/views/useEmployeeEmploymentRows.d.ts +0 -20
  163. package/dist/types/views/userDetailWorkspaceSession.d.ts +0 -14
  164. package/dist/types/views/userDetailWorkspaceView.d.ts +0 -4
  165. package/dist/useUserSessionRows-DCpUZCzN.js +0 -128
  166. package/dist/workspaceViewSessions-Dj1LjdG1.js +0 -4984
  167. /package/dist/types/views/{FieldUiControlManagementView.vue.d.ts → DynamicModuleRouteView.vue.d.ts} +0 -0
  168. /package/dist/types/views/{ModuleManagementView.vue.d.ts → ExternalRouteView.vue.d.ts} +0 -0
  169. /package/dist/types/views/{PasswordManagementView.vue.d.ts → ModuleOpenApiRouteView.vue.d.ts} +0 -0
  170. /package/dist/types/views/{PositionManagementView.vue.d.ts → OpenApiCatalogRouteView.vue.d.ts} +0 -0
  171. /package/dist/types/views/{TenantManagementView.vue.d.ts → RouteDiagnosticsView.vue.d.ts} +0 -0
@@ -0,0 +1,31 @@
1
+ import { type RecordFormFieldDescriptor, type RecordFormFieldPickerConfig, type RecordFormRecord, type RecordFormFieldValue } from '../platform-components/index';
2
+ import type { ModuleContext } from '../web-core/index';
3
+ import type { QueryListRecord } from '../platform-components/index';
4
+ import { type ModulePageFormContribution, type ModulePageFormFieldPolicy } from './modulePageEnhancements';
5
+ type __VLS_Props = {
6
+ record: RecordFormRecord;
7
+ fields: Map<string, RecordFormFieldDescriptor>;
8
+ mode: 'create' | 'edit' | 'view';
9
+ formSessionKey: number;
10
+ validationRequestKey?: number;
11
+ optionContext: ModuleContext<QueryListRecord>;
12
+ fileTransferContext: ModuleContext<QueryListRecord>;
13
+ pickerConfigs: Record<string, RecordFormFieldPickerConfig>;
14
+ disabled: boolean;
15
+ excludeFieldNames?: string[];
16
+ contributions?: readonly ModulePageFormContribution[];
17
+ fieldPolicies?: readonly ModulePageFormFieldPolicy[];
18
+ };
19
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
+ "update:field": (fieldName: string, value: RecordFormFieldValue) => any;
21
+ "validity-change": (validity: {
22
+ valid: boolean;
23
+ }) => any;
24
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
25
+ "onUpdate:field"?: ((fieldName: string, value: RecordFormFieldValue) => any) | undefined;
26
+ "onValidity-change"?: ((validity: {
27
+ valid: boolean;
28
+ }) => any) | undefined;
29
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
30
+ declare const _default: typeof __VLS_export;
31
+ export default _default;
@@ -0,0 +1,30 @@
1
+ import { type Ref } from 'vue';
2
+ import type { ManagedDetailRelationClient } from '../../web-core/index';
3
+ import type { ResolvedDetailRelationDescriptor, WebPageResponse, WebQueryRequest } from '../../web-contracts/index';
4
+ export interface ManagedDetailRelationRuntimeOptions<TRecord extends Record<string, unknown>> {
5
+ relation: Ref<ResolvedDetailRelationDescriptor | undefined>;
6
+ parentId: Ref<string | undefined>;
7
+ parentPersisted: Ref<boolean>;
8
+ mutationEnabled: Ref<boolean>;
9
+ can?: (actionCode: string) => boolean;
10
+ clientOf(parentId: string, relationCode: string): ManagedDetailRelationClient<TRecord>;
11
+ }
12
+ /**
13
+ * Source-neutral association session. List rendering stays in RecordQueryListPanel; this
14
+ * collaborator owns fixed-gateway transport, mutation serialization and cross-parent isolation.
15
+ */
16
+ export declare function useManagedDetailRelationRuntime<TRecord extends Record<string, unknown>>(options: ManagedDetailRelationRuntimeOptions<TRecord>): {
17
+ records: Ref<TRecord[], TRecord[]>;
18
+ loading: Ref<boolean, boolean>;
19
+ saving: Ref<boolean, boolean>;
20
+ busy: import("vue").ComputedRef<boolean>;
21
+ error: Ref<unknown, unknown>;
22
+ reloadKey: Ref<number, number>;
23
+ executable: import("vue").ComputedRef<ResolvedDetailRelationDescriptor | undefined>;
24
+ mutable: import("vue").ComputedRef<import("../../web-contracts/index").ResolvedDetailRelationMutationContract | undefined>;
25
+ query: (request?: WebQueryRequest) => Promise<WebPageResponse<TRecord>>;
26
+ refresh: () => void;
27
+ create: (record: TRecord) => Promise<boolean>;
28
+ update: (id: string, record: TRecord) => Promise<boolean>;
29
+ remove: (id: string, version: number) => Promise<boolean>;
30
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Common action boundary for a descriptor-driven page session.
3
+ *
4
+ * Enhancements are extension code. They may open their own UI or issue a
5
+ * request, but an exception must never escape into the host render session.
6
+ */
7
+ export declare function useModulePageActions(): {
8
+ presentActionSuccess: (result: unknown, fallbackMessage: string, source?: string) => Promise<import("../../platform-components/index").PlatformActionResult>;
9
+ runEnhancementAction: <TContext>(contribution: {
10
+ key: string;
11
+ run(context: TContext): void | Promise<void>;
12
+ }, actionContext: TContext) => Promise<void>;
13
+ };
@@ -0,0 +1,17 @@
1
+ import type { PageBootstrap } from '../../web-contracts/index';
2
+ import { type ModuleContext } from '../../web-core/index';
3
+ import type { QueryListRecord } from '../../platform-components/index';
4
+ /**
5
+ * Owns the menu-entry bootstrap session for a standard module page.
6
+ *
7
+ * A host may be rendered without a persisted menu entry (for example from a
8
+ * static route). In that case no request is issued and `ready` is immediately
9
+ * true. A failed entry lookup is intentionally stateful: it is rendered by the
10
+ * host instead of allowing the rest of the page session to start with an
11
+ * unverified module alias.
12
+ */
13
+ export declare function useModulePageBootstrap(context: ModuleContext<QueryListRecord>, menuId: () => string | undefined): {
14
+ pageBootstrap: import("vue").Ref<PageBootstrap | undefined, PageBootstrap | undefined>;
15
+ pageBootstrapError: import("vue").Ref<string | undefined, string | undefined>;
16
+ loadPageBootstrap: () => Promise<void>;
17
+ };
@@ -0,0 +1,48 @@
1
+ import { type Ref } from 'vue';
2
+ import type { RecordActionItem, RecordFormFieldDescriptor, RecordFormRecord } from '../../platform-components/index';
3
+ import type { PageBootstrap, PageBootstrapActionBlock } from '../../web-contracts/index';
4
+ import type { ModuleContext } from '../../web-core/index';
5
+ import type { QueryListRecord } from '../../platform-components/index';
6
+ interface DetailLoader {
7
+ resolveLoad(record: QueryListRecord): void;
8
+ }
9
+ export interface ModulePageDetailActionRuntimeOptions {
10
+ context: ModuleContext<QueryListRecord>;
11
+ pageBootstrap: Ref<PageBootstrap | undefined>;
12
+ selectedRecord: Ref<QueryListRecord | undefined>;
13
+ editorMode: Ref<'create' | 'edit' | 'view'>;
14
+ detail: DetailLoader;
15
+ refreshList(): void;
16
+ /** Current local-edit form validity, owned by RecordFormFields at the host boundary. */
17
+ localEditValid?: Ref<boolean>;
18
+ presentSuccess(result: unknown, fallbackMessage: string, source: string): Promise<unknown> | unknown;
19
+ presentError(cause: unknown, source: string): void;
20
+ }
21
+ /**
22
+ * Runs server-issued detail action contracts and their typed local-edit forms.
23
+ *
24
+ * The host retains layout and action routing. This runtime owns the action
25
+ * payload, refresh policy and error/success lifecycle, so presentation
26
+ * templates never acquire request or authorization responsibilities.
27
+ */
28
+ export declare function useModulePageDetailActionRuntime(options: ModulePageDetailActionRuntimeOptions): {
29
+ supportedDetailActions: import("vue").ComputedRef<RecordActionItem[]>;
30
+ localEditActionBlocks: import("vue").ComputedRef<(PageBootstrapActionBlock & {
31
+ localEditForm: NonNullable<PageBootstrapActionBlock["localEditForm"]>;
32
+ })[]>;
33
+ detailPageActions: import("vue").ComputedRef<RecordActionItem[]>;
34
+ localEditOpen: Ref<boolean, boolean>;
35
+ localEditSaving: Ref<boolean, boolean>;
36
+ localEditBlock: Ref<(PageBootstrapActionBlock & {
37
+ localEditForm: NonNullable<PageBootstrapActionBlock["localEditForm"]>;
38
+ }) | undefined, (PageBootstrapActionBlock & {
39
+ localEditForm: NonNullable<PageBootstrapActionBlock["localEditForm"]>;
40
+ }) | undefined>;
41
+ localEditDraft: Ref<RecordFormRecord | undefined, RecordFormRecord | undefined>;
42
+ localEditFields: import("vue").ComputedRef<Map<string, RecordFormFieldDescriptor>>;
43
+ handleConfiguredAction: (action: {
44
+ key?: string;
45
+ }) => boolean;
46
+ submitLocalEdit: () => Promise<void>;
47
+ };
48
+ export {};
@@ -0,0 +1,26 @@
1
+ import type { QueryListRecord } from '../../platform-components/index';
2
+ import type { ModuleContext } from '../../web-core/index';
3
+ import type { ModulePageDetailSectionContext, ModulePageDrawer, ModulePageDrawerAction, ModulePageDrawerContext, ModulePageRecordViewContext, ModulePageScopeContext } from '../modulePageEnhancements';
4
+ export interface ModulePageEnhancementDrawerRuntime {
5
+ definition: ModulePageDrawer;
6
+ context: ModulePageDrawerContext;
7
+ titleActions: ModulePageDrawerAction[];
8
+ closeBlocked: boolean;
9
+ }
10
+ interface Options {
11
+ module: ModuleContext<QueryListRecord>;
12
+ scope(): ModulePageScopeContext | undefined;
13
+ refreshList(): void;
14
+ reload(): void;
15
+ closeDetail(): void;
16
+ }
17
+ /** Owns frontend-only detail extension invalidation and drawer lifecycle. */
18
+ export declare function useModulePageDetailExtensionRuntime(options: Options): {
19
+ drawer: import("vue").Ref<ModulePageEnhancementDrawerRuntime | undefined, ModulePageEnhancementDrawerRuntime | undefined>;
20
+ refreshDetailExtensions: () => void;
21
+ sectionContext: (record: QueryListRecord) => ModulePageDetailSectionContext;
22
+ recordViewContext: (record: QueryListRecord) => ModulePageRecordViewContext;
23
+ openDrawer: (definition: ModulePageDrawer, record?: QueryListRecord) => void;
24
+ closeDrawer: () => void;
25
+ };
26
+ export {};
@@ -0,0 +1,22 @@
1
+ import { type Ref } from 'vue';
2
+ import { type RecordFormFieldDescriptor, type RecordFormFieldState, type RecordFormFieldValue, type RecordFormRecord } from '../../platform-components/index';
3
+ import { type ModulePageFormContribution, type ModulePageFormContributionContext, type ModulePageFormContributionState } from '../modulePageEnhancements';
4
+ interface UseModulePageFormContributionRuntimeOptions {
5
+ contributions: Ref<readonly ModulePageFormContribution[]>;
6
+ mode: Ref<'create' | 'edit' | 'view'>;
7
+ draft: Ref<RecordFormRecord | undefined>;
8
+ fields: Ref<Map<string, RecordFormFieldDescriptor>>;
9
+ formSessionKey: Ref<number>;
10
+ setField(fieldName: string, value: RecordFormFieldValue): void;
11
+ }
12
+ /**
13
+ * Keeps application contribution validity at the same save boundary as the
14
+ * descriptor-owned form, without giving contributed components access to the
15
+ * module HTTP client or mutable form state.
16
+ */
17
+ export declare function useModulePageFormContributionRuntime(options: UseModulePageFormContributionRuntimeOptions): {
18
+ valid: import("vue").ComputedRef<boolean>;
19
+ contextFor: (contribution: ModulePageFormContribution, field?: Readonly<RecordFormFieldState>) => ModulePageFormContributionContext;
20
+ stateSnapshot: () => ModulePageFormContributionState;
21
+ };
22
+ export {};
@@ -0,0 +1,41 @@
1
+ import { type Ref } from 'vue';
2
+ import type { QueryListRecord, RecordQueryListMode } from '../../platform-components/index';
3
+ export interface ModulePageListSessionOptions {
4
+ selectedRecord: Ref<QueryListRecord | undefined>;
5
+ saving: Ref<boolean>;
6
+ resetDetail(): void;
7
+ invalidateDetailLoad(): void;
8
+ resetTreeSelection(): void;
9
+ openRecord(record: QueryListRecord): void;
10
+ openRecycleBinRecord(record: QueryListRecord): void;
11
+ }
12
+ /**
13
+ * Owns list-side state and record selection policy for one module-page session.
14
+ *
15
+ * This boundary deliberately has no HTTP, authorization, bootstrap or template
16
+ * dependencies. The host supplies the already-authorized detail transitions,
17
+ * keeping list/card/drawer selection behaviour reusable and directly testable.
18
+ */
19
+ export declare function useModulePageListSession(options: ModulePageListSessionOptions): {
20
+ listMode: Ref<RecordQueryListMode, RecordQueryListMode>;
21
+ reloadKey: Ref<number, number>;
22
+ cardAssistantRecords: Ref<{
23
+ [x: string]: unknown;
24
+ id?: string | undefined;
25
+ enabled?: boolean | undefined;
26
+ }[], QueryListRecord[] | {
27
+ [x: string]: unknown;
28
+ id?: string | undefined;
29
+ enabled?: boolean | undefined;
30
+ }[]>;
31
+ handleLoaded: (records: QueryListRecord[]) => void;
32
+ handleFlatManagementLoaded: (records: QueryListRecord[], recycleBinActive: boolean) => void;
33
+ setCardAssistantRecords: (records: QueryListRecord[]) => void;
34
+ resetFlatManagementSelection: () => void;
35
+ handleListModeChange: (mode: RecordQueryListMode) => void;
36
+ handleRecycleBinRestore: () => void;
37
+ selectRecord: (record: QueryListRecord) => void;
38
+ selectListDetailRecord: (record: QueryListRecord, detailSurfaceUsesDrawer: boolean) => void;
39
+ selectStandaloneListRecord: (record: QueryListRecord) => void;
40
+ openListRecord: (record: QueryListRecord) => void;
41
+ };