@ximatai/muyun-web-app 0.26.19 → 0.26.21

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 (56) hide show
  1. package/dist/{BusinessActivityLogView-DudCmeKP.js → BusinessActivityLogView-6L75GZVc.js} +2 -2
  2. package/dist/{BusinessLogListDrawer-CVUvUG48.js → BusinessLogListDrawer-C4iFnkE7.js} +95 -95
  3. package/dist/{CodeConfigurationView-ZjVgaZkD.js → CodeConfigurationView-D7sqbNCg.js} +515 -515
  4. package/dist/{ConfigurationTranslationView-Dl757QMl.js → ConfigurationTranslationView-ta82REbn.js} +21 -21
  5. package/dist/{LoginAuditLogView-Cj3PMvN5.js → LoginAuditLogView-B_RQ9JIX.js} +2 -2
  6. package/dist/ModuleActionManagementView-DtGF3NC_.js +755 -0
  7. package/dist/{ModuleGovernanceView-C3RxdgQN.js → ModuleGovernanceView-Cl6tkZ6M.js} +2659 -2651
  8. package/dist/{RequestErrorLogView-tmjMOeLE.js → RequestErrorLogView-BJDO3Scn.js} +2 -2
  9. package/dist/RoleDetailWorkspaceView-C0Ab3PEp.js +1435 -0
  10. package/dist/{RuntimeLogView-BkkgHcF0.js → RuntimeLogView-jP9ceuJD.js} +61 -61
  11. package/dist/WorkflowAdministrationView-BmNJQYtq.js +650 -0
  12. package/dist/{WorkflowConfigurationView-Bnjdrkdx.js → WorkflowConfigurationView-Dh6BKQm5.js} +309 -309
  13. package/dist/WorkflowWorkbenchView-BvPNKbuV.js +759 -0
  14. package/dist/{codeConfiguration-DERwCY-U.js → codeConfiguration-DhCBKbkc.js} +38 -38
  15. package/dist/index.css +1 -1
  16. package/dist/index.js +999 -618
  17. package/dist/moduleMenuWorkspace-BbVmNKZn.js +626 -0
  18. package/dist/{platform-components-wRXbnwMr.js → platform-components-i2ONyZ8r.js} +2989 -2746
  19. package/dist/{platform-workbench-Cm_0kmTT.js → platform-workbench-DhaREttd.js} +5400 -5384
  20. package/dist/types/consumer/index.d.ts +8 -0
  21. package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +2 -0
  22. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +19 -29
  23. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +2 -0
  24. package/dist/types/dynamic-page-runtime/ModulePageTenantNavigator.vue.d.ts +8 -0
  25. package/dist/types/dynamic-page-runtime/RecordFormSurface.vue.d.ts +1 -0
  26. package/dist/types/dynamic-page-runtime/recordSaveFeedback.d.ts +5 -0
  27. package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +1 -0
  28. package/dist/types/dynamic-page-runtime/useTenantScopeController.d.ts +1 -0
  29. package/dist/types/platform-components/EmployeePicker.vue.d.ts +1 -1
  30. package/dist/types/platform-components/QueryCriteriaComposer.vue.d.ts +3 -1
  31. package/dist/types/platform-components/ReadonlyRecordWorkspace.vue.d.ts +56 -0
  32. package/dist/types/platform-components/RecordAdaptiveDetailPanel.vue.d.ts +3 -1
  33. package/dist/types/platform-components/RecordFormFields.vue.d.ts +3 -0
  34. package/dist/types/platform-components/RecordQueryControls.vue.d.ts +21 -0
  35. package/dist/types/platform-components/RecordQueryFieldControls.vue.d.ts +32 -0
  36. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +1 -1
  37. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +2 -2
  38. package/dist/types/platform-components/ReferencePicker.vue.d.ts +1 -1
  39. package/dist/types/platform-components/UserPicker.vue.d.ts +1 -1
  40. package/dist/types/platform-components/queryCriteria.d.ts +7 -0
  41. package/dist/types/platform-components/referencePickerModel.d.ts +5 -1
  42. package/dist/types/views/metadataChangeSetSubmission.d.ts +3 -0
  43. package/dist/types/views/metadataModelChangeSetClient.d.ts +7 -1
  44. package/dist/types/web-contracts/index.d.ts +3 -0
  45. package/dist/types/web-core/index.d.ts +3 -0
  46. package/dist/types/web-core/recordReadEntry.d.ts +23 -0
  47. package/dist/types/web-core/recordReadView.d.ts +28 -0
  48. package/dist/types/web-core/useRecordReadSession.d.ts +27 -0
  49. package/dist/{useWorkflowConfigurationContext-BE_UjKgk.js → useWorkflowConfigurationContext-B_NxZFyz.js} +8 -8
  50. package/dist/{workspaceViews-D37OpJ7g.js → workspaceViews-MTwNg_aQ.js} +565 -565
  51. package/package.json +1 -1
  52. package/dist/ModuleActionManagementView-BuhQrVA3.js +0 -755
  53. package/dist/RoleDetailWorkspaceView-OhpBChaT.js +0 -1435
  54. package/dist/WorkflowAdministrationView-DOhA_5-M.js +0 -650
  55. package/dist/WorkflowWorkbenchView-Cf6yiofx.js +0 -759
  56. package/dist/moduleMenuWorkspace-DPmYGkS_.js +0 -626
