@ximatai/muyun-web-app 0.26.19 → 0.26.20

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 (46) hide show
  1. package/dist/{BusinessActivityLogView-DudCmeKP.js → BusinessActivityLogView-BpcmlT8u.js} +2 -2
  2. package/dist/{BusinessLogListDrawer-CVUvUG48.js → BusinessLogListDrawer-C3EteOgv.js} +95 -95
  3. package/dist/{CodeConfigurationView-ZjVgaZkD.js → CodeConfigurationView-CxqzINb9.js} +515 -515
  4. package/dist/{ConfigurationTranslationView-Dl757QMl.js → ConfigurationTranslationView-QUeVtdcE.js} +21 -21
  5. package/dist/{LoginAuditLogView-Cj3PMvN5.js → LoginAuditLogView-Cd699_OD.js} +2 -2
  6. package/dist/ModuleActionManagementView-Ct1PqAXF.js +755 -0
  7. package/dist/{ModuleGovernanceView-C3RxdgQN.js → ModuleGovernanceView-CjKt6ryi.js} +2162 -2162
  8. package/dist/{RequestErrorLogView-tmjMOeLE.js → RequestErrorLogView-B9sIOhWs.js} +2 -2
  9. package/dist/RoleDetailWorkspaceView-BnBL_Ihe.js +1435 -0
  10. package/dist/{RuntimeLogView-BkkgHcF0.js → RuntimeLogView-CjV223Pk.js} +61 -61
  11. package/dist/WorkflowAdministrationView-C2jgy4N4.js +650 -0
  12. package/dist/{WorkflowConfigurationView-Bnjdrkdx.js → WorkflowConfigurationView-CNXwdgUP.js} +309 -309
  13. package/dist/WorkflowWorkbenchView-DdJOTmtG.js +759 -0
  14. package/dist/{codeConfiguration-DERwCY-U.js → codeConfiguration-pvXI4qaR.js} +38 -38
  15. package/dist/index.css +1 -1
  16. package/dist/index.js +999 -618
  17. package/dist/moduleMenuWorkspace-D8ih_X-m.js +626 -0
  18. package/dist/{platform-components-wRXbnwMr.js → platform-components-DlKD3nyL.js} +2988 -2746
  19. package/dist/{platform-workbench-Cm_0kmTT.js → platform-workbench-D5w7Odpt.js} +2495 -2493
  20. package/dist/types/consumer/index.d.ts +8 -0
  21. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +3 -3
  22. package/dist/types/platform-components/EmployeePicker.vue.d.ts +1 -1
  23. package/dist/types/platform-components/QueryCriteriaComposer.vue.d.ts +3 -1
  24. package/dist/types/platform-components/ReadonlyRecordWorkspace.vue.d.ts +56 -0
  25. package/dist/types/platform-components/RecordAdaptiveDetailPanel.vue.d.ts +3 -1
  26. package/dist/types/platform-components/RecordQueryControls.vue.d.ts +21 -0
  27. package/dist/types/platform-components/RecordQueryFieldControls.vue.d.ts +32 -0
  28. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +1 -1
  29. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +2 -2
  30. package/dist/types/platform-components/ReferencePicker.vue.d.ts +1 -1
  31. package/dist/types/platform-components/UserPicker.vue.d.ts +1 -1
  32. package/dist/types/platform-components/queryCriteria.d.ts +7 -0
  33. package/dist/types/platform-components/referencePickerModel.d.ts +5 -1
  34. package/dist/types/web-contracts/index.d.ts +3 -0
  35. package/dist/types/web-core/index.d.ts +3 -0
  36. package/dist/types/web-core/recordReadEntry.d.ts +23 -0
  37. package/dist/types/web-core/recordReadView.d.ts +28 -0
  38. package/dist/types/web-core/useRecordReadSession.d.ts +27 -0
  39. package/dist/{useWorkflowConfigurationContext-BE_UjKgk.js → useWorkflowConfigurationContext-B6Wdt26l.js} +8 -8
  40. package/dist/{workspaceViews-D37OpJ7g.js → workspaceViews-B9wsCYdy.js} +565 -565
  41. package/package.json +1 -1
  42. package/dist/ModuleActionManagementView-BuhQrVA3.js +0 -755
  43. package/dist/RoleDetailWorkspaceView-OhpBChaT.js +0 -1435
  44. package/dist/WorkflowAdministrationView-DOhA_5-M.js +0 -650
  45. package/dist/WorkflowWorkbenchView-Cf6yiofx.js +0 -759
  46. 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';
