11import { HttpClient } from '@angular/common/http' ;
2- import { Component , OnInit , ViewChild } from '@angular/core' ;
3- import { FilteringExpressionsTree , FilteringLogic , IExpressionTree , IgxGridComponent , IgxQueryBuilderComponent } from 'igniteui-angular' ;
2+ import { ChangeDetectorRef , Component , OnInit , ViewChild } from '@angular/core' ;
3+ import { FilteringExpressionsTree , FilteringLogic , IExpressionTree , IgxColumnComponent , IgxGridComponent , IgxQueryBuilderComponent } from 'igniteui-angular' ;
44
55const API_ENDPOINT = 'https://data-northwind.indigo.design' ;
66
77@Component ( {
88 selector : 'query-builder-request-sample' ,
99 styleUrls : [ './query-builder-request-sample.component.scss' ] ,
1010 templateUrl : 'query-builder-request-sample.component.html' ,
11- imports : [ IgxQueryBuilderComponent , IgxGridComponent ]
11+ imports : [ IgxQueryBuilderComponent , IgxGridComponent , IgxColumnComponent ]
1212} )
1313export class QueryBuilderRequestSampleComponent implements OnInit {
1414 @ViewChild ( 'grid' , { static : true } )
@@ -20,7 +20,7 @@ export class QueryBuilderRequestSampleComponent implements OnInit {
2020 public expressionTree : IExpressionTree ;
2121 public data : any [ ] = [ ] ;
2222
23- constructor ( private http : HttpClient ) { }
23+ constructor ( private http : HttpClient , private cdr : ChangeDetectorRef ) { }
2424
2525 public ngOnInit ( ) : void {
2626 this . customersFields = [
@@ -66,5 +66,11 @@ export class QueryBuilderRequestSampleComponent implements OnInit {
6666 this . data = Object . values ( data ) [ 0 ] ;
6767 this . grid . isLoading = false ;
6868 } ) ;
69+ this . cdr . detectChanges ( ) ;
70+ this . calculateColsInView ( ) ;
71+ }
72+
73+ private calculateColsInView ( ) {
74+ this . grid . columns . forEach ( column => column . hidden = ! this . expressionTree . returnFields . includes ( column . field ) ) ;
6975 }
7076}
0 commit comments