@@ -49,3 +49,11 @@ export type { ReferencePickerReadErrorKind } from '../platform-components/refere
49
49
  export type { ReferencePickerAxisSelection, ReferencePickerBrowseScope, ReferencePickerCandidate, ReferencePickerColumn, ReferencePickerConfig, ReferencePickerId, ReferencePickerNavigationAxis, ReferencePickerNavigationItem, ReferencePickerPage, ReferencePickerPageRequest, ReferencePickerProvider, ReferencePickerSelectionSummary, ReferencePickerSourceIdentity, ReferencePickerTreeNode, ReferencePickerValidity, } from '../platform-components/referencePickerModel';
50
50
  export { UiLanguageProvider, registerUiLanguageLocales } from '../vue-ui-antdv';
51
51
  export { default as LanguageSelector } from '../platform-workbench/LanguageSelector.vue';
52
+ export { ManagementWorkspace, RecordQueryListSurface, RecordQueryListCell, RecordDetailPanel, RecordDetailFields, RecordDetailExtensionSection, useWorkspaceDetailSurface, listDetailWorkspaceMinWidth, resolveRecordQueryListColumns, resolveRecordDetailFields, } from '../platform-components/index';
53
+ export type { RecordFormFieldFallback } from '../platform-components/index';
54
+ export type { QueryListRecord, RecordQueryListColumn, RecordFormFieldDescriptor, } from '../platform-components/index';
55
+ export type { UiDataTableColumn, UiDataTableRecord, UiDataTableSelection } from '../vue-ui-antdv/index';
56
+ export { UiSelect, UiEmpty, UiError } from '../vue-ui-antdv/index';
57
+ export { default as ReadonlyRecordWorkspace } from '../platform-components/ReadonlyRecordWorkspace.vue';
58
+ export { usePageDescriptor, usePageRoute } from '../app/pageRouteContext';
59
+ export type { PageRoute } from '../app/pageRouteContext';
@@ -308,6 +308,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
308
308
  bindNavigatorQueryController: (levelKey: string, controller: import("../platform-components/index").RecordQueryListQueryController | import("../platform-components/index").RecordTreeQueryController | undefined) => void;
309
309
  bindTreeQueryController: (controller: import("../platform-components/index").RecordTreeQueryController | undefined) => void;
310
310
  formValidationRequestKey: number;
311
+ recordSaveError: import("../web-core").AppError | undefined;
311
312
  referencePickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
312
313
  runtimeUiDescriptor: import("../web-contracts").ResolvedModuleUiDescriptor | undefined;
313
314
  executableDetailRelations: import("../web-contracts").ResolvedDetailRelationDescriptor[];
@@ -1100,6 +1101,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
1100
1101
  bindNavigatorQueryController: (levelKey: string, controller: import("../platform-components/index").RecordQueryListQueryController | import("../platform-components/index").RecordTreeQueryController | undefined) => void;
1101
1102
  bindTreeQueryController: (controller: import("../platform-components/index").RecordTreeQueryController | undefined) => void;
1102
1103
  formValidationRequestKey: number;
1104
+ recordSaveError: import("../web-core").AppError | undefined;
1103
1105
  referencePickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
1104
1106
  runtimeUiDescriptor: import("../web-contracts").ResolvedModuleUiDescriptor | undefined;
1105
1107
  executableDetailRelations: import("../web-contracts").ResolvedDetailRelationDescriptor[];
@@ -22,11 +22,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
22
22
  tenantScopeExplorerVisible: import("vue").ComputedRef<boolean>;
23
23
  tenantScopeExplorerCount: import("vue").ComputedRef<0 | 1>;
24
24
  tenantScopeContext: import("vue").ShallowRef<import("../web-core/index").ModuleContext<QueryListRecord> | undefined, import("../web-core/index").ModuleContext<QueryListRecord> | undefined>;
25
- tenantScopeId: import("vue").ComputedRef<string>;
26
- tenantScopeReloadKey: import("vue").Ref<number, number>;
27
- tenantSwitchBlocked: import("vue").Ref<boolean, boolean>;
28
- handleTenantScopeLoaded: (records: QueryListRecord[], initialFullResult?: boolean, total?: number) => void;
29
- changeTenantScope: (record: QueryListRecord | undefined) => void;
30
25
  props: import("vue").WritableComputedRef<import("./useModulePageSession").ModulePageSessionProps, import("./useModulePageSession").ModulePageSessionProps>;
31
26
  runtimePageResolved: import("vue").WritableComputedRef<boolean, boolean>;