@@ -2869,6 +2869,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2869
2869
  ready: boolean;
2870
2870
  queryTemplateId: string;
2871
2871
  externalQueryValues: Record<string, unknown>;
2872
+ pageSize: number;
2872
2873
  mode: import("../platform-components/index").RecordQueryListMode;
2873
2874
  selectedKey: string;
2874
2875
  reloadKey: number;
@@ -2876,7 +2877,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2876
2877
  rowKey: string;
2877
2878
  expandedRowKeys: string[];
2878
2879
  actionColumnWidth: string | number;
2879
- pageSize: number;
2880
2880
  pageSizeOptions: number[];
2881
2881
  sortable: boolean;
2882
2882
  headerVisible: boolean;
@@ -2994,6 +2994,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
2994
2994
  ready: boolean;
2995
2995
  queryTemplateId: string;
2996
2996
  externalQueryValues: Record<string, unknown>;
2997
+ pageSize: number;
2997
2998
  mode: import("../platform-components/index").RecordQueryListMode;
2998
2999
  selectedKey: string;
2999
3000
  reloadKey: number;
@@ -3001,7 +3002,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3001
3002
  rowKey: string;
3002
3003
  expandedRowKeys: string[];
3003
3004
  actionColumnWidth: string | number;
3004
- pageSize: number;
3005
3005
  pageSizeOptions: number[];
3006
3006
  sortable: boolean;
3007
3007
  headerVisible: boolean;
@@ -3130,6 +3130,7 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3130
3130
  ready: boolean;
3131
3131
  queryTemplateId: string;
3132
3132
  externalQueryValues: Record<string, unknown>;
3133
+ pageSize: number;
3133
3134
  mode: import("../platform-components/index").RecordQueryListMode;
3134
3135
  selectedKey: string;
3135
3136
  reloadKey: number;
@@ -3137,7 +3138,6 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
3137
3138
  rowKey: string;
3138
3139
  expandedRowKeys: string[];
3139
3140
  actionColumnWidth: string | number;
3140
- pageSize: number;
3141
3141
  pageSizeOptions: number[];
3142
3142
  sortable: boolean;
3143
3143
  headerVisible: boolean;
