Skip to content

Commit

Permalink
Merge pull request #2535 from smeup/visible-columns-in-globalFilter-r…
Browse files Browse the repository at this point in the history
…ows-filtering

LS25000940 : fix : visible columns in globalfilter row filtering
  • Loading branch information
pasere-smeup authored Feb 25, 2025
2 parents 6229864 + cd7d27f commit 6a0d528
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,8 @@ export function filterRows(
globalFilter: string = '',
columns: KupDataColumn[] = [],
columnFilters?: FiltersColumnMenu,
filtersRows?: FiltersRows
filtersRows?: FiltersRows,
visibleColumns?: string[]
): Array<KupDataTableRow> {
if (filtersRows == null) {
filtersRows = new FiltersRows();
Expand All @@ -189,7 +190,8 @@ export function filterRows(
filters,
globalFilter,
columns,
columnFilters
columnFilters,
visibleColumns
);
}

Expand Down Expand Up @@ -323,7 +325,6 @@ export function groupRows(
adjustGroupsDistinct(groupRows, totals, distinctObj);
adjustGroupsAverageOrFormula(groupRows, TotalMode.AVERAGE, totals);
adjustGroupsAverageOrFormula(groupRows, TotalMode.MATH, totals);

return groupRows;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3777,7 +3777,10 @@ export class KupDataTable {
this.getRows(),
this.filters,
this.globalFilterValue,
this.getColumns()
this.getColumns(),
undefined,
undefined,
this.visibleColumns
);
this.#rowsLength = this.#rowsPointLength();
}
Expand Down
23 changes: 16 additions & 7 deletions packages/ketchup/src/utils/filters/filters-rows.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,17 @@ export class FiltersRows extends Filters {
globalFilter: string = '',
isUsingGlobalFilter: boolean = false,
columns: KupDataColumn[] = [],
columnFilters?: FiltersColumnMenu
columnFilters?: FiltersColumnMenu,
visibleColumns?: string[]
): boolean {
return this.areCellsCompliant(
r.cells,
filters,
globalFilter,
isUsingGlobalFilter,
columns,
columnFilters
columnFilters,
visibleColumns
);
}

Expand All @@ -84,7 +86,8 @@ export class FiltersRows extends Filters {
globalFilter: string = '',
isUsingGlobalFilter: boolean = false,
columns: KupDataColumn[] = [],
columnFilters?: FiltersColumnMenu
columnFilters?: FiltersColumnMenu,
visibleColumns?: string[]
): boolean {
if (isUsingGlobalFilter) {
let retValue = true;
Expand All @@ -93,11 +96,15 @@ export class FiltersRows extends Filters {
retValue = false;
let _filterIsNegative = this.filterIsNegative(globalFilter);

// Search among all visible columns for the global filter
for (let i = 0; i < columns.length; i++) {
if (columns[i].visible == false) {
if (
(!columns[i].visible === false && !visibleColumns) ||
(visibleColumns?.length > 0 &&
!visibleColumns.includes(columns[i].name))
) {
continue;
}

const cell = cells[columns[i].name];
if (cell == null) {
continue;
Expand Down Expand Up @@ -239,7 +246,8 @@ export class FiltersRows extends Filters {
filters: GenericFilter = {},
globalFilter: string = '',
columns: KupDataColumn[] = [],
columnFilters?: FiltersColumnMenu
columnFilters?: FiltersColumnMenu,
visibleColumns?: string[]
): Array<KupDataRow> {
if (!rows || rows == null) {
return [];
Expand All @@ -262,7 +270,8 @@ export class FiltersRows extends Filters {
globalFilter,
isUsingGlobalFilter,
columns,
columnFilters
columnFilters,
visibleColumns
)
) {
filteredRows[filteredRows.length] = r;
Expand Down

0 comments on commit 6a0d528

Please sign in to comment.