32
27
  runtimePage: import("vue").WritableComputedRef<import("../web-contracts/index.ts").ResolvedModulePageDescriptor | undefined, import("../web-contracts/index.ts").ResolvedModulePageDescriptor | undefined>;
@@ -447,6 +442,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
447
442
  bindNavigatorQueryController: import("vue").WritableComputedRef<(levelKey: string, controller: import("../platform-components/index").RecordQueryListQueryController | import("../platform-components/index").RecordTreeQueryController | undefined) => void, (levelKey: string, controller: import("../platform-components/index").RecordQueryListQueryController | import("../platform-components/index").RecordTreeQueryController | undefined) => void>;
448
443
  bindTreeQueryController: import("vue").WritableComputedRef<(controller: import("../platform-components/index").RecordTreeQueryController | undefined) => void, (controller: import("../platform-components/index").RecordTreeQueryController | undefined) => void>;
449
444
  formValidationRequestKey: import("vue").WritableComputedRef<number, number>;
445
+ recordSaveError: import("vue").WritableComputedRef<import("../web-core/index").AppError | undefined, import("../web-core/index").AppError | undefined>;
450
446
  referencePickerConfigs: import("vue").WritableComputedRef<Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>, Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>>;
451
447
  runtimeUiDescriptor: import("vue").WritableComputedRef<import("../web-contracts/index.ts").ResolvedModuleUiDescriptor | undefined, import("../web-contracts/index.ts").ResolvedModuleUiDescriptor | undefined>;
452
448
  executableDetailRelations: import("vue").WritableComputedRef<import("../web-contracts/index.ts").ResolvedDetailRelationDescriptor[], import("../web-contracts/index.ts").ResolvedDetailRelationDescriptor[]>;
@@ -2139,6 +2135,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2139
2135
  fileTransferContext?: import("../web-core/index").ModuleContext<unknown>;
2140
2136
  formSessionKey?: string | number;
2141
2137
  validationRequestKey?: number;
2138
+ serverErrors?: Readonly<Record<string, string>>;
2142
2139
  layoutTransitionPrefix?: string;
2143
2140
  disabled?: boolean;
2144
2141
  showLabels?: boolean;
@@ -2173,6 +2170,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2173
2170
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
2174
2171
  codeParentRecord: import("../platform-components/index").RecordFormRecord;
2175
2172
  validationRequestKey: number;
2173
+ serverErrors: Readonly<Record<string, string>>;
2176
2174
  showLabels: boolean;
2177
2175
  disabledOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => boolean;
2178
2176
  placeholderOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => string | undefined;
@@ -2200,6 +2198,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2200
2198
  fileTransferContext?: import("../web-core/index").ModuleContext<unknown>;
2201
2199
  formSessionKey?: string | number;
2202
2200
  validationRequestKey?: number;
2201
+ serverErrors?: Readonly<Record<string, string>>;
2203
2202
  layoutTransitionPrefix?: string;
2204
2203
  disabled?: boolean;
2205
2204
  showLabels?: boolean;
@@ -2229,6 +2228,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2229
2228
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
2230
2229
  codeParentRecord: import("../platform-components/index").RecordFormRecord;
2231
2230
  validationRequestKey: number;
2231
+ serverErrors: Readonly<Record<string, string>>;
2232
2232
  showLabels: boolean;
2233
2233
  disabledOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => boolean;
2234
2234
  placeholderOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => string | undefined;
@@ -2253,6 +2253,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2253
2253
  fileTransferContext?: import("../web-core/index").ModuleContext<unknown>;
2254
2254
  formSessionKey?: string | number;
2255
2255
  validationRequestKey?: number;
2256
+ serverErrors?: Readonly<Record<string, string>>;
2256
2257
  layoutTransitionPrefix?: string;
2257
2258
  disabled?: boolean;
2258
2259
  showLabels?: boolean;
@@ -2287,6 +2288,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2287
2288
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
2288
2289
  codeParentRecord: import("../platform-components/index").RecordFormRecord;
2289
2290
  validationRequestKey: number;
2291
+ serverErrors: Readonly<Record<string, string>>;
2290
2292
  showLabels: boolean;
2291
2293
  disabledOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => boolean;
2292
2294
  placeholderOf: (fieldName: string, field: import("../platform-components/index").RecordFormFieldState) => string | undefined;
@@ -2869,6 +2871,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2869
2871
  ready: boolean;
2870
2872
  queryTemplateId: string;
2871
2873
  externalQueryValues: Record<string, unknown>;
2874
+ pageSize: number;
2872
2875
  mode: import("../platform-components/index").RecordQueryListMode;
2873
2876
  selectedKey: string;
2874
2877
  reloadKey: number;
@@ -2876,7 +2879,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2876
2879
  rowKey: string;
2877
2880
  expandedRowKeys: string[];
2878
2881
  actionColumnWidth: string | number;
2879
- pageSize: number;
2880
2882
  pageSizeOptions: number[];
2881
2883
  sortable: boolean;
2882
2884
  headerVisible: boolean;