@@ -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;
@@ -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 {
@@ -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;
@@ -0,0 +1,28 @@
1
+ import type { QuerySchema, ResolvedModuleUiDescriptor, WebPageResponse, WebQueryRequest } from '../web-contracts/index';
2
+ export interface RecordReadRequestOptions {
3
+ signal: AbortSignal;
4
+ contentLanguage?: string;
5
+ }
6
+ /**
7
+ * A business-owned, authorized read projection. It declares no write capability and needs no
8
+ * entity table or ModuleContext. Query merging, stable ordering and pagination belong to the server.
9
+ */
10
+ export interface RecordReadView<TRecord extends Record<string, unknown> = Record<string, unknown>> {
11
+ sourceId: string;
12
+ viewCode: string;
13
+ /** Change on authentication, tenant or authorization/range changes; this key grants no access. */
14
+ scopeKey: string;
15
+ descriptor: ResolvedModuleUiDescriptor;
16
+ /** Authorized query capabilities; absent for legacy adapters that only support quick search. */
17
+ querySchema?: QuerySchema;
18
+ /** Stable within this source, including the origin when multiple sources share record IDs. */
19
+ recordKey(record: TRecord): string;
20
+ query(request: WebQueryRequest, options: RecordReadRequestOptions): Promise<WebPageResponse<TRecord>>;
21
+ /** Reauthorize detail reads on the server. Omit when this projection has no detail surface. */
22
+ detail?: {
23
+ load(record: TRecord, options: RecordReadRequestOptions): Promise<Record<string, unknown>>;
24
+ title(record: TRecord): string;
25
+ };
26
+ }
27
+ /** User-adjustable query input, never an authorization or mandatory business-scope declaration. */
28
+ export type RecordReadQuery = Omit<WebQueryRequest, 'page' | 'quickSearch' | 'unpaged'>;
@@ -0,0 +1,27 @@
1
+ import { type MaybeRefOrGetter } from 'vue';
2
+ import type { WebPageResponse } from '../web-contracts/index';
3
+ import type { RecordReadQuery, RecordReadView } from './recordReadView';
4
+ /** One mounted view session; no cross-view or cross-principal cache of authorized results. */
5
+ export declare function useRecordReadSession<TRecord extends Record<string, unknown>>(options: {
6
+ view: MaybeRefOrGetter<RecordReadView<TRecord>>;
7
+ query?: MaybeRefOrGetter<RecordReadQuery | undefined>;
8
+ pageSize?: number;
9
+ contentLanguage?: MaybeRefOrGetter<string | undefined>;
10
+ }): {
11
+ result: import("vue").ShallowRef<WebPageResponse<TRecord> | undefined, WebPageResponse<TRecord> | undefined>;
12
+ loading: import("vue").Ref<boolean, boolean>;
13
+ error: import("vue").ShallowRef<unknown, unknown>;
14
+ pageNum: import("vue").Ref<number, number>;
15
+ pageSize: import("vue").Ref<number, number>;
16
+ quickSearch: import("vue").Ref<string, string>;
17
+ selected: import("vue").ShallowRef<TRecord | undefined, TRecord | undefined>;
18
+ detail: import("vue").ShallowRef<Record<string, unknown> | undefined, Record<string, unknown> | undefined>;
19
+ detailLoading: import("vue").Ref<boolean, boolean>;
20
+ detailError: import("vue").ShallowRef<unknown, unknown>;
21
+ refresh: () => Promise<void>;
22
+ search: (keyword: string) => Promise<void>;
23
+ goPage: (value: number) => Promise<void>;
24
+ resizePage: (value: number) => Promise<void>;
25
+ select: (record: TRecord) => Promise<void>;
26
+ closeDetail: () => void;
27
+ };
@@ -1,9 +1,9 @@
1
- import { E as e, y as t } from "./platform-workbench-Cm_0kmTT.js";
2
- import { Er as n, Ha as r, Hr as i, Ir as a, Mt as o, un as s, zr as c } from "./platform-components-wRXbnwMr.js";
1
+ import { E as e, y as t } from "./platform-workbench-D5w7Odpt.js";
2
+ import { Pr as n, Wr as r, Xa as i, Xr as a, _n as o, qr as s, zt as c } from "./platform-components-DlKD3nyL.js";
3
3
  import { computed as l, onMounted as u } from "vue";
4
4
  //#region src/views/useWorkflowConfigurationContext.ts
5
5
  function d(d) {
6
- let f = r(), p = c({ moduleAlias: "platform.workflow.definition" }), m = n(p.http, d), h = {
6
+ let f = i(), p = s({ moduleAlias: "platform.workflow.definition" }), m = n(p.http, d), h = {
7
7
  loadFunctions: async () => (await m.formulaFunctions()).map((e) => ({
8
8
  name: e.name,
9
9
  title: e.title,
@@ -12,12 +12,12 @@ function d(d) {
12
12
  signature: `${e.name}(${e.parameters.map((e) => e.name).join(", ")})`
13
13
  })),
14
14
  validate: (e) => m.validateCondition(e)
15
- }, g = a({
15
+ }, g = r({
16
16
  http: p.http,
17
17
  language: f,
18
18
  moduleAlias: d,
19
19
  runtimeAccess: "VIEW"
20
- }), _ = t(), v = l(() => _?.value?.tenantId ? a({
20
+ }), _ = t(), v = l(() => _?.value?.tenantId ? r({
21
21
  http: p.http,
22
22
  language: f,
23
23
  moduleAlias: "iam.organization",
@@ -30,14 +30,14 @@ function d(d) {
30
30
  try {
31
31
  await g.runtime.refreshTexts?.();
32
32
  } catch (e) {
33
- s(e, {
33
+ o(e, {
34
34
  source: "workflow-design",
35
35
  phase: "load"
36
36
  });
37
37
  }
38
38
  }
39
39
  });
40
- let y = l(() => i(g.runtime)), b = l(() => [...o(y.value?.uiDescriptor)].map(([e, t]) => ({
40
+ let y = l(() => a(g.runtime)), b = l(() => [...c(y.value?.uiDescriptor)].map(([e, t]) => ({
41
41
  name: e,
42
42
  label: t.label ?? e,
43
43
  valueType: t.valueType,
@@ -47,7 +47,7 @@ function d(d) {
47
47
  try {
48
48
  await g.runtime.ready;
49
49
  } catch (e) {
50
- s(e, {
50
+ o(e, {
51
51
  source: "workflow-design",
52
52
  phase: "load"
53
53
  });