From 9b8c274fc9fc8231ddc866524aee5a244e7ec779 Mon Sep 17 00:00:00 2001 From: ChengLei Shao Date: Thu, 9 Jan 2025 21:31:39 +0800 Subject: [PATCH 1/2] fix: fields sort (#6028) --- packages/core/database/src/collection.ts | 2 ++ .../plugin-data-source-main/src/server/models/field.ts | 5 ++++- .../src/server/resourcers/collections.ts | 2 +- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/core/database/src/collection.ts b/packages/core/database/src/collection.ts index e6ecd56ed22..fec545faf39 100644 --- a/packages/core/database/src/collection.ts +++ b/packages/core/database/src/collection.ts @@ -100,6 +100,8 @@ export interface CollectionOptions extends Omit filterTargetKey?: string | string[]; fields?: FieldOptions[]; + fieldSort?: string[]; + model?: string | ModelStatic; repository?: string | RepositoryType; sortable?: CollectionSortable; diff --git a/packages/plugins/@nocobase/plugin-data-source-main/src/server/models/field.ts b/packages/plugins/@nocobase/plugin-data-source-main/src/server/models/field.ts index 42d0ed78e0e..3e28a7220ae 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/src/server/models/field.ts +++ b/packages/plugins/@nocobase/plugin-data-source-main/src/server/models/field.ts @@ -47,7 +47,10 @@ export class FieldModel extends MagicAttributeModel { const field = await (async () => { await new Promise((resolve) => setTimeout(resolve, 0)); - return collection.setField(name, options); + return collection.setField(name, { + ...options, + __sort: this.get('sort'), + }); })(); await this.db.emitAsync('field:loaded', { diff --git a/packages/plugins/@nocobase/plugin-data-source-main/src/server/resourcers/collections.ts b/packages/plugins/@nocobase/plugin-data-source-main/src/server/resourcers/collections.ts index 53540faedf8..502be450807 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/src/server/resourcers/collections.ts +++ b/packages/plugins/@nocobase/plugin-data-source-main/src/server/resourcers/collections.ts @@ -35,7 +35,7 @@ export default { ...field.options, }; }), - 'sort', + '__sort', ); results.push(obj); From a1c0d6b9698597aedc18e00f102da68e3ea23909 Mon Sep 17 00:00:00 2001 From: Katherine Date: Fri, 10 Jan 2025 09:35:10 +0800 Subject: [PATCH 2/2] refactor: support linkage rules in the details block to hide(reserved value) (#6031) --- .../client/src/schema-settings/LinkageRules/action-hooks.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/client/src/schema-settings/LinkageRules/action-hooks.ts b/packages/core/client/src/schema-settings/LinkageRules/action-hooks.ts index e01d14d3600..38728bd0fb6 100644 --- a/packages/core/client/src/schema-settings/LinkageRules/action-hooks.ts +++ b/packages/core/client/src/schema-settings/LinkageRules/action-hooks.ts @@ -29,7 +29,7 @@ export const useLinkageCollectionFieldOptions = (collectionName: string, readPre { label: t('Value'), value: ActionType.Value, selected: false, schema: {} }, ].filter((v) => { if (readPretty) { - return [ActionType.Visible, ActionType.None].includes(v.value); + return [ActionType.Visible, ActionType.None, ActionType.Hidden].includes(v.value); } return v; });