@@ -2994,6 +2996,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2994
2996
  ready: boolean;
2995
2997
  queryTemplateId: string;
2996
2998
  externalQueryValues: Record<string, unknown>;
2999
+ pageSize: number;
2997
3000
  mode: import("../platform-components/index").RecordQueryListMode;
2998
3001
  selectedKey: string;
2999
3002
  reloadKey: number;
@@ -3001,7 +3004,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3001
3004
  rowKey: string;
3002
3005
  expandedRowKeys: string[];
3003
3006
  actionColumnWidth: string | number;
3004
- pageSize: number;
3005
3007
  pageSizeOptions: number[];
3006
3008
  sortable: boolean;
3007
3009
  headerVisible: boolean;
@@ -3130,6 +3132,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3130
3132
  ready: boolean;
3131
3133
  queryTemplateId: string;
3132
3134
  externalQueryValues: Record<string, unknown>;
3135
+ pageSize: number;
3133
3136
  mode: import("../platform-components/index").RecordQueryListMode;
3134
3137
  selectedKey: string;
3135
3138
  reloadKey: number;
@@ -3137,7 +3140,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3137
3140
  rowKey: string;
3138
3141
  expandedRowKeys: string[];
3139
3142
  actionColumnWidth: string | number;
3140
- pageSize: number;
3141
3143
  pageSizeOptions: number[];
3142
3144
  sortable: boolean;
3143
3145
  headerVisible: boolean;
@@ -3713,6 +3715,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3713
3715
  validationRequestKey: number;
3714
3716
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
3715
3717
  saving?: boolean;
3718
+ saveError?: import("../web-core/index").AppError;
3716
3719
  uiDescriptor?: import("../web-contracts/index.ts").ResolvedModuleUiDescriptor;
3717
3720
  relations: import("../web-contracts/index.ts").ResolvedDetailRelationDescriptor[];
3718
3721
  relationsAvailable: boolean;
@@ -3750,6 +3753,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3750
3753
  validationRequestKey: number;
3751
3754
  pickerConfigs: Record<string, import("../platform-components/index").RecordFormFieldPickerConfig>;
3752
3755
  saving?: boolean;
3756
+ saveError?: import("../web-core/index").AppError;
3753
3757
  uiDescriptor?: import("../web-contracts/index.ts").ResolvedModuleUiDescriptor;
3754
3758
  relations: import("../web-contracts/index.ts").ResolvedDetailRelationDescriptor[];
3755
3759
  relationsAvailable: boolean;
@@ -4034,25 +4038,11 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
4034
4038
  editor?: (props: {}) => any;
4035
4039
  };
4036
4040
  });
4037
- TenantScopeExplorer: import("vue").DefineComponent<{
4038
- context: import("../web-core/index").ModuleContext<QueryListRecord>;
4039
- selectedId?: string;
4040
- reloadKey: number;
4041
- disabled?: boolean;
4042
- }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
4043
- select: (record: QueryListRecord) => any;
4044
- refresh: () => any;
4045
- loaded: (records: QueryListRecord[], initialFullResult: boolean, total?: number | undefined) => any;
4046
- deselect: () => any;
4047
- }, string, import("vue").PublicProps, Readonly<{
4048
- context: import("../web-core/index").ModuleContext<QueryListRecord>;
4049
- selectedId?: string;
4050
- reloadKey: number;
4051
- disabled?: boolean;
4052
- }> & Readonly<{
4053
- onSelect?: ((record: QueryListRecord) => any) | undefined;
4054
- onRefresh?: (() => any) | undefined;
4055
- onLoaded?: ((records: QueryListRecord[], initialFullResult: boolean, total?: number | undefined) => any) | undefined;
4056
- onDeselect?: (() => any) | undefined;
4057
- }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
4041
+ ModulePageTenantNavigator: import("vue").DefineComponent<{
4042
+ controller: TenantScopeController;
4043
+ column?: boolean;
4044
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
4045
+ controller: TenantScopeController;
4046
+ column?: boolean;
4047
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
4058
4048
  }, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1,3 +1,4 @@
1
+ import { type AppError } from '../web-core/index';
1
2
  import type { OptionItemDescriptor } from '../web-contracts/index';
2
3
  import { type QueryListRecord, type RecordFormFieldPickerConfig, type RecordFormFieldValue, type RecordFormFieldDescriptor } from '../platform-components/index';
3
4
  import type { HttpClient, ModuleContext } from '../web-core/index';
