@ximatai/muyun-web-app 0.26.3

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 (241) hide show
  1. package/dist/EmployeeDetailWorkspaceView-mtdcsqgF.js +14 -0
  2. package/dist/EmployeeManagementView-CKKvQZaC.js +1706 -0
  3. package/dist/MetadataOrchestrationView-CprWBocy.js +655 -0
  4. package/dist/ModuleActionManagementView-DNuAQUPE.js +597 -0
  5. package/dist/RoleAuthorizationView-CQtSAJoJ.js +592 -0
  6. package/dist/RoleDetailWorkspaceView-Dh8DXpyS.js +26 -0
  7. package/dist/RoleManagementView-BrqaFV7y.js +1927 -0
  8. package/dist/SystemUserDetailWorkspaceView-N-kvycAu.js +17 -0
  9. package/dist/SystemUserManagementView-BVS5moV5.js +761 -0
  10. package/dist/UserDetailWorkspaceView-Iek6xwix.js +17 -0
  11. package/dist/UserManagementView-BR_Jz8O-.js +965 -0
  12. package/dist/currentUserContext-B1lj1WgF.js +11 -0
  13. package/dist/index.css +2 -0
  14. package/dist/index.js +7127 -0
  15. package/dist/pageRealtime-sRtDYlQP.js +140 -0
  16. package/dist/platform-components-bC1gwhic.js +8412 -0
  17. package/dist/types/App.vue.d.ts +3 -0
  18. package/dist/types/app/ChangeOwnPasswordDialog.vue.d.ts +27 -0
  19. package/dist/types/app/LoginView.vue.d.ts +14 -0
  20. package/dist/types/app/appWorkbenchStartup.d.ts +3 -0
  21. package/dist/types/app/devWorkbenchStartup.d.ts +1 -0
  22. package/dist/types/app/loginTenant.d.ts +6 -0
  23. package/dist/types/app/platformMessage.d.ts +6 -0
  24. package/dist/types/app/query.d.ts +3 -0
  25. package/dist/types/app/router.d.ts +1 -0
  26. package/dist/types/app/workbenchStartup.d.ts +24 -0
  27. package/dist/types/consumer/PlatformAdminOutlet.vue.d.ts +7 -0
  28. package/dist/types/consumer/index.d.ts +15 -0
  29. package/dist/types/dynamic-page-runtime/DynamicModuleHost.vue.d.ts +7 -0
  30. package/dist/types/dynamic-page-runtime/DynamicModulePage.vue.d.ts +7 -0
  31. package/dist/types/dynamic-page-runtime/actionReactions.d.ts +16 -0
  32. package/dist/types/dynamic-page-runtime/index.d.ts +3 -0
  33. package/dist/types/dynamic-page-runtime/mockDescriptor.d.ts +2 -0
  34. package/dist/types/main.d.ts +2 -0
  35. package/dist/types/platform-admin-runtime/PlatformAdminOutlet.vue.d.ts +7 -0
  36. package/dist/types/platform-admin-runtime/WorkspaceViewDrawer.vue.d.ts +32 -0
  37. package/dist/types/platform-admin-runtime/WorkspaceViewOutlet.vue.d.ts +7 -0
  38. package/dist/types/platform-admin-runtime/authSession.d.ts +8 -0
  39. package/dist/types/platform-admin-runtime/backendHttp.d.ts +3 -0
  40. package/dist/types/platform-admin-runtime/currentUserContext.d.ts +4 -0
  41. package/dist/types/platform-admin-runtime/index.d.ts +12 -0
  42. package/dist/types/platform-admin-runtime/moduleOpenApi.d.ts +36 -0
  43. package/dist/types/platform-admin-runtime/pageRealtime.d.ts +61 -0
  44. package/dist/types/platform-admin-runtime/platformAdminRoutes.d.ts +21 -0
  45. package/dist/types/platform-admin-runtime/realtime.d.ts +20 -0
  46. package/dist/types/platform-admin-runtime/sessionRecovery.d.ts +3 -0
  47. package/dist/types/platform-admin-runtime/useWorkspaceViewPromotion.d.ts +24 -0
  48. package/dist/types/platform-admin-runtime/workspaceViewContract.d.ts +36 -0
  49. package/dist/types/platform-admin-runtime/workspaceViewContributions.d.ts +3 -0
  50. package/dist/types/platform-admin-runtime/workspaceViewHost.d.ts +10 -0
  51. package/dist/types/platform-admin-runtime/workspaceViewSessions.d.ts +18 -0
  52. package/dist/types/platform-admin-runtime/workspaceViews.d.ts +18 -0
  53. package/dist/types/platform-components/ApplicationScopeSwitcher.vue.d.ts +18 -0
  54. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +52 -0
  55. package/dist/types/platform-components/DateTimeText.vue.d.ts +15 -0
  56. package/dist/types/platform-components/DrawerOperationBar.vue.d.ts +18 -0
  57. package/dist/types/platform-components/EnabledSelect.vue.d.ts +14 -0
  58. package/dist/types/platform-components/ManagementExplorerColumn.vue.d.ts +13 -0
  59. package/dist/types/platform-components/ManagementWorkspace.vue.d.ts +19 -0
  60. package/dist/types/platform-components/ModuleActionButton.vue.d.ts +40 -0
  61. package/dist/types/platform-components/RecordActionBar.vue.d.ts +20 -0
  62. package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +37 -0
  63. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +23 -0
  64. package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +37 -0
  65. package/dist/types/platform-components/RecordDetailPanel.vue.d.ts +25 -0
  66. package/dist/types/platform-components/RecordExpandedSubtable.vue.d.ts +29 -0
  67. package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +39 -0
  68. package/dist/types/platform-components/RecordExternalChangeNotice.vue.d.ts +20 -0
  69. package/dist/types/platform-components/RecordFormFields.vue.d.ts +31 -0
  70. package/dist/types/platform-components/RecordListExplorer.vue.d.ts +42 -0
  71. package/dist/types/platform-components/RecordMetaSection.vue.d.ts +8 -0
  72. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +74 -0
  73. package/dist/types/platform-components/RecordPicker.vue.d.ts +35 -0
  74. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +103 -0
  75. package/dist/types/platform-components/RecordStatusSwitch.vue.d.ts +18 -0
  76. package/dist/types/platform-components/RecordStatusTag.vue.d.ts +6 -0
  77. package/dist/types/platform-components/RecordTreeSelector.vue.d.ts +22 -0
  78. package/dist/types/platform-components/RecycleBinModeButton.vue.d.ts +16 -0
  79. package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +44 -0
  80. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +57 -0
  81. package/dist/types/platform-components/UserSessionExpandedSubtable.vue.d.ts +26 -0
  82. package/dist/types/platform-components/actionConfirmation.d.ts +3 -0
  83. package/dist/types/platform-components/crudRecordListModel.d.ts +10 -0
  84. package/dist/types/platform-components/drawerPromotion.d.ts +4 -0
  85. package/dist/types/platform-components/index.d.ts +76 -0
  86. package/dist/types/platform-components/optionFieldOptions.d.ts +10 -0
  87. package/dist/types/platform-components/pageLayoutContext.d.ts +6 -0
  88. package/dist/types/platform-components/platformActionResultFeedback.d.ts +12 -0
  89. package/dist/types/platform-components/platformActionResultReactions.d.ts +53 -0
  90. package/dist/types/platform-components/platformDateTime.d.ts +16 -0
  91. package/dist/types/platform-components/platformErrorFeedback.d.ts +15 -0
  92. package/dist/types/platform-components/platformTimeZoneContext.d.ts +3 -0
  93. package/dist/types/platform-components/recordActionBarModel.d.ts +27 -0
  94. package/dist/types/platform-components/recordDetailFieldModel.d.ts +7 -0
  95. package/dist/types/platform-components/recordDraftNormalizer.d.ts +1 -0
  96. package/dist/types/platform-components/recordEditorSessionState.d.ts +38 -0
  97. package/dist/types/platform-components/recordExplorerItemModel.d.ts +8 -0
  98. package/dist/types/platform-components/recordFormFieldModel.d.ts +57 -0
  99. package/dist/types/platform-components/recordPickerConstraints.d.ts +20 -0
  100. package/dist/types/platform-components/recordPickerModel.d.ts +2 -0
  101. package/dist/types/platform-components/recycleBinState.d.ts +39 -0
  102. package/dist/types/platform-components/scopedResourceTreeModuleContext.d.ts +6 -0
  103. package/dist/types/platform-components/scopedTreeModuleContext.d.ts +10 -0
  104. package/dist/types/platform-components/softDeletedConflictHandler.d.ts +75 -0
  105. package/dist/types/platform-components/staticCrudManagementState.d.ts +66 -0
  106. package/dist/types/platform-components/staticFormActionFlow.d.ts +39 -0
  107. package/dist/types/platform-components/staticTreeResourceModuleContext.d.ts +7 -0
  108. package/dist/types/platform-components/treeRecordModel.d.ts +17 -0
  109. package/dist/types/platform-components/useRecycleBinExplorerMode.d.ts +26 -0
  110. package/dist/types/platform-components/userSessionPresentation.d.ts +12 -0
  111. package/dist/types/platform-workbench/Workbench.vue.d.ts +46 -0
  112. package/dist/types/platform-workbench/WorkbenchMenu.vue.d.ts +23 -0
  113. package/dist/types/platform-workbench/WorkbenchMenuTree.vue.d.ts +13 -0
  114. package/dist/types/platform-workbench/WorkbenchOutlet.vue.d.ts +7 -0
  115. package/dist/types/platform-workbench/hosts/BusinessRouteHost.vue.d.ts +7 -0
  116. package/dist/types/platform-workbench/hosts/ExternalPageHost.vue.d.ts +7 -0
  117. package/dist/types/platform-workbench/hosts/PlatformRouteHost.vue.d.ts +7 -0
  118. package/dist/types/platform-workbench/index.d.ts +11 -0
  119. package/dist/types/platform-workbench/menuNavigation.d.ts +28 -0
  120. package/dist/types/platform-workbench/menuTreeModel.d.ts +20 -0
  121. package/dist/types/platform-workbench/pageHostRegistry.d.ts +3 -0
  122. package/dist/types/platform-workbench/realtimeStatus.d.ts +7 -0
  123. package/dist/types/platform-workbench/workbenchNavigation.d.ts +12 -0
  124. package/dist/types/views/ApplicationManagementView.vue.d.ts +3 -0
  125. package/dist/types/views/DepartmentManagementView.vue.d.ts +3 -0
  126. package/dist/types/views/DictionaryManagementView.vue.d.ts +3 -0
  127. package/dist/types/views/EmployeeDetailContent.vue.d.ts +64 -0
  128. package/dist/types/views/EmployeeDetailWorkspaceView.vue.d.ts +6 -0
  129. package/dist/types/views/EmployeeEmploymentDrawer.vue.d.ts +14 -0
  130. package/dist/types/views/EmployeeEmploymentTable.vue.d.ts +18 -0
  131. package/dist/types/views/EmployeeManagementView.vue.d.ts +7 -0
  132. package/dist/types/views/FieldSpecManagementView.vue.d.ts +3 -0
  133. package/dist/types/views/FieldUiControlManagementView.vue.d.ts +3 -0
  134. package/dist/types/views/HomeView.vue.d.ts +3 -0
  135. package/dist/types/views/MenuManagementView.vue.d.ts +3 -0
  136. package/dist/types/views/MetadataOrchestrationView.vue.d.ts +8 -0
  137. package/dist/types/views/ModuleActionManagementView.vue.d.ts +9 -0
  138. package/dist/types/views/ModuleManagementView.vue.d.ts +3 -0
  139. package/dist/types/views/ModuleOpenApiView.vue.d.ts +10 -0
  140. package/dist/types/views/OpenApiCatalogView.vue.d.ts +9 -0
  141. package/dist/types/views/OrganizationManagementView.vue.d.ts +3 -0
  142. package/dist/types/views/PasswordManagementView.vue.d.ts +3 -0
  143. package/dist/types/views/PositionManagementView.vue.d.ts +3 -0
  144. package/dist/types/views/RoleAccountGrantDrawer.vue.d.ts +16 -0
  145. package/dist/types/views/RoleAuthorizationView.vue.d.ts +12 -0
  146. package/dist/types/views/RoleDetailWorkspaceView.vue.d.ts +9 -0
  147. package/dist/types/views/RoleEmploymentGrantDrawer.vue.d.ts +16 -0
  148. package/dist/types/views/RoleGroupMemberSelector.vue.d.ts +18 -0
  149. package/dist/types/views/RoleManagementView.vue.d.ts +9 -0
  150. package/dist/types/views/SystemUserDetailWorkspaceView.vue.d.ts +7 -0
  151. package/dist/types/views/SystemUserManagementView.vue.d.ts +7 -0
  152. package/dist/types/views/TenantManagementView.vue.d.ts +3 -0
  153. package/dist/types/views/UserDetailContent.vue.d.ts +32 -0
  154. package/dist/types/views/UserDetailWorkspaceView.vue.d.ts +7 -0
  155. package/dist/types/views/UserManagementView.vue.d.ts +8 -0
  156. package/dist/types/views/applicationManagementState.d.ts +64 -0
  157. package/dist/types/views/departmentManagementState.d.ts +137 -0
  158. package/dist/types/views/dictionaryManagementState.d.ts +215 -0
  159. package/dist/types/views/employeeDetailStateModel.d.ts +39 -0
  160. package/dist/types/views/employeeDetailWorkspaceSession.d.ts +16 -0
  161. package/dist/types/views/employeeDetailWorkspaceView.d.ts +4 -0
  162. package/dist/types/views/fieldSpecManagementState.d.ts +80 -0
  163. package/dist/types/views/fieldUiControlManagementState.d.ts +76 -0
  164. package/dist/types/views/menuManagementState.d.ts +178 -0
  165. package/dist/types/views/metadataOrchestrationState.d.ts +278 -0
  166. package/dist/types/views/metadataOrchestrationWorkspaceView.d.ts +6 -0
  167. package/dist/types/views/moduleActionManagementWorkspaceView.d.ts +7 -0
  168. package/dist/types/views/moduleManagementState.d.ts +76 -0
  169. package/dist/types/views/organizationManagementState.d.ts +64 -0
  170. package/dist/types/views/positionManagementState.d.ts +218 -0
  171. package/dist/types/views/roleAuthorizationWorkspaceSession.d.ts +17 -0
  172. package/dist/types/views/roleAuthorizationWorkspaceView.d.ts +5 -0
  173. package/dist/types/views/roleDetailWorkspaceSession.d.ts +19 -0
  174. package/dist/types/views/roleDetailWorkspaceView.d.ts +8 -0
  175. package/dist/types/views/roleGrantClient.d.ts +59 -0
  176. package/dist/types/views/systemUserDetailWorkspaceSession.d.ts +12 -0
  177. package/dist/types/views/systemUserDetailWorkspaceView.d.ts +5 -0
  178. package/dist/types/views/tenantManagementState.d.ts +64 -0
  179. package/dist/types/views/useEmployeeEmploymentRows.d.ts +20 -0
  180. package/dist/types/views/useUserSessionRows.d.ts +28 -0
  181. package/dist/types/views/userDetailStateModel.d.ts +11 -0
  182. package/dist/types/views/userDetailWorkspaceSession.d.ts +14 -0
  183. package/dist/types/views/userDetailWorkspaceView.d.ts +4 -0
  184. package/dist/types/vue-ui-antdv/components/ActionBar.vue.d.ts +11 -0
  185. package/dist/types/vue-ui-antdv/components/DictionarySelect.vue.d.ts +14 -0
  186. package/dist/types/vue-ui-antdv/components/ReferenceSelect.vue.d.ts +16 -0
  187. package/dist/types/vue-ui-antdv/components/UiActionButton.vue.d.ts +37 -0
  188. package/dist/types/vue-ui-antdv/components/UiBadge.vue.d.ts +20 -0
  189. package/dist/types/vue-ui-antdv/components/UiButton.vue.d.ts +41 -0
  190. package/dist/types/vue-ui-antdv/components/UiCheckbox.vue.d.ts +30 -0
  191. package/dist/types/vue-ui-antdv/components/UiDataTable.vue.d.ts +71 -0
  192. package/dist/types/vue-ui-antdv/components/UiDropdown.vue.d.ts +29 -0
  193. package/dist/types/vue-ui-antdv/components/UiEmpty.vue.d.ts +6 -0
  194. package/dist/types/vue-ui-antdv/components/UiError.vue.d.ts +7 -0
  195. package/dist/types/vue-ui-antdv/components/UiForm.vue.d.ts +15 -0
  196. package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +7 -0
  197. package/dist/types/vue-ui-antdv/components/UiInput.vue.d.ts +25 -0
  198. package/dist/types/vue-ui-antdv/components/UiMenu.vue.d.ts +19 -0
  199. package/dist/types/vue-ui-antdv/components/UiModal.vue.d.ts +36 -0
  200. package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +26 -0
  201. package/dist/types/vue-ui-antdv/components/UiSearchInput.vue.d.ts +22 -0
  202. package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +30 -0
  203. package/dist/types/vue-ui-antdv/components/UiSidePanel.vue.d.ts +28 -0
  204. package/dist/types/vue-ui-antdv/components/UiSidePanelHost.vue.d.ts +13 -0
  205. package/dist/types/vue-ui-antdv/components/UiSpin.vue.d.ts +22 -0
  206. package/dist/types/vue-ui-antdv/components/UiSwitch.vue.d.ts +22 -0
  207. package/dist/types/vue-ui-antdv/components/UiTable.vue.d.ts +13 -0
  208. package/dist/types/vue-ui-antdv/components/UiTabs.vue.d.ts +14 -0
  209. package/dist/types/vue-ui-antdv/components/UiTextArea.vue.d.ts +20 -0
  210. package/dist/types/vue-ui-antdv/components/UiTooltip.vue.d.ts +19 -0
  211. package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +17 -0
  212. package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +30 -0
  213. package/dist/types/vue-ui-antdv/components/sidePanelHost.d.ts +3 -0
  214. package/dist/types/vue-ui-antdv/confirm.d.ts +5 -0
  215. package/dist/types/vue-ui-antdv/dataTableModel.d.ts +10 -0
  216. package/dist/types/vue-ui-antdv/dictionaries.d.ts +2 -0
  217. package/dist/types/vue-ui-antdv/feedback.d.ts +10 -0
  218. package/dist/types/vue-ui-antdv/index.d.ts +36 -0
  219. package/dist/types/vue-ui-antdv/references.d.ts +8 -0
  220. package/dist/types/vue-ui-antdv/registry.d.ts +3 -0
  221. package/dist/types/vue-ui-antdv/types.d.ts +65 -0
  222. package/dist/types/web-contracts/index.d.ts +862 -0
  223. package/dist/types/web-core/actionResult.d.ts +28 -0
  224. package/dist/types/web-core/clients.d.ts +23 -0
  225. package/dist/types/web-core/dataChanges.d.ts +15 -0
  226. package/dist/types/web-core/errors.d.ts +65 -0
  227. package/dist/types/web-core/http.d.ts +21 -0
  228. package/dist/types/web-core/index.d.ts +8 -0
  229. package/dist/types/web-core/mock.d.ts +6 -0
  230. package/dist/types/web-core/module/abilities.d.ts +21 -0
  231. package/dist/types/web-core/module/abilityCodes.d.ts +18 -0
  232. package/dist/types/web-core/module/index.d.ts +6 -0
  233. package/dist/types/web-core/module/moduleContext.d.ts +49 -0
  234. package/dist/types/web-core/module/recycleBin.d.ts +6 -0
  235. package/dist/types/web-core/module/runtimeContext.d.ts +65 -0
  236. package/dist/types/web-core/module/staticModuleClient.d.ts +45 -0
  237. package/dist/types/web-core/query.d.ts +16 -0
  238. package/dist/types/web-core/realtime.d.ts +104 -0
  239. package/dist/useUserSessionRows-CLM0ZvAF.js +128 -0
  240. package/dist/workspaceViewSessions-WsJU3OS7.js +1578 -0
  241. package/package.json +27 -0
