Skip to content

Commit f90fa21

Browse files
committed
fix(h-grid): select proper return field when there is single child entity
1 parent 955f75b commit f90fa21

File tree

3 files changed

+15
-2
lines changed

3 files changed

+15
-2
lines changed

projects/igniteui-angular/src/lib/grids/grid/grid-filtering-advanced.spec.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1593,11 +1593,17 @@ describe('IgxGrid - Advanced Filtering #grid - ', () => {
15931593
tick(100);
15941594
fix.detectChanges();
15951595

1596+
// When there is one entity, it should be selected by default
15961597
const entityInputGroup = QueryBuilderFunctions.getQueryBuilderEntitySelect(fix, 1).querySelector('input');
15971598
expect(entityInputGroup.value).toBe('childData');
15981599

15991600
const fieldInputGroup = QueryBuilderFunctions.getQueryBuilderFieldsCombo(fix, 1).querySelector('input');
16001601
expect(fieldInputGroup.value).toBe('ID');
1602+
1603+
// Click the initial 'Add Condition' button.
1604+
QueryBuilderFunctions.clickQueryBuilderInitialAddConditionBtn(fix, 0);
1605+
tick(100);
1606+
fix.detectChanges();
16011607
// Populate edit inputs on level 1.
16021608
QueryBuilderFunctions.selectColumnInEditModeExpression(fix, 0, 1); // Select 'ID' column.
16031609
QueryBuilderFunctions.selectOperatorInEditModeExpression(fix, 0, 1); // Select 'Contains' operator.
@@ -1625,13 +1631,14 @@ describe('IgxGrid - Advanced Filtering #grid - ', () => {
16251631
it(`Should have correct return fields in the child query when there are multiple child entities.`, fakeAsync(() => {
16261632
const fixture = TestBed.createComponent(IgxHierarchicalGridExportComponent);
16271633
const hierarchicalGrid = fixture.componentInstance.hGrid;
1634+
fixture.componentInstance.shouldDisplayArtist = true;
16281635
hierarchicalGrid.allowAdvancedFiltering = true;
16291636
fixture.detectChanges();
16301637

16311638
hierarchicalGrid.openAdvancedFilteringDialog();
16321639
fixture.detectChanges();
16331640

1634-
// Click the initial 'Add Condition' button.
1641+
// Click the initial 'Add Condition' button.
16351642
QueryBuilderFunctions.clickQueryBuilderInitialAddConditionBtn(fixture, 0);
16361643
tick(100);
16371644
fixture.detectChanges();

projects/igniteui-angular/src/lib/query-builder/query-builder-tree.component.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -563,6 +563,9 @@ export class IgxQueryBuilderTreeComponent implements AfterViewInit, OnDestroy {
563563

564564
if (this.isAdvancedFiltering() && this.entities?.length === 1) {
565565
this.selectedEntity = this.entities[0].name;
566+
if (this._selectedEntity.fields.find(f => f.field === this.expectedReturnField)) {
567+
this._selectedReturnFields = [this.expectedReturnField];
568+
}
566569
}
567570

568571
// Trigger additional change detection cycle

projects/igniteui-angular/src/lib/test-utils/hierarchical-grid-components.spec.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,9 @@ export class IgxHierGridExternalAdvancedFilteringComponent extends IgxHierarchic
484484
<igx-column field="LaunchDate" header="Launch Date" [dataType]="'date'"></igx-column>
485485
<igx-column field="BillboardReview" header="Billboard Review"></igx-column>
486486
<igx-column field="USBillboard200" header="US Billboard 200"></igx-column>
487-
<igx-column field="Artist"></igx-column>
487+
@if(shouldDisplayArtist) {
488+
<igx-column field="Artist"></igx-column>
489+
}
488490
<igx-row-island [key]="'Songs'" [allowFiltering]='true' [filterMode]="'excelStyleFilter'" [autoGenerate]="false">
489491
<igx-column field="Number" header="No."></igx-column>
490492
<igx-column field="Title"></igx-column>
@@ -511,6 +513,7 @@ export class IgxHierGridExternalAdvancedFilteringComponent extends IgxHierarchic
511513
export class IgxHierarchicalGridExportComponent {
512514
@ViewChild('hierarchicalGrid', { read: IgxHierarchicalGridComponent, static: true }) public hGrid: IgxHierarchicalGridComponent;
513515
public data = SampleTestData.hierarchicalGridExportData();
516+
public shouldDisplayArtist = false;
514517
}
515518

516519

0 commit comments

Comments
 (0)