@@ -16,6 +17,7 @@ type __VLS_Props = {
16
17
  validationRequestKey: number;
17
18
  pickerConfigs: Record<string, RecordFormFieldPickerConfig>;
18
19
  saving?: boolean;
20
+ saveError?: AppError;
19
21
  uiDescriptor?: ResolvedModuleUiDescriptor;
20
22
  relations: ResolvedDetailRelationDescriptor[];
21
23
  relationsAvailable: boolean;
@@ -0,0 +1,8 @@
1
+ import type { TenantScopeController } from './useTenantScopeController';
2
+ type __VLS_Props = {
3
+ controller: TenantScopeController;
4
+ column?: boolean;
5
+ };
6
+ 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>;
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
@@ -8,6 +8,7 @@ type __VLS_Props = {
8
8
  mode: 'create' | 'edit' | 'view';
9
9
  formSessionKey: number;
10
10
  validationRequestKey?: number;
11
+ serverErrors?: Readonly<Record<string, string>>;
11
12
  optionContext: ModuleContext<QueryListRecord>;
12
13
  fileTransferContext: ModuleContext<QueryListRecord>;
13
14
  pickerConfigs: Record<string, RecordFormFieldPickerConfig>;
@@ -0,0 +1,5 @@
1
+ import { type AppError, type LanguageContext } from '../web-core/index';
2
+ /** Only a proven write rejection belongs to the editable draft; unknown outcomes keep their recovery path. */
3
+ export declare function isRecordSaveRejection(error: AppError): boolean;
4
+ /** A child-row target must never be applied to a same-named main-record field. */
5
+ export declare function recordSaveFieldErrors(error: AppError | undefined, fields: ReadonlyMap<string, unknown>, language: LanguageContext): Readonly<Record<string, string>>;
@@ -304,6 +304,7 @@ export declare function useModulePageSession(props: ModulePageSessionProps, emit
304
304
  bindNavigatorQueryController: (levelKey: string, controller: RecordQueryListQueryController | RecordTreeQueryController | undefined) => void;
305
305
  bindTreeQueryController: (controller: RecordTreeQueryController | undefined) => void;
306
306
  formValidationRequestKey: import("vue").Ref<number, number>;
307
+ recordSaveError: import("vue").ShallowRef<AppError | undefined, AppError | undefined>;
307
308
  referencePickerConfigs: import("vue").ComputedRef<Record<string, RecordFormFieldPickerConfig>>;
308
309
  runtimeUiDescriptor: import("vue").ComputedRef<ResolvedModuleUiDescriptor | undefined>;
309
310
  executableDetailRelations: import("vue").ComputedRef<ResolvedDetailRelationDescriptor[]>;
@@ -13,6 +13,7 @@ export declare function useTenantScopeController(context: ModuleContext<QueryLis
13
13
  tenantScopeExplorerCount: import("vue").ComputedRef<0 | 1>;
14
14
  changeTenantScope: (record: QueryListRecord | undefined) => void;
15
15
  handleTenantScopeLoaded: (records: QueryListRecord[], initialFullResult?: boolean, total?: number) => void;
16
+ refreshTenantScope: () => void;
16
17
  waitForInitialScope: (signal: AbortSignal) => Promise<void>;
17
18
  setRequired: (next: boolean) => void;
18
19
  };
@@ -28,11 +28,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
28
28
  title: string;
29
29
  disabled: boolean;
30
30
  value: EmployeeId | readonly EmployeeId[];
31
+ pageSize: number;
31
32
  placeholder: string;
32
33
  allowClear: boolean;
33
34
  multiple: boolean;
34
35
  reloadKey: string | number;
35
- pageSize: number;
36
36
  maxSelection: number;
37
37
  sourceIdentity: ReferencePickerSourceIdentity;
38
38
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -1,5 +1,5 @@
1
1
  import { type ModuleContext } from '../web-core/index';
2
- import type { Option, QueryCriteriaGroup, QuerySchemaField } from '../web-contracts/index';
2
+ import type { Option, QueryCriteriaGroup, QueryCriteriaNode, QuerySchemaField } from '../web-contracts/index';
3
3
  import type { ReferencePickerConfig, ReferencePickerValidity } from './referencePickerModel';
4
4
  import type { RecordPickerRecord } from './recordPickerConstraints';
5
5
  type __VLS_Props = {
@@ -9,6 +9,8 @@ type __VLS_Props = {
9
9
  referencePickerOf?: (field: QuerySchemaField) => ReferencePickerConfig | undefined;
10
10
  disabled: boolean;
11
11
  composition: 'FLAT_AND' | 'TREE';
12
+ /** Other conditions in the final request share the server's complexity budget. */
13
+ conjuncts?: QueryCriteriaNode[];
12
14
  /** Fields already owned by a persistent control on a flat query surface. */
13
15
  excludedFieldNames?: string[];
14
16
  };
@@ -0,0 +1,56 @@
1
+ import { type RecordReadQuery, type RecordReadView } from '../web-core/index';
2
+ import type { Option, QuerySchemaField } from '../web-contracts/index';
3
+ import type { ReferencePickerConfig } from './referencePickerModel';
4
+ declare const __VLS_export: <TRecord extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
5
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<{
6
+ view: RecordReadView<TRecord>;
7
+ query?: RecordReadQuery;
8
+ pageSize?: number;
9
+ quickSearch?: boolean;
10
+ /** Source-authorized option projections; no implicit target CRUD/dictionary requests. */
11
+ queryOptionsByField?: Record<string, Option[]>;
12
+ referencePickerOf?: (field: QuerySchemaField) => ReferencePickerConfig | undefined;
13
+ }> & (typeof globalThis extends {
14
+ __VLS_PROPS_FALLBACK: infer P;
15
+ } ? P : {});
16
+ expose: (exposed: import("vue").ShallowUnwrapRef<{
17
+ refresh: () => Promise<void>;
18
+ closeDetail: () => void;
19
+ }>) => void;
20
+ attrs: any;
21
+ slots: {
22
+ queries?: (props: {}) => any;
23
+ } & {
24
+ operations?: (props: {
25
+ refresh: () => Promise<void>;
26
+ }) => any;
27
+ } & {
28
+ cell?: (props: {
29
+ column: import("./recordQueryListColumnModel").RecordQueryListColumn;
30
+ record: TRecord;
31
+ }) => any;
32
+ } & {
33
+ detail?: (props: {
34
+ record: TRecord;
35
+ detail: Record<string, unknown>;
36
+ refresh: () => Promise<void>;
37
+ }) => any;
38
+ } & {
39
+ detailOperations?: (props: {
40
+ record: TRecord;
41
+ detail: Record<string, unknown>;
42
+ refresh: () => Promise<void>;
43
+ close: () => void;
44
+ }) => any;
45
+ };
46
+ emit: {};
47
+ }>) => import("vue").VNode & {
48
+ __ctx?: Awaited<typeof __VLS_setup>;
49
+ };
50
+ declare const _default: typeof __VLS_export;
51
+ export default _default;
52
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
53
+ [K in keyof T]: T[K];
54
+ } : {
55
+ [K in keyof T as K]: T[K];
56
+ }) & {};
@@ -1,9 +1,10 @@
1
- import { type UiDrawerWidth } from '../vue-ui-antdv/index';
1
+ import { type UiDrawerWidth, type UiDrawerDismissal } from '../vue-ui-antdv/index';
2
2
  type __VLS_Props = {
3
3
  open: boolean;
4
4
  docked: boolean;
5
5
  title: string;
6
6
  width?: UiDrawerWidth;
7
+ dismissal?: UiDrawerDismissal;
7
8
  };
