@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,18 @@
1
+ type __VLS_Props = {
2
+ enabled?: boolean;
3
+ disabled?: boolean;
4
+ loading?: boolean;
5
+ showLabel?: boolean;
6
+ };
7
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
8
+ change: (enabled: boolean) => any;
9
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
10
+ onChange?: ((enabled: boolean) => any) | undefined;
11
+ }>, {
12
+ enabled: boolean;
13
+ disabled: boolean;
14
+ loading: boolean;
15
+ showLabel: boolean;
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
@@ -0,0 +1,6 @@
1
+ type __VLS_Props = {
2
+ enabled?: boolean;
3
+ };
4
+ 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>;
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
@@ -0,0 +1,22 @@
1
+ export interface RecordTreeSelectorRecord {
2
+ id: string;
3
+ parentId?: string;
4
+ title?: string;
5
+ secondary?: string;
6
+ enabled?: boolean;
7
+ }
8
+ type __VLS_Props = {
9
+ records: RecordTreeSelectorRecord[];
10
+ selectedId?: string;
11
+ emptyDescription?: string;
12
+ };
13
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ select: (record: RecordTreeSelectorRecord) => any;
15
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ onSelect?: ((record: RecordTreeSelectorRecord) => any) | undefined;
17
+ }>, {
18
+ emptyDescription: string;
19
+ selectedId: string;
20
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const _default: typeof __VLS_export;
22
+ export default _default;
@@ -0,0 +1,16 @@
1
+ type __VLS_Props = {
2
+ active?: boolean;
3
+ hasRecords?: boolean;
4
+ count?: number;
5
+ };
6
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
+ click: (event: MouseEvent) => any;
8
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
9
+ onClick?: ((event: MouseEvent) => any) | undefined;
10
+ }>, {
11
+ count: number;
12
+ active: boolean;
13
+ hasRecords: boolean;
14
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ declare const _default: typeof __VLS_export;
16
+ export default _default;
@@ -0,0 +1,44 @@
1
+ type __VLS_Props = {
2
+ explorerTitle: string;
3
+ refreshTitle: string;
4
+ mode: 'view' | 'edit' | 'create';
5
+ detailTitle: string;
6
+ mutedMessage?: string;
7
+ explorerSearchKeyword?: string;
8
+ explorerSearchPlaceholder?: string;
9
+ explorerSearchable?: boolean;
10
+ };
11
+ declare var __VLS_24: {}, __VLS_26: {}, __VLS_29: {}, __VLS_38: {}, __VLS_41: {}, __VLS_43: {};
12
+ type __VLS_Slots = {} & {
13
+ 'explorer-actions'?: (props: typeof __VLS_24) => any;
14
+ } & {
15
+ explorer?: (props: typeof __VLS_26) => any;
16
+ } & {
17
+ 'explorer-footer'?: (props: typeof __VLS_29) => any;
18
+ } & {
19
+ 'detail-status'?: (props: typeof __VLS_38) => any;
20
+ } & {
21
+ 'detail-actions'?: (props: typeof __VLS_41) => any;
22
+ } & {
23
+ default?: (props: typeof __VLS_43) => any;
24
+ };
25
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
26
+ refresh: () => any;
27
+ "update:explorerSearchKeyword": (keyword: string) => any;
28
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
29
+ onRefresh?: (() => any) | undefined;
30
+ "onUpdate:explorerSearchKeyword"?: ((keyword: string) => any) | undefined;
31
+ }>, {
32
+ mutedMessage: string;
33
+ explorerSearchKeyword: string;
34
+ explorerSearchPlaceholder: string;
35
+ explorerSearchable: boolean;
36
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
37
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
38
+ declare const _default: typeof __VLS_export;
39
+ export default _default;
40
+ type __VLS_WithSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
@@ -0,0 +1,57 @@
1
+ import { type UiRecordInlineAction } from '@muyun/vue-ui-antdv';
2
+ import type { ModuleContext } from '@muyun/web-core';
3
+ import type { RecordExplorerItemDescriptor } from './recordExplorerItemModel';
4
+ import { type TreeRecordBase } from './treeRecordModel';
5
+ type TreeRecordSearchMode = 'always' | 'collapsible' | 'none';
6
+ type __VLS_Props = {
7
+ context: ModuleContext<TreeRecordBase>;
8
+ selectedId?: string;
9
+ reloadKey?: number;
10
+ keyword?: string;
11
+ searchMode?: TreeRecordSearchMode;
12
+ searchTrigger?: 'inline' | 'external';
13
+ searchPlaceholder?: string;
14
+ emptyDescription?: string;
15
+ loadingTip?: string;
16
+ fallbackTitle?: string;
17
+ titleOf?: (record: TreeRecordBase) => string;
18
+ secondaryOf?: (record: TreeRecordBase) => string | undefined;
19
+ itemOf?: (record: TreeRecordBase) => RecordExplorerItemDescriptor | undefined;
20
+ actionsOf?: (record: TreeRecordBase) => UiRecordInlineAction[];
21
+ filterOption?: (record: TreeRecordBase, normalizedKeyword: string) => boolean;
22
+ tagOf?: (record: TreeRecordBase) => string | undefined;
23
+ mutedOf?: (record: TreeRecordBase) => boolean;
24
+ };
25
+ declare function openSearch(): void;
26
+ declare function toggleSearch(): void;
27
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {
28
+ openSearch: typeof openSearch;
29
+ toggleSearch: typeof toggleSearch;
30
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
31
+ select: (record: TreeRecordBase) => any;
32
+ action: (action: UiRecordInlineAction, record: TreeRecordBase) => any;
33
+ loaded: (records: TreeRecordBase[]) => any;
34
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
35
+ onSelect?: ((record: TreeRecordBase) => any) | undefined;
36
+ onAction?: ((action: UiRecordInlineAction, record: TreeRecordBase) => any) | undefined;
37
+ onLoaded?: ((records: TreeRecordBase[]) => any) | undefined;
38
+ }>, {
39
+ filterOption: (record: TreeRecordBase, normalizedKeyword: string) => boolean;
40
+ emptyDescription: string;
41
+ searchPlaceholder: string;
42
+ selectedId: string;
43
+ keyword: string;
44
+ titleOf: (record: TreeRecordBase) => string;
45
+ itemOf: (record: TreeRecordBase) => RecordExplorerItemDescriptor | undefined;
46
+ actionsOf: (record: TreeRecordBase) => UiRecordInlineAction[];
47
+ tagOf: (record: TreeRecordBase) => string | undefined;
48
+ mutedOf: (record: TreeRecordBase) => boolean;
49
+ reloadKey: number;
50
+ loadingTip: string;
51
+ fallbackTitle: string;
52
+ searchMode: TreeRecordSearchMode;
53
+ searchTrigger: "inline" | "external";
54
+ secondaryOf: (record: TreeRecordBase) => string | undefined;
55
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
56
+ declare const _default: typeof __VLS_export;
57
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import type { UserSessionView } from '@muyun/web-contracts';
2
+ type __VLS_Props = {
3
+ sessions: UserSessionView[];
4
+ loading?: boolean;
5
+ error?: string;
6
+ actionsDisabled?: boolean;
7
+ canRevoke?: (session: UserSessionView) => boolean;
8
+ canRevokeAll?: boolean;
9
+ };
10
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ refresh: () => any;
12
+ revoke: (session: UserSessionView) => any;
13
+ revokeAll: () => any;
14
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ onRefresh?: (() => any) | undefined;
16
+ onRevoke?: ((session: UserSessionView) => any) | undefined;
17
+ onRevokeAll?: (() => any) | undefined;
18
+ }>, {
19
+ loading: boolean;
20
+ error: string;
21
+ actionsDisabled: boolean;
22
+ canRevoke: (session: UserSessionView) => boolean;
23
+ canRevokeAll: boolean;
24
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
25
+ declare const _default: typeof __VLS_export;
26
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import type { ResolvedModuleUiDescriptor } from '@muyun/web-contracts';
2
+ export declare function actionConfirmationRequiredText(descriptor: ResolvedModuleUiDescriptor | undefined, actionCode: string, record: Record<string, unknown>): string | undefined;
3
+ export declare function recordLabelOf(descriptor: ResolvedModuleUiDescriptor | undefined, record: Record<string, unknown>): string | undefined;
@@ -0,0 +1,10 @@
1
+ export interface CrudRecordListBase {
2
+ id?: string;
3
+ title?: string;
4
+ alias?: string;
5
+ code?: string;
6
+ enabled?: boolean;
7
+ }
8
+ export declare function defaultCrudRecordListTitle<TRecord extends CrudRecordListBase>(record: TRecord, fallback?: string): string;
9
+ export declare function defaultCrudRecordListSubtitle<TRecord extends CrudRecordListBase>(record: TRecord): string | undefined;
10
+ export declare function defaultCrudRecordListMatches<TRecord extends CrudRecordListBase>(record: TRecord, normalizedKeyword: string, titleOf?: (record: TRecord) => string, subtitleOf?: (record: TRecord) => string | undefined): boolean;
@@ -0,0 +1,4 @@
1
+ export interface DrawerPromotion {
2
+ title?: string;
3
+ promote(): void | Promise<void>;
4
+ }
@@ -0,0 +1,76 @@
1
+ export {};
2
+ export { default as ApplicationScopeSwitcher } from './ApplicationScopeSwitcher.vue';
3
+ export { default as CrudRecordListExplorer } from './CrudRecordListExplorer.vue';
4
+ export { default as DrawerOperationBar } from './DrawerOperationBar.vue';
5
+ export { default as DateTimeText } from './DateTimeText.vue';
6
+ export { default as EnabledSelect } from './EnabledSelect.vue';
7
+ export { default as ModuleActionButton } from './ModuleActionButton.vue';
8
+ export { default as ManagementWorkspace } from './ManagementWorkspace.vue';
9
+ export { default as ManagementExplorerColumn } from './ManagementExplorerColumn.vue';
10
+ export { providePageLayout, usePageLayout } from './pageLayoutContext';
11
+ export { default as RecordActionBar } from './RecordActionBar.vue';
12
+ export { default as RecordDetailDrawer } from './RecordDetailDrawer.vue';
13
+ export type { DrawerPromotion } from './drawerPromotion';
14
+ export { default as RecordExternalChangeNotice } from './RecordExternalChangeNotice.vue';
15
+ export { default as RecordDetailFields } from './RecordDetailFields.vue';
16
+ export { default as RecordDetailPanel } from './RecordDetailPanel.vue';
17
+ export { default as RecordExpandedSubtable } from './RecordExpandedSubtable.vue';
18
+ export { default as UserSessionExpandedSubtable } from './UserSessionExpandedSubtable.vue';
19
+ export { userSessionBrowserTitle, userSessionPresenceDescription, userSessionPresenceTitle, userSessionTerminalTitle, } from './userSessionPresentation';
20
+ export { default as RecordExplorerPanel } from './RecordExplorerPanel.vue';
21
+ export type { RecordExplorerItemDescriptor } from './recordExplorerItemModel';
22
+ export { default as RecordFormFields } from './RecordFormFields.vue';
23
+ export { default as RecordListExplorer } from './RecordListExplorer.vue';
24
+ export { default as RecordMetaSection } from './RecordMetaSection.vue';
25
+ export { default as RecordModeDrawer } from './RecordModeDrawer.vue';
26
+ export { default as RecordPicker } from './RecordPicker.vue';
27
+ export { default as RecordQueryListPanel } from './RecordQueryListPanel.vue';
28
+ export { default as RecycleBinModeButton } from './RecycleBinModeButton.vue';
29
+ export { useRecycleBinExplorerMode, type RecycleBinExplorerMode, type RecycleBinExplorerModeOptions, } from './useRecycleBinExplorerMode';
30
+ export { default as RecordStatusSwitch } from './RecordStatusSwitch.vue';
31
+ export { default as RecordTreeSelector } from './RecordTreeSelector.vue';
32
+ export { default as RecordStatusTag } from './RecordStatusTag.vue';
33
+ export { useRecycleBinState } from './recycleBinState';
34
+ export type { RecycleBinStateOptions } from './recycleBinState';
35
+ export { createSoftDeletedConflictErrorHandler, extractSoftDeletedConflict, useSoftDeletedConflictHandler, } from './softDeletedConflictHandler';
36
+ export type { SoftDeletedConflictHandler, SoftDeletedConflictHandlerOptions, SoftDeletedConflictInfo, } from './softDeletedConflictHandler';
37
+ export { default as StaticManagementLayout } from './StaticManagementLayout.vue';
38
+ export { default as TreeRecordExplorer } from './TreeRecordExplorer.vue';
39
+ export { enabledOnly, firstConstraintMessage, notDescendantOf, notRecordIds, parentRecordConstraints, } from './recordPickerConstraints';
40
+ export { defaultTreeRecordMatches, defaultTreeRecordTitle, expandAllTreeRecords, filterTreeRecords, firstTwoTreeLevels, flattenTreeRecords, } from './treeRecordModel';
41
+ export type { PickerConstraint, PickerConstraintContext, RecordPickerRecord, } from './recordPickerConstraints';
42
+ export { resolveRecordPickerMode } from './recordPickerModel';
43
+ export type { RecordPickerMode } from './recordPickerModel';
44
+ export type { RecordActionItem, ResolvedRecordActionItem } from './recordActionBarModel';
45
+ export type { RecordDetailDisplayResolver, RecordDetailDisplayValue } from './recordDetailFieldModel';
46
+ export type { RecordListExplorerRecord } from './RecordListExplorer.vue';
47
+ export type { QueryListRecord, RecordQueryListColumn, RecordQueryListMode } from './RecordQueryListPanel.vue';
48
+ export type { RecordFormFieldDescriptor, RecordFormFieldFallback, RecordFormFieldPickerConfig, RecordFormFieldState, RecordFormFieldValue, RecordFormRecord, } from './recordFormFieldModel';
49
+ export type { CrudRecordListBase } from './crudRecordListModel';
50
+ export { defaultCrudRecordListMatches, defaultCrudRecordListSubtitle, defaultCrudRecordListTitle, } from './crudRecordListModel';
51
+ export { resolveRecordActions } from './recordActionBarModel';
52
+ export { normalizeRecordDraft } from './recordDraftNormalizer';
53
+ export { resolveRecordDetailDisplayValue } from './recordDetailFieldModel';
54
+ export { formatPlatformDateTime, resolveBrowserTimeZone } from './platformDateTime';
55
+ export { providePlatformTimeZoneContext, usePlatformTimeZoneContext } from './platformTimeZoneContext';
56
+ export type { PlatformDateTimeDisplay, PlatformDateTimeOptions, PlatformDateTimePrecision, } from './platformDateTime';
57
+ export { childResourceDefaultFormViewCode, resolveRecordFormFieldNames, resolveRecordFormFieldState, resolveRecordFormFields, } from './recordFormFieldModel';
58
+ export { createScopedTreeClient, createScopedTreeModuleContext } from './scopedTreeModuleContext';
59
+ export { createEmptyStaticTreeClient, createStaticTreeResourceModuleContext, } from './staticTreeResourceModuleContext';
60
+ export { createScopedResourceTreeModuleContext } from './scopedResourceTreeModuleContext';
61
+ export { presentPlatformError, presentPlatformMessage, presentPlatformSuccess, } from './platformErrorFeedback';
62
+ export { handlePlatformActionSuccess, presentPlatformActionSuccess } from './platformActionResultFeedback';
63
+ export { createPlatformActionResultReactionHandlers, mergePlatformActionResultReactionHandlers, platformActionResultReactions, platformActionResultReactionTypes, resolvePlatformActionResult, resolvePlatformActionResultMessage, withPlatformActionResultReactions, } from './platformActionResultReactions';
64
+ export type { PlatformActionResult, PlatformActionResultReaction, PlatformActionResultReactionHandler, PlatformActionResultReactionPayload, PlatformActionResultReactionType, PlatformActionResultStandardReactionHandlers, } from './platformActionResultReactions';
65
+ export type { PlatformActionResultFeedbackContext, PlatformActionResultHandlingContext, } from './platformActionResultFeedback';
66
+ export { executeStaticFormSave, executeStaticRecordAction } from './staticFormActionFlow';
67
+ export { applyRecordExternalChange, createRecordEditorSessionState } from './recordEditorSessionState';
68
+ export { useFlatCrudManagementState } from './staticCrudManagementState';
69
+ export type { PlatformActionErrorHandler, PlatformErrorFeedbackContext } from './platformErrorFeedback';
70
+ export type { StaticFormActionErrorContext, StaticFormActionErrorHandler, StaticFormSaveMode, StaticFormSaveOptions, StaticRecordActionOptions, } from './staticFormActionFlow';
71
+ export type { RecordEditorSessionOptions, RecordExternalChangeOptions } from './recordEditorSessionState';
72
+ export type { StaticCrudCardMode, StaticCrudConfirmAction, StaticCrudManagementOptions, StaticCrudRecord, } from './staticCrudManagementState';
73
+ export type { TreeRecordBase } from './treeRecordModel';
74
+ export type { ScopedTreeModuleContextOptions } from './scopedTreeModuleContext';
75
+ export type { StaticTreeResourceModuleContextOptions } from './staticTreeResourceModuleContext';
76
+ export type { ScopedResourceTreeModuleContextOptions } from './scopedResourceTreeModuleContext';
@@ -0,0 +1,10 @@
1
+ import type { Option, OptionItemDescriptor } from '@muyun/web-contracts';
2
+ export interface UiTreeSelectNode {
3
+ value: string;
4
+ title: string;
5
+ disabled?: boolean;
6
+ children?: UiTreeSelectNode[];
7
+ }
8
+ export declare function optionItemsToOptions(items: OptionItemDescriptor[]): Option[];
9
+ export declare function hasOptionHierarchy(items: OptionItemDescriptor[]): boolean;
10
+ export declare function optionItemsToTree(items: OptionItemDescriptor[]): UiTreeSelectNode[];
@@ -0,0 +1,6 @@
1
+ import { type ComputedRef, type MaybeRefOrGetter } from 'vue';
2
+ import type { PageLayoutMode } from '@muyun/web-contracts';
3
+ /** Provided by a page host; platform components consume the resolved page layout. */
4
+ export declare function providePageLayout(layout: MaybeRefOrGetter<PageLayoutMode | undefined>): void;
5
+ /** Ordinary pages stay flow-layout when mounted outside a workbench host. */
6
+ export declare function usePageLayout(): ComputedRef<PageLayoutMode>;
@@ -0,0 +1,12 @@
1
+ import { type PlatformErrorFeedbackContext } from './platformErrorFeedback';
2
+ import { type PlatformActionResultReactionHandler } from './platformActionResultReactions';
3
+ export { createPlatformActionResultReactionHandlers, mergePlatformActionResultReactionHandlers, platformActionResultReactions, platformActionResultReactionTypes, resolvePlatformActionResult, resolvePlatformActionResultMessage, withPlatformActionResultReactions, } from './platformActionResultReactions';
4
+ export type { PlatformActionResult, PlatformActionResultReaction, PlatformActionResultReactionHandler, PlatformActionResultReactionPayload, PlatformActionResultReactionType, PlatformActionResultStandardReactionHandlers, } from './platformActionResultReactions';
5
+ export interface PlatformActionResultFeedbackContext extends PlatformErrorFeedbackContext {
6
+ fallbackMessage?: string;
7
+ }
8
+ export interface PlatformActionResultHandlingContext extends PlatformActionResultFeedbackContext {
9
+ reactionHandlers?: Record<string, PlatformActionResultReactionHandler | undefined>;
10
+ }
11
+ export declare function handlePlatformActionSuccess(result: unknown, context?: PlatformActionResultHandlingContext): Promise<import("./platformActionResultReactions").PlatformActionResult>;
12
+ export declare function presentPlatformActionSuccess(result: unknown, context?: PlatformActionResultFeedbackContext): void;
@@ -0,0 +1,53 @@
1
+ import { resolveWebActionResultMessage, type ResolvedWebActionResult } from '@muyun/web-core';
2
+ export declare const platformActionResultReactionTypes: {
3
+ readonly refreshList: "refresh-list";
4
+ readonly refreshDetail: "refresh-detail";
5
+ readonly closeEditor: "close-editor";
6
+ readonly clearSelection: "clear-selection";
7
+ readonly selectRecord: "select-record";
8
+ };
9
+ export type PlatformActionResultReactionType = (typeof platformActionResultReactionTypes)[keyof typeof platformActionResultReactionTypes];
10
+ export interface PlatformActionResultReactionPayload {
11
+ moduleAlias?: string;
12
+ resourceKey?: string;
13
+ scope?: string;
14
+ recordId?: string;
15
+ [key: string]: unknown;
16
+ }
17
+ export interface PlatformActionResultReaction {
18
+ type: string;
19
+ payload?: PlatformActionResultReactionPayload;
20
+ }
21
+ export declare const platformActionResultReactions: {
22
+ refreshList(payload?: PlatformActionResultReactionPayload): PlatformActionResultReaction;
23
+ refreshDetail(payload?: PlatformActionResultReactionPayload): PlatformActionResultReaction;
24
+ closeEditor(payload?: PlatformActionResultReactionPayload): PlatformActionResultReaction;
25
+ clearSelection(payload?: PlatformActionResultReactionPayload): PlatformActionResultReaction;
26
+ selectRecord(payload?: PlatformActionResultReactionPayload): PlatformActionResultReaction;
27
+ };
28
+ export declare const resolvePlatformActionResultMessage: typeof resolveWebActionResultMessage;
29
+ export interface PlatformActionResult extends ResolvedWebActionResult {
30
+ reactions: PlatformActionResultReaction[];
31
+ }
32
+ export type PlatformActionResultReactionHandler = (reaction: PlatformActionResultReaction, result: PlatformActionResult) => void | Promise<void>;
33
+ export interface PlatformActionResultStandardReactionHandlers {
34
+ refreshList?: PlatformActionResultReactionHandler;
35
+ refreshDetail?: PlatformActionResultReactionHandler;
36
+ closeEditor?: PlatformActionResultReactionHandler;
37
+ clearSelection?: PlatformActionResultReactionHandler;
38
+ selectRecord?: PlatformActionResultReactionHandler;
39
+ }
40
+ export declare function createPlatformActionResultReactionHandlers(handlers: PlatformActionResultStandardReactionHandlers): {
41
+ "refresh-list": PlatformActionResultReactionHandler | undefined;
42
+ "refresh-detail": PlatformActionResultReactionHandler | undefined;
43
+ "close-editor": PlatformActionResultReactionHandler | undefined;
44
+ "clear-selection": PlatformActionResultReactionHandler | undefined;
45
+ "select-record": PlatformActionResultReactionHandler | undefined;
46
+ };
47
+ export declare function mergePlatformActionResultReactionHandlers(defaultHandlers: Record<string, PlatformActionResultReactionHandler | undefined>, customHandlers: Record<string, PlatformActionResultReactionHandler | undefined> | undefined): Record<string, PlatformActionResultReactionHandler | undefined>;
48
+ export declare function withPlatformActionResultReactions<T>(result: T, reactions: PlatformActionResultReaction[]): T & {
49
+ reactions: PlatformActionResultReaction[];
50
+ };
51
+ export declare function resolvePlatformActionResult(result: unknown, options?: {
52
+ fallbackMessage?: string;
53
+ }): PlatformActionResult;
@@ -0,0 +1,16 @@
1
+ export type PlatformDateTimePrecision = 'minute' | 'second';
2
+ export interface PlatformDateTimeOptions {
3
+ emptyText?: string;
4
+ locale?: string;
5
+ precision?: PlatformDateTimePrecision;
6
+ timeZone?: string;
7
+ }
8
+ export interface PlatformDateTimeDisplay {
9
+ text: string;
10
+ title: string;
11
+ datetime?: string;
12
+ timeZone?: string;
13
+ valid: boolean;
14
+ }
15
+ export declare function resolveBrowserTimeZone(): string;
16
+ export declare function formatPlatformDateTime(value: string | number | Date | null | undefined, options?: PlatformDateTimeOptions): PlatformDateTimeDisplay;
@@ -0,0 +1,15 @@
1
+ import { type AppError } from '@muyun/web-core';
2
+ export interface PlatformErrorFeedbackContext {
3
+ source?: string;
4
+ phase?: 'load' | 'action' | 'validation' | 'authorization';
5
+ tone?: 'error' | 'success';
6
+ }
7
+ export declare function presentPlatformError(cause: unknown, context?: PlatformErrorFeedbackContext): AppError;
8
+ export declare function presentPlatformMessage(message: string, context?: PlatformErrorFeedbackContext): void;
9
+ export declare function presentPlatformSuccess(message: string, context?: PlatformErrorFeedbackContext): void;
10
+ export type PlatformActionErrorHandler<TContext> = {
11
+ code?: string;
12
+ marker?: string;
13
+ handle: (error: AppError, context: TContext) => void | boolean;
14
+ };
15
+ export declare function matchesPlatformActionErrorHandler<TContext>(error: AppError, handler: PlatformActionErrorHandler<TContext>): boolean;
@@ -0,0 +1,3 @@
1
+ import { type Ref } from 'vue';
2
+ export declare function providePlatformTimeZoneContext(timeZone: Readonly<Ref<string | undefined>>): void;
3
+ export declare function usePlatformTimeZoneContext(): Readonly<Ref<string | undefined, string | undefined>> | undefined;
@@ -0,0 +1,27 @@
1
+ import type { ModuleContext } from '@muyun/web-core';
2
+ import type { UiIconName } from '@muyun/vue-ui-antdv';
3
+ export interface RecordActionItem {
4
+ key?: string;
5
+ actionCode?: string;
6
+ title: string;
7
+ before?: string;
8
+ after?: string;
9
+ visible?: boolean;
10
+ /** Keep the row action visible beside the default row action instead of placing it in “more”. */
11
+ pinned?: boolean;
12
+ disabled?: boolean;
13
+ loading?: boolean;
14
+ primary?: boolean;
15
+ danger?: boolean;
16
+ iconName?: UiIconName;
17
+ }
18
+ export interface ResolvedRecordActionItem extends RecordActionItem {
19
+ key: string;
20
+ actionCode?: string;
21
+ authorized: boolean;
22
+ reason?: string;
23
+ disabled: boolean;
24
+ loading: boolean;
25
+ }
26
+ export declare function resolveRecordActions(context: Pick<ModuleContext<unknown>, 'action'>, actions: RecordActionItem[], defaultLoading?: boolean, recordId?: string): ResolvedRecordActionItem[];
27
+ export declare function mergeRecordActions(baseActions: RecordActionItem[], extraActions: RecordActionItem[]): RecordActionItem[];
@@ -0,0 +1,7 @@
1
+ import type { RecordFormFieldState, RecordFormRecord } from './recordFormFieldModel';
2
+ export type RecordDetailDisplayValue = string | number | boolean | undefined | null;
3
+ export type RecordDetailDisplayResolver = (fieldName: string, value: unknown, record: RecordFormRecord, field: RecordFormFieldState) => RecordDetailDisplayValue;
4
+ export declare function resolveRecordDetailDisplayValue(field: RecordFormFieldState, record: RecordFormRecord, options?: {
5
+ displayOf?: RecordDetailDisplayResolver;
6
+ emptyText?: string;
7
+ }): string;
@@ -0,0 +1 @@
1
+ export declare function normalizeRecordDraft<TRecord extends object>(draft: Partial<TRecord>, normalizedFields: Partial<TRecord>): TRecord;
@@ -0,0 +1,38 @@
1
+ import { type WebDataChange } from '@muyun/web-contracts';
2
+ export interface RecordEditorSessionOptions<TRecord, TMode extends string> {
3
+ viewMode: TMode;
4
+ createMode: TMode;
5
+ editMode: TMode;
6
+ emptyDraft: () => TRecord;
7
+ copyRecord?: (record: TRecord) => TRecord;
8
+ recordIdOf?: (record: TRecord) => string | undefined;
9
+ }
10
+ export interface RecordEditorSessionCreateOptions<TRecord, TMode extends string> {
11
+ mode?: TMode;
12
+ draft?: TRecord | (() => TRecord);
13
+ selectedRecord?: TRecord;
14
+ preserveSelection?: boolean;
15
+ }
16
+ export interface RecordExternalChangeOptions {
17
+ moduleAlias: string;
18
+ changeTypes?: string[];
19
+ }
20
+ export declare function createRecordEditorSessionState<TRecord, TMode extends string>(options: RecordEditorSessionOptions<TRecord, TMode>): {
21
+ selected: import("vue").Ref<TRecord | undefined, TRecord | undefined>;
22
+ draft: [TRecord] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<TRecord, import("vue").Ref<TRecord, TRecord>, TRecord> : import("vue").Ref<import("vue").UnwrapRef<TRecord>, TRecord | import("vue").UnwrapRef<TRecord>>;
23
+ mode: [TMode] extends [import("vue").Ref<any, any>] ? import("@vue/shared").IfAny<TMode, import("vue").Ref<TMode, TMode>, TMode> : import("vue").Ref<import("vue").UnwrapRef<TMode>, TMode | import("vue").UnwrapRef<TMode>>;
24
+ readonly: import("vue").ComputedRef<boolean>;
25
+ externallyChanged: import("vue").ComputedRef<boolean>;
26
+ externalChangedRecordId: import("vue").Ref<string | undefined, string | undefined>;
27
+ select: (record: TRecord) => void;
28
+ replaceSelected: (record: TRecord | undefined) => void;
29
+ clearSelection: () => void;
30
+ startCreate: (createOptions?: RecordEditorSessionCreateOptions<TRecord, TMode>) => void;
31
+ startEdit: () => boolean;
32
+ cancel: () => void;
33
+ markExternalRecordChanged: (recordId: string | undefined) => boolean;
34
+ clearExternalChanged: () => void;
35
+ };
36
+ export declare function applyRecordExternalChange(session: {
37
+ markExternalRecordChanged(recordId: string | undefined): boolean;
38
+ }, change: WebDataChange, options: RecordExternalChangeOptions): boolean;
@@ -0,0 +1,8 @@
1
+ import type { UiRecordInlineAction } from '@muyun/vue-ui-antdv';
2
+ export interface RecordExplorerItemDescriptor {
3
+ title: string;
4
+ secondary?: string;
5
+ tag?: string;
6
+ muted?: boolean;
7
+ actions?: UiRecordInlineAction[];
8
+ }
@@ -0,0 +1,57 @@
1
+ import type { Option, OptionValueList, ResolvedOptionFieldDescriptor, ResolvedModuleUiDescriptor, ResolvedViewFieldDescriptor, ViewFieldDefinition } from '@muyun/web-contracts';
2
+ import type { ModuleContext } from '@muyun/web-core';
3
+ import type { PickerConstraint, RecordPickerRecord } from './recordPickerConstraints';
4
+ export type RecordFormFieldDescriptor = (ViewFieldDefinition | ResolvedViewFieldDescriptor) & {
5
+ option?: ResolvedOptionFieldDescriptor;
6
+ };
7
+ export type RecordFormRecord = Record<string, unknown>;
8
+ export type RecordFormFieldValue = string | number | boolean | OptionValueList | undefined;
9
+ export type RecordFormFieldControlType = 'input' | 'select' | 'enabledStatus' | 'recordPicker';
10
+ export interface RecordFormFieldFallback {
11
+ label: string;
12
+ required?: boolean;
13
+ readOnly?: boolean;
14
+ visible?: boolean;
15
+ controlType?: RecordFormFieldControlType;
16
+ placeholder?: string;
17
+ options?: Option[];
18
+ optionSelectionMode?: 'SINGLE' | 'MULTIPLE';
19
+ }
20
+ export interface RecordFormFieldPickerConfig {
21
+ context: ModuleContext<RecordPickerRecord>;
22
+ reloadKey?: number;
23
+ mode?: 'list' | 'tree';
24
+ placeholder?: string;
25
+ allowClear?: boolean;
26
+ constraints?: PickerConstraint<RecordPickerRecord>[];
27
+ titleOf?: (record: RecordPickerRecord) => string;
28
+ descriptionOf?: (record: RecordPickerRecord) => string | undefined;
29
+ filterOption?: (record: RecordPickerRecord, keyword: string) => boolean;
30
+ }
31
+ export interface RecordFormFieldState {
32
+ fieldName: string;
33
+ label: string;
34
+ required: boolean;
35
+ readOnly: boolean;
36
+ visible: boolean;
37
+ controlType: RecordFormFieldControlType;
38
+ hasOption: boolean;
39
+ optionSelectionMode?: 'SINGLE' | 'MULTIPLE';
40
+ optionTitleField?: string;
41
+ pickerConfig?: RecordFormFieldPickerConfig;
42
+ placeholder?: string;
43
+ options?: Option[];
44
+ }
45
+ export interface ResolveRecordFormFieldNamesOptions {
46
+ explicitOrder?: string[];
47
+ exclude?: Iterable<string>;
48
+ }
49
+ export declare function resolveRecordFormFieldNames(fields?: Map<string, RecordFormFieldDescriptor>, fallback?: Record<string, RecordFormFieldFallback>, options?: ResolveRecordFormFieldNamesOptions): string[];
50
+ export declare function resolveRecordFormFields(uiDescriptor: ResolvedModuleUiDescriptor | undefined, viewCode?: string): Map<string, RecordFormFieldDescriptor>;
51
+ export declare function childResourceDefaultFormViewCode(resource: string): string;
52
+ export declare function resolveRecordFormFieldState(fieldName: string, options?: {
53
+ fields?: Map<string, RecordFormFieldDescriptor>;
54
+ fallback?: Record<string, RecordFormFieldFallback>;
55
+ pickerConfigs?: Record<string, RecordFormFieldPickerConfig>;
56
+ placeholderOf?: (fieldName: string, field: RecordFormFieldState) => string | undefined;
57
+ }): RecordFormFieldState;
@@ -0,0 +1,20 @@
1
+ export interface RecordPickerRecord {
2
+ id?: string;
3
+ parentId?: string;
4
+ title?: string;
5
+ code?: string;
6
+ enabled?: boolean;
7
+ }
8
+ export interface PickerConstraintContext<TRecord extends RecordPickerRecord> {
9
+ records: TRecord[];
10
+ }
11
+ export interface PickerConstraint<TRecord extends RecordPickerRecord> {
12
+ code: string;
13
+ message: string;
14
+ test(record: TRecord, context: PickerConstraintContext<TRecord>): boolean;
15
+ }
16
+ export declare function notRecordIds<TRecord extends RecordPickerRecord>(ids: Array<string | undefined>, message?: string): PickerConstraint<TRecord>;
17
+ export declare function notDescendantOf<TRecord extends RecordPickerRecord>(ancestorId?: string, message?: string): PickerConstraint<TRecord>;
18
+ export declare function enabledOnly<TRecord extends RecordPickerRecord>(message?: string): PickerConstraint<TRecord>;
19
+ export declare function parentRecordConstraints<TRecord extends RecordPickerRecord>(currentId?: string): PickerConstraint<TRecord>[];
20
+ export declare function firstConstraintMessage<TRecord extends RecordPickerRecord>(record: TRecord, context: PickerConstraintContext<TRecord>, constraints: PickerConstraint<TRecord>[]): string | undefined;
@@ -0,0 +1,2 @@
1
+ export type RecordPickerMode = 'list' | 'tree';
2
+ export declare function resolveRecordPickerMode(mode: RecordPickerMode, treeAvailable: boolean): RecordPickerMode;