From 2874fd7767e4e50f1243dd2d0399c7e8afd9910b Mon Sep 17 00:00:00 2001 From: ghiscoding Date: Tue, 19 Jan 2021 21:59:49 -0500 Subject: [PATCH] fix(plugins): add missing Row Detail filtering code - get the item data context from its parrent object when using row detail --- .../common/src/interfaces/gridOption.interface.ts | 4 ++-- packages/common/src/services/filter.service.ts | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/common/src/interfaces/gridOption.interface.ts b/packages/common/src/interfaces/gridOption.interface.ts index 1e27612d3..334c90f38 100644 --- a/packages/common/src/interfaces/gridOption.interface.ts +++ b/packages/common/src/interfaces/gridOption.interface.ts @@ -22,7 +22,7 @@ import { HeaderMenu, Locale, Pagination, - // RowDetailView, + RowDetailView, RowMoveManager, RowSelectionModelOption, TextExportOption, @@ -435,7 +435,7 @@ export interface GridOption { registerExternalResources?: ExternalResource[]; /** Row Detail View Plugin options & events (columnId, cssClass, toolTip, width) */ - // rowDetailView?: RowDetailView; + rowDetailView?: RowDetailView; /** Grid row height in pixels (only type the number). Row of cell values. */ rowHeight?: number; diff --git a/packages/common/src/services/filter.service.ts b/packages/common/src/services/filter.service.ts index 1ebf33c6f..d3961dece 100644 --- a/packages/common/src/services/filter.service.ts +++ b/packages/common/src/services/filter.service.ts @@ -350,12 +350,12 @@ export class FilterService { } // Row Detail View plugin, if the row is padding we just get the value we're filtering on from it's parent - // if (this._gridOptions.enableRowDetailView) { - // const metadataPrefix = this._gridOptions.rowDetailView && this._gridOptions.rowDetailView.keyPrefix || '__'; - // if (item[`${metadataPrefix}isPadding`] && item[`${metadataPrefix}parent`]) { - // item = item[`${metadataPrefix}parent`]; - // } - // } + if (this._gridOptions.enableRowDetailView) { + const metadataPrefix = this._gridOptions.rowDetailView && this._gridOptions.rowDetailView.keyPrefix || '__'; + if (item[`${metadataPrefix}isPadding`] && item[`${metadataPrefix}parent`]) { + item = item[`${metadataPrefix}parent`]; + } + } const dataKey = columnDef.dataKey; let queryFieldName = columnDef.filter?.queryField || columnDef.queryFieldFilter || columnDef.queryField || columnDef.field || '';