8
9
  declare var __VLS_29: {}, __VLS_32: {};
9
10
  type __VLS_Slots = {} & {
@@ -17,6 +18,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
17
18
  onClose?: (() => any) | undefined;
18
19
  }>, {
19
20
  width: UiDrawerWidth;
21
+ dismissal: UiDrawerDismissal;
20
22
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
23
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
24
  declare const _default: typeof __VLS_export;
@@ -23,6 +23,8 @@ type __VLS_Props = {
23
23
  fileTransferContext?: ModuleContext<unknown>;
24
24
  formSessionKey?: string | number;
25
25
  validationRequestKey?: number;
26
+ /** Server rejections are display facts; the owning session clears them when its draft changes. */
27
+ serverErrors?: Readonly<Record<string, string>>;
26
28
  /** Stable DOM keys for a parent-owned layout transition; absent in ordinary form surfaces. */
27
29
  layoutTransitionPrefix?: string;
28
30
  disabled?: boolean;
@@ -77,6 +79,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
77
79
  pickerConfigs: Record<string, RecordFormFieldPickerConfig>;
78
80
  codeParentRecord: RecordFormRecord;
79
81
  validationRequestKey: number;
82
+ serverErrors: Readonly<Record<string, string>>;
80
83
  showLabels: boolean;
81
84
  disabledOf: (fieldName: string, field: RecordFormFieldState) => boolean;
82
85
  placeholderOf: (fieldName: string, field: RecordFormFieldState) => string | undefined;
@@ -0,0 +1,21 @@
1
+ import type { QuerySchemaField, WebSort } from '../web-contracts/index';
2
+ type __VLS_Props = {
3
+ sortFields: QuerySchemaField[];
4
+ sorts?: WebSort[];
5
+ sortVisible?: boolean;
6
+ filterVisible: boolean;
7
+ filterTitle: string;
8
+ expanded: boolean;
9
+ count: number;
10
+ disabled: boolean;
11
+ sortDisabled?: boolean;
12
+ };
13
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ toggle: () => any;
15
+ sortChange: (sorts: WebSort[] | undefined) => any;
16
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
17
+ onToggle?: (() => any) | undefined;
18
+ onSortChange?: ((sorts: WebSort[] | undefined) => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
20
+ declare const _default: typeof __VLS_export;
21
+ export default _default;
@@ -0,0 +1,32 @@
1
+ import { type ModuleContext } from '../web-core/index';
2
+ import type { Option, QueryOperator, QuerySchemaField } from '../web-contracts/index';
3
+ import type { RecordPickerRecord } from './recordPickerConstraints';
4
+ import type { ReferencePickerConfig, ReferencePickerValidity } from './referencePickerModel';
5
+ type __VLS_Props = {
6
+ controls: Array<{
7
+ id: string;
8
+ title: string;
9
+ field?: QuerySchemaField;
10
+ operator: QueryOperator;
11
+ values: unknown[];
12
+ options?: Option[];
13
+ referenceContext?: ModuleContext<RecordPickerRecord>;
14
+ referencePicker?: ReferencePickerConfig;
15
+ }>;
16
+ resetKey: string | number;
17
+ disabled: boolean;
18
+ valid: boolean;
19
+ };
20
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
21
+ reset: () => any;
22
+ validity: (id: string, validity: ReferencePickerValidity) => any;
23
+ "update:values": (id: string, values: unknown[]) => any;
24
+ apply: () => any;
25
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
26
+ onReset?: (() => any) | undefined;
27
+ onValidity?: ((id: string, validity: ReferencePickerValidity) => any) | undefined;
28
+ "onUpdate:values"?: ((id: string, values: unknown[]) => any) | undefined;
29
+ onApply?: (() => any) | undefined;
30
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ declare const _default: typeof __VLS_export;
32
+ export default _default;
@@ -188,6 +188,7 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
188
188
  ready: boolean;
189
189
  queryTemplateId: string;
190
190
  externalQueryValues: Record<string, unknown>;
191
+ pageSize: number;
191
192
  mode: RecordQueryListMode;
192
193
  selectedKey: string;
193
194
  reloadKey: number;
@@ -195,7 +196,6 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
195
196
  rowKey: string;
196
197
  expandedRowKeys: string[];
197
198
  actionColumnWidth: string | number;
198
- pageSize: number;
199
199
  pageSizeOptions: number[];
200
200
  sortable: boolean;
201
201
  headerVisible: boolean;
@@ -102,6 +102,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
102
102
  subtitle: string;
103
103
  emptyDescription: string;
104
104
  selection: UiDataTableSelection;
105
+ pageNum: number;
106
+ pageSize: number;
105
107
  loading: boolean;
106
108
  rowKey: string | ((record: UiDataTableRecord) => string);
107
109
  selectedRowKey: string;
@@ -117,9 +119,7 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
117
119
  rowDraggable: boolean;
118
120
  rowDragHandleTitle: string;
119
121
  total: number;
120
- pageSize: number;
121
122
  pageSizeOptions: number[];
122
- pageNum: number;
123
123
  totalKnown: boolean;
124
124
  pages: number;
125
125
  titleActionIcon: UiIconName;
@@ -34,6 +34,7 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
34
34
  value: ReferencePickerId | readonly ReferencePickerId[];
35
35
  emptyDescription: string;
36
36
  searchPlaceholder: string;
37
+ pageSize: number;
37
38
  mode: "dialog" | "dropdown";
38
39
  placeholder: string;
39
40
  allowClear: boolean;
@@ -41,7 +42,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
41
42
  invalid: boolean;
42
43
  reloadKey: string | number;
43
44
  columns: readonly ReferencePickerColumn[];
44
- pageSize: number;
45
45
  maxSelection: number;
46
46
  selectionNoun: string;
47
47
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -34,11 +34,11 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {
34
34
  value: UserAccountId | readonly UserAccountId[];
35
35
  emptyDescription: string;
36
36
  searchPlaceholder: string;
37
+ pageSize: number;
37
38
  placeholder: string;
38
39
  allowClear: boolean;
39
40
  multiple: boolean;
40
41
  reloadKey: string | number;
41
- pageSize: number;
42
42
  maxSelection: number;
43
43
  selectionNoun: string;
44
44
  sourceIdentity: ReferencePickerSourceIdentity;
@@ -0,0 +1,7 @@
1
+ import type { QueryCriteriaGroup, QueryCriteriaNode } from '../web-contracts/index';
2
+ export declare function criteriaLeafCount(criteria: QueryCriteriaGroup | undefined): number;
3
+ /** Normalize conjunction without adding a level to a standalone group or breaking OR semantics. */
4
+ export declare function conjoinQueryCriteria(nodes: readonly (QueryCriteriaNode | undefined)[]): QueryCriteriaGroup | undefined;
5
+ /** Same root=1, groups-and-conditions budget as the server's QueryCriteria.validate. */
6
+ export declare function queryCriteriaComplexity(criteria: QueryCriteriaGroup | undefined): 'depth' | 'nodes' | undefined;
7
+ export declare function queryCriteriaComplexityMessage(criteria: QueryCriteriaGroup | undefined, language: import('../web-core/index').LanguageContext): string | undefined;
@@ -30,6 +30,7 @@ export interface ReferencePickerCandidate {
30
30
  /** The UI is displaying the persisted identifier because no business title was available. */
31
31
  identifierFallback?: boolean;
32
32
  subtitle?: string;
33
+ /** Displayable history may be retained, but cannot be newly selected when disabled. */
33
34
  disabled?: boolean;
34
35
  unavailable?: boolean;
35
36
  projections?: Readonly<Record<string, unknown>>;
@@ -82,7 +83,10 @@ export interface ReferencePickerProvider<TCandidate extends ReferencePickerCandi
82
83
  loadTree?: (request: {
83
84
  scope: ReferencePickerBrowseScope;
84
85
  }) => Promise<ReferencePickerTreeNode<TCandidate>[]>;
85
- /** Resolves persisted IDs under the source's authorized historical-display scope. */
86
+ /**
87
+ * Resolves persisted IDs under the source's authorized historical-display scope.
88
+ * Mark displayable but no longer selectable history as disabled; omit inaccessible or missing IDs.
89
+ */
86
90
  resolve(ids: ReferencePickerId[]): Promise<TCandidate[]>;
87
91
  }
88
92
  export interface ReferencePickerColumn {
@@ -1,7 +1,10 @@
1
1
  import { type LanguageContext } from '../web-core/index';
2
2
  import { OperationUsageError, type HttpClient } from '../web-core/index';
3
3
  import type { MetadataModelChangeSetProposal } from './metadataModelEditSession';
4
+ import { type MetadataChangeSetIssue } from './metadataModelChangeSetClient';
4
5
  export declare class MetadataChangeSetPrecheckError extends OperationUsageError {
6
+ readonly issues: readonly MetadataChangeSetIssue[];
7
+ constructor(message: ConstructorParameters<typeof OperationUsageError>[0], issues?: readonly MetadataChangeSetIssue[]);
5
8
  }
6
9
  /** Both page and conversation confirm the same immutable, server-validated change set. */
7
10
  export declare function prepareMetadataChangeSetSubmission(http: HttpClient, moduleAlias: string, candidate: MetadataModelChangeSetProposal, isCurrent: () => boolean, signal?: AbortSignal, fieldSpecTitles?: Readonly<Record<string, string>>, capabilityTitles?: Readonly<Record<string, string>>, language?: LanguageContext): Promise<{
@@ -1,11 +1,17 @@
1
- import type { HttpClient } from '../web-core/index';
1
+ import { type LanguageContext, type HttpClient } from '../web-core/index';
2
+ import type { TextPresentation, TextReference } from '../web-contracts/index';
2
3
  import type { MetadataModelChangeSetProposal } from './metadataModelEditSession';
3
4
  export type MetadataChangeSetIssue = {
4
5
  severity: 'WARNING' | 'ERROR' | string;
5
6
  code: string;
6
7
  subject: string;
7
8
  message: string;
9
+ textSource?: TextReference | null;
10
+ messageText?: TextPresentation | null;
11
+ messageArgs?: Record<string, unknown>;
8
12
  };
13
+ /** Consume server-owned display resources; diagnostics without a verified projection retain their original. */
14
+ export declare function metadataChangeSetIssueMessage(issue: MetadataChangeSetIssue, language?: LanguageContext): string;
9
15
  export type MetadataChangeSetPreview = {
10
16
  proposalFingerprint: string;
11
17
  fieldImpacts: Array<{
@@ -550,6 +550,9 @@ export interface PageDescriptorBase<TPageType extends PageType, TOpenMode extend
550
550
  restoreState?: TabRestoreState;
551
551
  }
552
552
  export interface RoutePageTarget {
553
+ /** Preserved module-menu presentation defaults for a custom business page. */
554
+ defaultUiConfigId?: string;
555
+ defaultQueryTemplateId?: string;
553
556
  route?: string;
554
557
  routeName?: string;
555
558
  pageKey?: string;
@@ -33,3 +33,6 @@ export * from './useBusinessContentGenerationBatch';
33
33
  export * from './useBusinessContentReading';
34
34
  export * from './businessContentLanguage';
35
35
  export * from './recordReadRefreshGuard';
36
+ export * from './recordReadView';
37
+ export * from './useRecordReadSession';
38
+ export * from './recordReadEntry';
@@ -0,0 +1,23 @@
1
+ import type { PageDescriptor } from '../web-contracts/index';
2
+ export interface RecordReadEntry {
3
+ moduleAlias: string;
4
+ viewCode: string;
5
+ menuId?: string;
6
+ /** Presentation/default-query hints only; the server resolves these again from a visible menu. */
7
+ params: Readonly<Record<string, unknown>>;
8
+ defaultUiConfigId?: string;
9
+ defaultQueryTemplateId?: string;
10
+ }
11
+ /**
12
+ * Resolves a business-owned named read view from the existing workbench descriptor.
13
+ * This is presentation selection, never authorization. Pass menuId to the ordinary authenticated
14
+ * transport as X-MuYun-Menu-Id; MenuEntryRequestContext validates the visible menu server-side.
15
+ * Direct links must explicitly declare their default view or be rejected by omitting it.
16
+ */
17
+ export declare function resolveRecordReadEntry(options: {
18
+ moduleAlias: string;
19
+ viewCodes: readonly string[];
20
+ page?: PageDescriptor;
21
+ directViewCode?: string;
22
+ defaultViewCode?: string;
23
+ }): RecordReadEntry;