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; }); diff --git a/packages/core/database/src/collection.ts b/packages/core/database/src/collection.ts index fa631d04447..10b626baca3 100644 --- a/packages/core/database/src/collection.ts +++ b/packages/core/database/src/collection.ts @@ -103,6 +103,8 @@ export interface CollectionOptions extends Omit isThrough?: boolean; 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);