From 30933686781cbab67ef975b8df81143708d19ad8 Mon Sep 17 00:00:00 2001 From: Cano1997 <1978141412@qq.com> Date: Fri, 24 Oct 2025 19:52:21 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8D=A1=E7=89=87=E9=83=A8=E4=BB=B6?= =?UTF-8?q?=E6=96=B0=E5=A2=9EsortDelistItems=E7=8A=B6=E6=80=81=E5=8F=98?= =?UTF-8?q?=E9=87=8F,=E6=94=AF=E6=8C=81=E5=8D=A1=E7=89=87=E8=87=AA?= =?UTF-8?q?=E5=AE=9A=E4=B9=89=E8=BF=87=E6=BB=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/runtime/CHANGELOG.md | 4 ++ .../control/data-view/data-view.controller.ts | 45 +++++++++++++++++++ .../control/i-data-view-control.state.ts | 13 ++++++ 3 files changed, 62 insertions(+) diff --git a/packages/runtime/CHANGELOG.md b/packages/runtime/CHANGELOG.md index 4056b538f..a930d67d3 100644 --- a/packages/runtime/CHANGELOG.md +++ b/packages/runtime/CHANGELOG.md @@ -7,6 +7,10 @@ ## [Unreleased] +### Added + +- 卡片部件新增sortDelistItems状态变量,支持卡片自定义过滤功能 + ## [0.7.41-alpha.33] - 2025-10-24 ### Added diff --git a/packages/runtime/src/controller/control/data-view/data-view.controller.ts b/packages/runtime/src/controller/control/data-view/data-view.controller.ts index ebc81b67f..c4cf0616d 100644 --- a/packages/runtime/src/controller/control/data-view/data-view.controller.ts +++ b/packages/runtime/src/controller/control/data-view/data-view.controller.ts @@ -97,6 +97,26 @@ export class DataViewControlController< return this.model.enableCardEditGroup === true; } + /** + * @description 启用分组 + * @readonly + * @type {boolean} + * @memberof DataViewControlController + */ + get enableGroup(): boolean { + return this.model.groupMode !== 'NONE'; + } + + /** + * @description 分组时是否显示分组锚点导航 + * @readonly + * @type {boolean} + * @memberof DataViewControlController + */ + get showGroupAnchor(): boolean { + return this.enableGroup && this.controlParams.showgroupanchor === 'true'; + } + /** * 初始化State * @@ -118,6 +138,31 @@ export class DataViewControlController< ); this.state.draggable = this.enableEditOrder || this.enableEditGroup; this.state.uaState = {}; + this.initSortDelistItems(); + } + + /** + * @description 初始化排序配置项集合 + * @protected + * @memberof DataViewControlController + */ + protected initSortDelistItems(): void { + const sortDelistItems: Array<{ + value: string; + label: string; + }> = []; + this.model.dedataViewItems?.forEach((item: IParams) => { + if (item.enableSort) { + sortDelistItems.push({ + value: item.id, + label: ibiz.i18n.t( + item?.capLanguageRes?.lanResTag || '', + item.caption || item?.capLanguageRes?.defaultContent, + ), + }); + } + }); + this.state.sortDelistItems = sortDelistItems; } /** diff --git a/packages/runtime/src/interface/controller/state/control/i-data-view-control.state.ts b/packages/runtime/src/interface/controller/state/control/i-data-view-control.state.ts index f62659455..2a5e3f9df 100644 --- a/packages/runtime/src/interface/controller/state/control/i-data-view-control.state.ts +++ b/packages/runtime/src/interface/controller/state/control/i-data-view-control.state.ts @@ -24,4 +24,17 @@ export interface IDataViewControlState * @memberof IDataViewControlState */ groupActionGroupState?: IButtonContainerState; + + /** + * @description 多数视图可设置排序的数据项集合(移动端使用) + * @type {Array<{ + * value: string; + * label: string; + * }>} + * @memberof IDataViewControlState + */ + sortDelistItems: Array<{ + value: string; + label: string; + }>; } -- Gitee