From 7f0922eb3a5728c3cc017bfb82035561c68a8b99 Mon Sep 17 00:00:00 2001 From: igdmdimitrov Date: Thu, 8 May 2025 16:27:00 +0300 Subject: [PATCH] fix(query-builder): fix columns hidden when return fields is '*' --- .../query-builder-request-sample.component.ts | 8 +++++++- .../query-builder-sql-sample.component.ts | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/app/interactions/query-builder/query-builder-request-sample/query-builder-request-sample.component.ts b/src/app/interactions/query-builder/query-builder-request-sample/query-builder-request-sample.component.ts index e2eb42363f..51f3b12298 100644 --- a/src/app/interactions/query-builder/query-builder-request-sample/query-builder-request-sample.component.ts +++ b/src/app/interactions/query-builder/query-builder-request-sample/query-builder-request-sample.component.ts @@ -74,6 +74,12 @@ export class QueryBuilderRequestSampleComponent implements OnInit, AfterViewInit } private calculateColsInView() { - this.grid.columns.forEach(column => column.hidden = !this.expressionTree.returnFields.includes(column.field)); + if (this.expressionTree.returnFields.length === 0 || this.expressionTree.returnFields[0] === '*') { + const selectedEntity = this.entities.find(entity => entity.name === this.expressionTree.entity); + const selectedEntityFields = selectedEntity.fields.map(field => field.field); + this.grid.columns.forEach(column => column.hidden = !selectedEntityFields.includes(column.field)); + } else { + this.grid.columns.forEach(column => column.hidden = !this.expressionTree.returnFields.includes(column.field)); + } } } \ No newline at end of file diff --git a/src/app/interactions/query-builder/query-builder-sql-sample/query-builder-sql-sample.component.ts b/src/app/interactions/query-builder/query-builder-sql-sample/query-builder-sql-sample.component.ts index e85b571f17..1ea250a63a 100644 --- a/src/app/interactions/query-builder/query-builder-sql-sample/query-builder-sql-sample.component.ts +++ b/src/app/interactions/query-builder/query-builder-sql-sample/query-builder-sql-sample.component.ts @@ -199,6 +199,12 @@ export class QueryBuilderSqlSampleComponent implements OnInit, AfterViewInit { } private calculateColsInView() { - this.grid.columns.forEach(column => column.hidden = !this.expressionTree.returnFields.includes(column.field)); + if (this.expressionTree.returnFields.length === 0 || this.expressionTree.returnFields[0] === '*') { + const selectedEntity = this.entities.find(entity => entity.name === this.expressionTree.entity); + const selectedEntityFields = selectedEntity.fields.map(field => field.field); + this.grid.columns.forEach(column => column.hidden = !selectedEntityFields.includes(column.field)); + } else { + this.grid.columns.forEach(column => column.hidden = !this.expressionTree.returnFields.includes(column.field)); + } } } \ No newline at end of file