diff --git a/packages/runtime/CHANGELOG.md b/packages/runtime/CHANGELOG.md index 4056b538f21ca530ed7207d2acff5803f3546155..a930d67d3cc8ead4368f3e3376cc67b48617f821 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 ebc81b67fd4798e65690238c7b3a1f392af2b5d0..c4cf0616d5f88729d0ac5f093492fb1b53820da6 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 f62659455d249f7dac479b9641e43c4eebf7653d..2a5e3f9df47ecdf23ac07e97379e39844b28e1f1 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; + }>; }