@@ -0,0 +1,278 @@
1
+ import type { FieldSpec, Metadata, MetadataField, ModuleMetadataRelation } from '@muyun/web-contracts';
2
+ import type { RecordExplorerItemDescriptor } from '../platform-components/recordExplorerItemModel';
3
+ /** Editor lifecycle of the metadata orchestration workspace. */
4
+ export type MetadataOrchestrationMode = 'view' | 'create-main' | 'create-field' | 'edit-field';
5
+ export interface MainMetadataDraft {
6
+ alias: string;
7
+ title: string;
8
+ schemaName: string;
9
+ tableName: string;
10
+ dataScopeEnabled: boolean;
11
+ }
12
+ export type MetadataFieldDraft = Partial<MetadataField>;
13
+ export interface FieldSpecOption {
14
+ value: string;
15
+ label: string;
16
+ }
17
+ export declare function createMetadataOrchestrationState(): {
18
+ relations: import("vue").Ref<{
19
+ moduleAlias?: string | undefined;
20
+ metadataId?: string | undefined;
21
+ relationAlias?: string | undefined;
22
+ relationRole?: "MAIN" | "CHILD" | undefined;
23
+ parentMetadataId?: string | undefined;
24
+ foreignKey?: string | undefined;
25
+ autoPopulate?: boolean | undefined;
26
+ sortOrder?: number | undefined;
27
+ title?: string | undefined;
28
+ id?: string | undefined;
29
+ tenantId?: string | undefined;
30
+ version?: number | undefined;
31
+ deleted?: boolean | undefined;
32
+ deletedAt?: string | undefined;
33
+ createdBy?: string | undefined;
34
+ createdAt?: string | undefined;
35
+ updatedBy?: string | undefined;
36
+ updatedAt?: string | undefined;
37
+ }[], ModuleMetadataRelation[] | {
38
+ moduleAlias?: string | undefined;
39
+ metadataId?: string | undefined;
40
+ relationAlias?: string | undefined;
41
+ relationRole?: "MAIN" | "CHILD" | undefined;
42
+ parentMetadataId?: string | undefined;
43
+ foreignKey?: string | undefined;
44
+ autoPopulate?: boolean | undefined;
45
+ sortOrder?: number | undefined;
46
+ title?: string | undefined;
47
+ id?: string | undefined;
48
+ tenantId?: string | undefined;
49
+ version?: number | undefined;
50
+ deleted?: boolean | undefined;
51
+ deletedAt?: string | undefined;
52
+ createdBy?: string | undefined;
53
+ createdAt?: string | undefined;
54
+ updatedBy?: string | undefined;
55
+ updatedAt?: string | undefined;
56
+ }[]>;
57
+ metadataById: import("vue").Ref<Record<string, Metadata>, Record<string, Metadata>>;
58
+ selectedRelationId: import("vue").Ref<string | undefined, string | undefined>;
59
+ fields: import("vue").Ref<{
60
+ metadataId?: string | undefined;
61
+ fieldName?: string | undefined;
62
+ columnName?: string | undefined;
63
+ fieldSpecAlias?: string | undefined;
64
+ fieldOwnership?: string | undefined;
65
+ fieldForm?: string | undefined;
66
+ ownerFieldId?: string | undefined;
67
+ fieldRole?: string | undefined;
68
+ systemManaged?: boolean | undefined;
69
+ required?: boolean | undefined;
70
+ uniqueField?: boolean | undefined;
71
+ indexed?: boolean | undefined;
72
+ sortableField?: boolean | undefined;
73
+ titleField?: boolean | undefined;
74
+ enabled?: boolean | undefined;
75
+ sortOrder?: number | undefined;
76
+ title?: string | undefined;
77
+ id?: string | undefined;
78
+ tenantId?: string | undefined;
79
+ version?: number | undefined;
80
+ deleted?: boolean | undefined;
81
+ deletedAt?: string | undefined;
82
+ createdBy?: string | undefined;
83
+ createdAt?: string | undefined;
84
+ updatedBy?: string | undefined;
85
+ updatedAt?: string | undefined;
86
+ }[], MetadataField[] | {
87
+ metadataId?: string | undefined;
88
+ fieldName?: string | undefined;
89
+ columnName?: string | undefined;
90
+ fieldSpecAlias?: string | undefined;
91
+ fieldOwnership?: string | undefined;
92
+ fieldForm?: string | undefined;
93
+ ownerFieldId?: string | undefined;
94
+ fieldRole?: string | undefined;
95
+ systemManaged?: boolean | undefined;
96
+ required?: boolean | undefined;
97
+ uniqueField?: boolean | undefined;
98
+ indexed?: boolean | undefined;
99
+ sortableField?: boolean | undefined;
100
+ titleField?: boolean | undefined;
101
+ enabled?: boolean | undefined;
102
+ sortOrder?: number | undefined;
103
+ title?: string | undefined;
104
+ id?: string | undefined;
105
+ tenantId?: string | undefined;
106
+ version?: number | undefined;
107
+ deleted?: boolean | undefined;
108
+ deletedAt?: string | undefined;
109
+ createdBy?: string | undefined;
110
+ createdAt?: string | undefined;
111
+ updatedBy?: string | undefined;
112
+ updatedAt?: string | undefined;
113
+ }[]>;
114
+ fieldSpecs: import("vue").Ref<{
115
+ alias?: string | undefined;
116
+ fieldType?: string | undefined;
117
+ defaultLength?: number | undefined;
118
+ defaultPrecision?: number | undefined;
119
+ defaultScale?: number | undefined;
120
+ defaultQueryOperator?: string | undefined;
121
+ queryOperators?: string[] | undefined;
122
+ defaultUiControlAlias?: string | undefined;
123
+ uiControlAliases?: string[] | undefined;
124
+ enabled?: boolean | undefined;
125
+ sortOrder?: number | undefined;
126
+ title?: string | undefined;
127
+ id?: string | undefined;
128
+ tenantId?: string | undefined;
129
+ version?: number | undefined;
130
+ deleted?: boolean | undefined;
131
+ deletedAt?: string | undefined;
132
+ createdBy?: string | undefined;
133
+ createdAt?: string | undefined;
134
+ updatedBy?: string | undefined;
135
+ updatedAt?: string | undefined;
136
+ }[], FieldSpec[] | {
137
+ alias?: string | undefined;
138
+ fieldType?: string | undefined;
139
+ defaultLength?: number | undefined;
140
+ defaultPrecision?: number | undefined;
141
+ defaultScale?: number | undefined;
142
+ defaultQueryOperator?: string | undefined;
143
+ queryOperators?: string[] | undefined;
144
+ defaultUiControlAlias?: string | undefined;
145
+ uiControlAliases?: string[] | undefined;
146
+ enabled?: boolean | undefined;
147
+ sortOrder?: number | undefined;
148
+ title?: string | undefined;
149
+ id?: string | undefined;
150
+ tenantId?: string | undefined;
151
+ version?: number | undefined;
152
+ deleted?: boolean | undefined;
153
+ deletedAt?: string | undefined;
154
+ createdBy?: string | undefined;
155
+ createdAt?: string | undefined;
156
+ updatedBy?: string | undefined;
157
+ updatedAt?: string | undefined;
158
+ }[]>;
159
+ mode: import("vue").Ref<MetadataOrchestrationMode, MetadataOrchestrationMode>;
160
+ mainMetadataDraft: import("vue").Ref<{
161
+ alias: string;
162
+ title: string;
163
+ schemaName: string;
164
+ tableName: string;
165
+ dataScopeEnabled: boolean;
166
+ }, MainMetadataDraft | {
167
+ alias: string;
168
+ title: string;
169
+ schemaName: string;
170
+ tableName: string;
171
+ dataScopeEnabled: boolean;
172
+ }>;
173
+ fieldDraft: import("vue").Ref<{
174
+ metadataId?: string | undefined;
175
+ fieldName?: string | undefined;
176
+ columnName?: string | undefined;
177
+ fieldSpecAlias?: string | undefined;
178
+ fieldOwnership?: string | undefined;
179
+ fieldForm?: string | undefined;
180
+ ownerFieldId?: string | undefined;
181
+ fieldRole?: string | undefined;
182
+ systemManaged?: boolean | undefined;
183
+ required?: boolean | undefined;
184
+ uniqueField?: boolean | undefined;
185
+ indexed?: boolean | undefined;
186
+ sortableField?: boolean | undefined;
187
+ titleField?: boolean | undefined;
188
+ enabled?: boolean | undefined;
189
+ sortOrder?: number | undefined;
190
+ title?: string | undefined;
191
+ id?: string | undefined;
192
+ tenantId?: string | undefined;
193
+ version?: number | undefined;
194
+ deleted?: boolean | undefined;
195
+ deletedAt?: string | undefined;
196
+ createdBy?: string | undefined;
197
+ createdAt?: string | undefined;
198
+ updatedBy?: string | undefined;
199
+ updatedAt?: string | undefined;
200
+ }, Partial<MetadataField> | {
201
+ metadataId?: string | undefined;
202
+ fieldName?: string | undefined;
203
+ columnName?: string | undefined;
204
+ fieldSpecAlias?: string | undefined;
205
+ fieldOwnership?: string | undefined;
206
+ fieldForm?: string | undefined;
207
+ ownerFieldId?: string | undefined;
208
+ fieldRole?: string | undefined;
209
+ systemManaged?: boolean | undefined;
210
+ required?: boolean | undefined;
211
+ uniqueField?: boolean | undefined;
212
+ indexed?: boolean | undefined;
213
+ sortableField?: boolean | undefined;
214
+ titleField?: boolean | undefined;
215
+ enabled?: boolean | undefined;
216
+ sortOrder?: number | undefined;
217
+ title?: string | undefined;
218
+ id?: string | undefined;
219
+ tenantId?: string | undefined;
220
+ version?: number | undefined;
221
+ deleted?: boolean | undefined;
222
+ deletedAt?: string | undefined;
223
+ createdBy?: string | undefined;
224
+ createdAt?: string | undefined;
225
+ updatedBy?: string | undefined;
226
+ updatedAt?: string | undefined;
227
+ }>;
228
+ selectedRelation: import("vue").ComputedRef<{
229
+ moduleAlias?: string | undefined;
230
+ metadataId?: string | undefined;
231
+ relationAlias?: string | undefined;
232
+ relationRole?: "MAIN" | "CHILD" | undefined;
233
+ parentMetadataId?: string | undefined;
234
+ foreignKey?: string | undefined;
235
+ autoPopulate?: boolean | undefined;
236
+ sortOrder?: number | undefined;
237
+ title?: string | undefined;
238
+ id?: string | undefined;
239
+ tenantId?: string | undefined;
240
+ version?: number | undefined;
241
+ deleted?: boolean | undefined;
242
+ deletedAt?: string | undefined;
243
+ createdBy?: string | undefined;
244
+ createdAt?: string | undefined;
245
+ updatedBy?: string | undefined;
246
+ updatedAt?: string | undefined;
247
+ } | undefined>;
248
+ selectedMetadata: import("vue").ComputedRef<Metadata | undefined>;
249
+ hasMainMetadata: import("vue").ComputedRef<boolean>;
250
+ mainEditorOpen: import("vue").ComputedRef<boolean>;
251
+ fieldEditorOpen: import("vue").ComputedRef<boolean>;
252
+ fieldSpecOptions: import("vue").ComputedRef<FieldSpecOption[]>;
253
+ handleRelationsLoaded: (loaded: ModuleMetadataRelation[]) => void;
254
+ handleMetadataLoaded: (metadata: Metadata) => void;
255
+ handleFieldsLoaded: (loaded: MetadataField[]) => void;
256
+ handleFieldSpecsLoaded: (loaded: FieldSpec[]) => void;
257
+ selectRelation: (relation: ModuleMetadataRelation) => boolean;
258
+ focusRelation: (relationId: string | undefined) => void;
259
+ startCreateMain: () => void;
260
+ startCreateField: () => void;
261
+ startEditField: (field: MetadataField) => void;
262
+ cancelEditor: () => void;
263
+ };
264
+ export type MetadataOrchestrationState = ReturnType<typeof createMetadataOrchestrationState>;
265
+ export declare function emptyMainMetadataDraft(): MainMetadataDraft;
266
+ export declare function normalizeMainMetadataDraft(draft: MainMetadataDraft): MainMetadataDraft;
267
+ export declare function isValidMainMetadataDraft(draft: MainMetadataDraft): boolean;
268
+ export declare function emptyFieldDraft(): MetadataFieldDraft;
269
+ export declare function copyMetadataField(field: MetadataField): MetadataFieldDraft;
270
+ export declare function isValidFieldDraft(draft: MetadataFieldDraft): boolean;
271
+ export declare function normalizeFieldDraft(draft: MetadataFieldDraft): MetadataFieldDraft;
272
+ /** Only business-owned physical fields are orchestrated; platform-managed fields stay hidden. */
273
+ export declare function orchestratableFields(fields: MetadataField[]): MetadataField[];
274
+ export declare function fieldSpecOptionListOf(specs: FieldSpec[]): FieldSpecOption[];
275
+ export declare function entityTitleOf(relation: ModuleMetadataRelation, metadata: Metadata | undefined): string;
276
+ export declare function relationRoleTag(role: ModuleMetadataRelation['relationRole']): string | undefined;
277
+ export declare function entityExplorerItem(relation: ModuleMetadataRelation, metadata: Metadata | undefined): RecordExplorerItemDescriptor;
278
+ export declare function metadataSubtitleOf(metadata: Metadata | undefined): string | undefined;
@@ -0,0 +1,6 @@
1
+ export interface MetadataOrchestrationWorkspaceViewInput {
2
+ moduleAlias: string;
3
+ moduleTitle?: string;
4
+ }
5
+ /** A tab-scoped metadata workbench for one dynamic module. */
6
+ export declare const metadataOrchestrationWorkspaceView: import("../platform-admin-runtime/workspaceViewContract").WorkspaceViewDefinition<MetadataOrchestrationWorkspaceViewInput>;
@@ -0,0 +1,7 @@
1
+ export interface ModuleActionManagementWorkspaceViewInput {
2
+ moduleAlias: string;
3
+ moduleTitle?: string;
4
+ moduleKind?: 'static' | 'dynamic';
5
+ }
6
+ /** A tab-scoped action directory for exactly one module. */
7
+ export declare const moduleActionManagementWorkspaceView: import("../platform-admin-runtime/workspaceViewContract").WorkspaceViewDefinition<ModuleActionManagementWorkspaceViewInput>;
@@ -0,0 +1,76 @@
1
+ import type { ModuleEntryType, PlatformModule } from '@muyun/web-contracts';
2
+ import type { ModuleContext } from '@muyun/web-core';
3
+ import type { UiConfirmOptions } from '@muyun/vue-ui-antdv';
4
+ export type ModuleManagementMode = 'view' | 'edit' | 'create-root' | 'create-child';
5
+ type ConfirmAction = (options: UiConfirmOptions) => Promise<boolean>;
6
+ export declare function createModuleManagementState(moduleContext: ModuleContext<PlatformModule>, applicationAlias: () => string | undefined, confirmAction: ConfirmAction): {
7
+ moduleReloadKey: import("vue").Ref<number, number>;
8
+ selectedModule: import("vue").Ref<PlatformModule | undefined, PlatformModule | undefined>;
9
+ draft: import("vue").Ref<{
10
+ alias?: string | undefined;
11
+ applicationAlias?: string | undefined;
12
+ moduleKind?: import("@muyun/web-contracts").ModuleKind | undefined;
13
+ entryType?: ModuleEntryType | undefined;
14
+ entryRoute?: string | undefined;
15
+ entryExternalUrl?: string | undefined;
16
+ systemManaged?: boolean | undefined;
17
+ enabled?: boolean | undefined;
18
+ parentId?: string | undefined;
19
+ sortOrder?: number | undefined;
20
+ title?: string | undefined;
21
+ id?: string | undefined;
22
+ tenantId?: string | undefined;
23
+ version?: number | undefined;
24
+ deleted?: boolean | undefined;
25
+ deletedAt?: string | undefined;
26
+ createdBy?: string | undefined;
27
+ createdAt?: string | undefined;
28
+ updatedBy?: string | undefined;
29
+ updatedAt?: string | undefined;
30
+ }, PlatformModule | {
31
+ alias?: string | undefined;
32
+ applicationAlias?: string | undefined;
33
+ moduleKind?: import("@muyun/web-contracts").ModuleKind | undefined;
34
+ entryType?: ModuleEntryType | undefined;
35
+ entryRoute?: string | undefined;
36
+ entryExternalUrl?: string | undefined;
37
+ systemManaged?: boolean | undefined;
38
+ enabled?: boolean | undefined;
39
+ parentId?: string | undefined;
40
+ sortOrder?: number | undefined;
41
+ title?: string | undefined;
42
+ id?: string | undefined;
43
+ tenantId?: string | undefined;
44
+ version?: number | undefined;
45
+ deleted?: boolean | undefined;
46
+ deletedAt?: string | undefined;
47
+ createdBy?: string | undefined;
48
+ createdAt?: string | undefined;
49
+ updatedBy?: string | undefined;
50
+ updatedAt?: string | undefined;
51
+ }>;
52
+ mode: import("vue").Ref<ModuleManagementMode, ModuleManagementMode>;
53
+ saving: import("vue").Ref<boolean, boolean>;
54
+ readonly: import("vue").ComputedRef<boolean>;
55
+ aliasReadonly: import("vue").ComputedRef<boolean>;
56
+ canCreate: import("vue").ComputedRef<boolean>;
57
+ canToggle: import("vue").ComputedRef<boolean>;
58
+ cardTitle: import("vue").ComputedRef<string>;
59
+ handleModulesLoaded: (records: PlatformModule[]) => void;
60
+ selectModule: (record: PlatformModule) => void;
61
+ startCreateRoot: () => void;
62
+ startCreateChild: (parent?: PlatformModule) => void;
63
+ startEdit: () => void;
64
+ cancelEdit: () => void;
65
+ save: () => Promise<void>;
66
+ toggleEnabled: () => Promise<void>;
67
+ removeSelected: () => Promise<void>;
68
+ resetForApplication: () => void;
69
+ };
70
+ export declare function moduleTitleOf(record: PlatformModule | undefined): string;
71
+ export declare function emptyModuleDraft(applicationAlias?: string): PlatformModule;
72
+ export declare function copyModule(record: PlatformModule): PlatformModule;
73
+ export declare function normalizeModuleDraft(record: PlatformModule, applicationAlias: string | undefined): PlatformModule;
74
+ export declare function isValidModule(record: PlatformModule): boolean;
75
+ export declare function moduleValidationMessage(record: PlatformModule): "模块 alias 和模块名称不能为空" | "请输入内部路由" | "请输入外部链接" | undefined;
76
+ export {};
@@ -0,0 +1,64 @@
1
+ import type { Organization } from '@muyun/web-contracts';
2
+ import { type ModuleContext } from '@muyun/web-core';
3
+ import type { UiConfirmOptions } from '@muyun/vue-ui-antdv';
4
+ import { type PlatformActionResultReactionHandler } from '@muyun/platform-components';
5
+ type CardMode = 'view' | 'edit' | 'create';
6
+ type ConfirmAction = (options: UiConfirmOptions) => Promise<boolean>;
7
+ export interface OrganizationManagementStateOptions {
8
+ actionResultReactionHandlers?: Record<string, PlatformActionResultReactionHandler | undefined>;
9
+ }
10
+ export declare function createOrganizationManagementState(organizationContext: ModuleContext<Organization>, confirmAction: ConfirmAction, options?: OrganizationManagementStateOptions): {
11
+ selected: import("vue").Ref<Organization | undefined, Organization | undefined>;
12
+ draft: import("vue").Ref<{
13
+ code?: string | undefined;
14
+ enabled?: boolean | undefined;
15
+ parentId?: string | undefined;
16
+ sortOrder?: number | undefined;
17
+ title?: string | undefined;
18
+ id?: string | undefined;
19
+ tenantId?: string | undefined;
20
+ version?: number | undefined;
21
+ deleted?: boolean | undefined;
22
+ deletedAt?: string | undefined;
23
+ createdBy?: string | undefined;
24
+ createdAt?: string | undefined;
25
+ updatedBy?: string | undefined;
26
+ updatedAt?: string | undefined;
27
+ }, Organization | {
28
+ code?: string | undefined;
29
+ enabled?: boolean | undefined;
30
+ parentId?: string | undefined;
31
+ sortOrder?: number | undefined;
32
+ title?: string | undefined;
33
+ id?: string | undefined;
34
+ tenantId?: string | undefined;
35
+ version?: number | undefined;
36
+ deleted?: boolean | undefined;
37
+ deletedAt?: string | undefined;
38
+ createdBy?: string | undefined;
39
+ createdAt?: string | undefined;
40
+ updatedBy?: string | undefined;
41
+ updatedAt?: string | undefined;
42
+ }>;
43
+ mode: import("vue").Ref<CardMode, CardMode>;
44
+ reloadKey: import("vue").Ref<number, number>;
45
+ saving: import("vue").Ref<boolean, boolean>;
46
+ actionError: import("vue").Ref<string | undefined, string | undefined>;
47
+ cardTitle: import("vue").ComputedRef<string>;
48
+ readonly: import("vue").ComputedRef<boolean>;
49
+ canCreate: import("vue").ComputedRef<boolean>;
50
+ canUpdate: import("vue").ComputedRef<boolean>;
51
+ canDelete: import("vue").ComputedRef<boolean>;
52
+ canEnable: import("vue").ComputedRef<boolean>;
53
+ canMutate: import("vue").ComputedRef<boolean>;
54
+ handleTreeLoaded: (records: Organization[]) => void;
55
+ handleSelect: (organization: Organization) => void;
56
+ startCreateRoot: () => void;
57
+ startCreateChild: () => void;
58
+ startEdit: () => void;
59
+ cancelEdit: () => void;
60
+ save: () => Promise<void>;
61
+ toggleEnabled: () => Promise<void>;
62
+ removeSelected: () => Promise<void>;
63
+ };
64
+ export {};
@@ -0,0 +1,218 @@
1
+ import type { Position, PositionCategory } from '@muyun/web-contracts';
2
+ import { type ModuleContext, type StaticModuleCrudClient } from '@muyun/web-core';
3
+ import type { UiConfirmOptions } from '@muyun/vue-ui-antdv';
4
+ import { type PlatformActionResultReactionHandler } from '@muyun/platform-components';
5
+ export type PositionCardMode = 'view' | 'edit' | 'create';
6
+ export type CategoryCardMode = 'view' | 'edit' | 'create-root' | 'create-child';
7
+ type ConfirmAction = (options: UiConfirmOptions) => Promise<boolean>;
8
+ export interface PositionManagementStateOptions {
9
+ categoryActionResultReactionHandlers?: Record<string, PlatformActionResultReactionHandler | undefined>;
10
+ positionActionResultReactionHandlers?: Record<string, PlatformActionResultReactionHandler | undefined>;
11
+ }
12
+ export declare function createPositionManagementState(categoryContext: ModuleContext<PositionCategory>, positionClient: StaticModuleCrudClient<Position>, confirmAction: ConfirmAction, options?: PositionManagementStateOptions): {
13
+ categoryReloadKey: import("vue").Ref<number, number>;
14
+ positionReloadKey: import("vue").Ref<number, number>;
15
+ categories: import("vue").Ref<{
16
+ code?: string | undefined;
17
+ description?: string | undefined;
18
+ enabled?: boolean | undefined;
19
+ parentId?: string | undefined;
20
+ sortOrder?: number | undefined;
21
+ title?: string | undefined;
22
+ id?: string | undefined;
23
+ tenantId?: string | undefined;
24
+ version?: number | undefined;
25
+ deleted?: boolean | undefined;
26
+ deletedAt?: string | undefined;
27
+ createdBy?: string | undefined;
28
+ createdAt?: string | undefined;
29
+ updatedBy?: string | undefined;
30
+ updatedAt?: string | undefined;
31
+ }[], PositionCategory[] | {
32
+ code?: string | undefined;
33
+ description?: string | undefined;
34
+ enabled?: boolean | undefined;
35
+ parentId?: string | undefined;
36
+ sortOrder?: number | undefined;
37
+ title?: string | undefined;
38
+ id?: string | undefined;
39
+ tenantId?: string | undefined;
40
+ version?: number | undefined;
41
+ deleted?: boolean | undefined;
42
+ deletedAt?: string | undefined;
43
+ createdBy?: string | undefined;
44
+ createdAt?: string | undefined;
45
+ updatedBy?: string | undefined;
46
+ updatedAt?: string | undefined;
47
+ }[]>;
48
+ selectedCategory: import("vue").Ref<PositionCategory | undefined, PositionCategory | undefined>;
49
+ categoryDraft: import("vue").Ref<{
50
+ code?: string | undefined;
51
+ description?: string | undefined;
52
+ enabled?: boolean | undefined;
53
+ parentId?: string | undefined;
54
+ sortOrder?: number | undefined;
55
+ title?: string | undefined;
56
+ id?: string | undefined;
57
+ tenantId?: string | undefined;
58
+ version?: number | undefined;
59
+ deleted?: boolean | undefined;
60
+ deletedAt?: string | undefined;
61
+ createdBy?: string | undefined;
62
+ createdAt?: string | undefined;
63
+ updatedBy?: string | undefined;
64
+ updatedAt?: string | undefined;
65
+ }, PositionCategory | {
66
+ code?: string | undefined;
67
+ description?: string | undefined;
68
+ enabled?: boolean | undefined;
69
+ parentId?: string | undefined;
70
+ sortOrder?: number | undefined;
71
+ title?: string | undefined;
72
+ id?: string | undefined;
73
+ tenantId?: string | undefined;
74
+ version?: number | undefined;
75
+ deleted?: boolean | undefined;
76
+ deletedAt?: string | undefined;
77
+ createdBy?: string | undefined;
78
+ createdAt?: string | undefined;
79
+ updatedBy?: string | undefined;
80
+ updatedAt?: string | undefined;
81
+ }>;
82
+ categoryMode: import("vue").Ref<CategoryCardMode, CategoryCardMode>;
83
+ categorySaving: import("vue").Ref<boolean, boolean>;
84
+ categoryError: import("vue").Ref<string | undefined, string | undefined>;
85
+ positions: import("vue").Ref<{
86
+ categoryId?: string | undefined;
87
+ code?: string | undefined;
88
+ description?: string | undefined;
89
+ enabled?: boolean | undefined;
90
+ sortOrder?: number | undefined;
91
+ title?: string | undefined;
92
+ id?: string | undefined;
93
+ tenantId?: string | undefined;
94
+ version?: number | undefined;
95
+ deleted?: boolean | undefined;
96
+ deletedAt?: string | undefined;
97
+ createdBy?: string | undefined;
98
+ createdAt?: string | undefined;
99
+ updatedBy?: string | undefined;
100
+ updatedAt?: string | undefined;
101
+ }[], Position[] | {
102
+ categoryId?: string | undefined;
103
+ code?: string | undefined;
104
+ description?: string | undefined;
105
+ enabled?: boolean | undefined;
106
+ sortOrder?: number | undefined;
107
+ title?: string | undefined;
108
+ id?: string | undefined;
109
+ tenantId?: string | undefined;
110
+ version?: number | undefined;
111
+ deleted?: boolean | undefined;
112
+ deletedAt?: string | undefined;
113
+ createdBy?: string | undefined;
114
+ createdAt?: string | undefined;
115
+ updatedBy?: string | undefined;
116
+ updatedAt?: string | undefined;
117
+ }[]>;
118
+ selectedPosition: import("vue").Ref<Position | undefined, Position | undefined>;
119
+ positionDraft: import("vue").Ref<{
120
+ categoryId?: string | undefined;
121
+ code?: string | undefined;
122
+ description?: string | undefined;
123
+ enabled?: boolean | undefined;
124
+ sortOrder?: number | undefined;
125
+ title?: string | undefined;
126
+ id?: string | undefined;
127
+ tenantId?: string | undefined;
128
+ version?: number | undefined;
129
+ deleted?: boolean | undefined;
130
+ deletedAt?: string | undefined;
131
+ createdBy?: string | undefined;
132
+ createdAt?: string | undefined;
133
+ updatedBy?: string | undefined;
134
+ updatedAt?: string | undefined;
135
+ }, Position | {
136
+ categoryId?: string | undefined;
137
+ code?: string | undefined;
138
+ description?: string | undefined;
139
+ enabled?: boolean | undefined;
140
+ sortOrder?: number | undefined;
141
+ title?: string | undefined;
142
+ id?: string | undefined;
143
+ tenantId?: string | undefined;
144
+ version?: number | undefined;
145
+ deleted?: boolean | undefined;
146
+ deletedAt?: string | undefined;
147
+ createdBy?: string | undefined;
148
+ createdAt?: string | undefined;
149
+ updatedBy?: string | undefined;
150
+ updatedAt?: string | undefined;
151
+ }>;
152
+ positionMode: import("vue").Ref<PositionCardMode, PositionCardMode>;
153
+ positionLoading: import("vue").Ref<boolean, boolean>;
154
+ positionSaving: import("vue").Ref<boolean, boolean>;
155
+ positionError: import("vue").Ref<string | undefined, string | undefined>;
156
+ selectedCategoryId: import("vue").ComputedRef<string | undefined>;
157
+ selectedCategoryTitle: import("vue").ComputedRef<string>;
158
+ filteredPositions: import("vue").ComputedRef<{
159
+ categoryId?: string | undefined;
160
+ code?: string | undefined;
161
+ description?: string | undefined;
162
+ enabled?: boolean | undefined;
163
+ sortOrder?: number | undefined;
164
+ title?: string | undefined;
165
+ id?: string | undefined;
166
+ tenantId?: string | undefined;
167
+ version?: number | undefined;
168
+ deleted?: boolean | undefined;
169
+ deletedAt?: string | undefined;
170
+ createdBy?: string | undefined;
171
+ createdAt?: string | undefined;
172
+ updatedBy?: string | undefined;
173
+ updatedAt?: string | undefined;
174
+ }[]>;
175
+ canCreateCategory: import("vue").ComputedRef<boolean>;
176
+ canUpdateCategory: import("vue").ComputedRef<boolean>;
177
+ canDeleteCategory: import("vue").ComputedRef<boolean>;
178
+ canToggleCategory: import("vue").ComputedRef<boolean>;
179
+ canQueryPosition: import("vue").ComputedRef<boolean>;
180
+ canCreatePosition: import("vue").ComputedRef<boolean>;
181
+ canUpdatePosition: import("vue").ComputedRef<boolean>;
182
+ canDeletePosition: import("vue").ComputedRef<boolean>;
183
+ canTogglePosition: import("vue").ComputedRef<boolean>;
184
+ positionReadonly: import("vue").ComputedRef<boolean>;
185
+ categoryReadonly: import("vue").ComputedRef<boolean>;
186
+ positionCardTitle: import("vue").ComputedRef<string>;
187
+ categoryEditorTitle: import("vue").ComputedRef<string>;
188
+ handleCategoriesLoaded: (records: PositionCategory[]) => void;
189
+ handleSelectCategory: (record: PositionCategory) => void;
190
+ startCreateRootCategory: () => void;
191
+ startCreateChildCategory: () => void;
192
+ startEditCategory: () => void;
193
+ cancelCategoryEdit: () => void;
194
+ saveCategory: () => Promise<void>;
195
+ toggleCategory: () => Promise<void>;
196
+ deleteCategory: () => Promise<void>;
197
+ loadPositions: () => Promise<void>;
198
+ syncSelectedPosition: () => void;
199
+ selectPosition: (record: Position) => void;
200
+ startCreatePosition: () => void;
201
+ startEditPosition: () => void;
202
+ cancelPositionEdit: () => void;
203
+ savePosition: () => Promise<void>;
204
+ togglePosition: () => Promise<void>;
205
+ deletePosition: () => Promise<void>;
206
+ };
207
+ export declare function positionTitleOf(record: Position | undefined): string;
208
+ export declare function positionCategoryTitleOf(record: PositionCategory | undefined): string;
209
+ export declare function emptyPositionDraft(categoryId: string): Position;
210
+ export declare function copyPosition(record: Position): Position;
211
+ export declare function normalizePositionDraft(record: Position): Position;
212
+ export declare function isValidPosition(record: Position): boolean;
213
+ export declare function positionMatchesCategory(record: Position, categoryId: string | undefined): boolean;
214
+ export declare function emptyCategoryDraft(parentId?: string): PositionCategory;
215
+ export declare function copyCategory(record: PositionCategory): PositionCategory;
216
+ export declare function normalizeCategoryDraft(record: PositionCategory): PositionCategory;
217
+ export declare function isValidCategory(record: PositionCategory): boolean;
218
+ export {};
@@ -0,0 +1,17 @@
1
+ import type { RoleDataGrantActionMatrix, RolePermissionAction } from '@muyun/web-contracts';
2
+ import { type RoleAuthorizationWorkspaceViewInput } from './roleAuthorizationWorkspaceView';
3
+ export interface RoleAuthorizationWorkspaceSession {
4
+ selectedModuleAlias?: string;
5
+ dataGrantMatrix?: RoleDataGrantActionMatrix;
6
+ actionDrafts?: Array<{
7
+ moduleAlias: string;
8
+ actions: RolePermissionAction[];
9
+ }>;
10
+ actionSnapshots?: Array<{
11
+ moduleAlias: string;
12
+ snapshot: string;
13
+ }>;
14
+ }
15
+ export declare function handOffRoleAuthorizationWorkspaceSession(input: RoleAuthorizationWorkspaceViewInput, session: RoleAuthorizationWorkspaceSession): Promise<"accepted" | "rejected">;
16
+ export declare function registerRoleAuthorizationWorkspaceHandoffRecipient(input: RoleAuthorizationWorkspaceViewInput, recipient: (session: RoleAuthorizationWorkspaceSession) => boolean): () => void;
17
+ export declare function takeRoleAuthorizationWorkspaceSession(input: RoleAuthorizationWorkspaceViewInput): RoleAuthorizationWorkspaceSession | undefined;
@@ -0,0 +1,5 @@
1
+ /** Role identity is sufficient: the authorization APIs validate ownership server-side. */
2
+ export interface RoleAuthorizationWorkspaceViewInput {
3
+ roleId: string;
4
+ }
5
+ export declare const roleAuthorizationWorkspaceView: import("../platform-admin-runtime/workspaceViewContract").WorkspaceViewDefinition<RoleAuthorizationWorkspaceViewInput>;