diff --git a/packages/plugins/@nocobase/plugin-block-tree/src/client-v2/models/TreeBlockModel.tsx b/packages/plugins/@nocobase/plugin-block-tree/src/client-v2/models/TreeBlockModel.tsx index faa281e0d33..e26af22344b 100644 --- a/packages/plugins/@nocobase/plugin-block-tree/src/client-v2/models/TreeBlockModel.tsx +++ b/packages/plugins/@nocobase/plugin-block-tree/src/client-v2/models/TreeBlockModel.tsx @@ -716,6 +716,10 @@ TreeBlockModel.registerFlow({ use: 'dataScope', title: tExpr('Data scope'), }, + defaultSorting: { + use: 'sortingRule', + title: tExpr('Default sorting'), + }, connectFields: { use: treeConnectDataBlocks.name, title: tExpr('Connect data blocks'), diff --git a/packages/plugins/@nocobase/plugin-block-tree/src/client-v2/models/__tests__/TreeBlockModel.test.ts b/packages/plugins/@nocobase/plugin-block-tree/src/client-v2/models/__tests__/TreeBlockModel.test.ts index 77311ad9818..d30edaaee9a 100644 --- a/packages/plugins/@nocobase/plugin-block-tree/src/client-v2/models/__tests__/TreeBlockModel.test.ts +++ b/packages/plugins/@nocobase/plugin-block-tree/src/client-v2/models/__tests__/TreeBlockModel.test.ts @@ -69,6 +69,15 @@ describe('TreeBlockModel', () => { expect(String(TreeFilterBlockMenuModel.meta?.searchPlaceholder)).toContain('Search'); }); + it('exposes default sorting in tree settings', () => { + const flow = TreeBlockModel.globalFlowRegistry.getFlow('treeSettings'); + + expect(flow.steps.defaultSorting).toMatchObject({ + use: 'sortingRule', + title: expect.stringContaining('Default sorting'), + }); + }); + it('keeps multi relation entries in associated records for tree filter block menu', async () => { const engine = new FlowEngine(); engine.registerModels({ TreeBlockModel });