Skip to content

Commit f2654a3

Browse files
committed
Merge branch 'sstoychev/add-row-api' of https://github.com/IgniteUI/igniteui-angular into sstoychev/add-row-api
2 parents f7a275d + 6086a3f commit f2654a3

File tree

7 files changed

+90
-38
lines changed

7 files changed

+90
-38
lines changed

README.md

Lines changed: 35 additions & 21 deletions
Large diffs are not rendered by default.

ROADMAP.md

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,25 @@
22

33
# Current Milestone
44

5-
## Milestone 17 (Due by August, 2021)
5+
## Milestone 18 (Due by Oct, 2021)
6+
7+
1. Add row at top of grid [#9675](https://github.com/IgniteUI/igniteui-angular/issues/9675)
8+
2. Grid row styles and classes [#9969](https://github.com/IgniteUI/igniteui-angular/issues/9969)
9+
3. Freezing Columns/Rows on Export to Excel (Angular) [#9863](https://github.com/IgniteUI/igniteui-angular/issues/9863)
10+
4. Stepper component [#8667](https://github.com/IgniteUI/igniteui-angular/issues/8667)
11+
5. IgxTreeGrid: display only filtered records [#9923](https://github.com/IgniteUI/igniteui-angular/issues/9923)
12+
13+
## Going down the road
14+
15+
1. Angular Pivot Grid [#5700](https://github.com/IgniteUI/igniteui-angular/issues/5700)
16+
2. Grid Cell Merging
17+
3. PDF Export feature on Angular Grid [#5696](https://github.com/IgniteUI/igniteui-angular/issues/5696)
18+
4. Themes: Move code to Sass modules [#9554](https://github.com/IgniteUI/igniteui-angular/issues/9554)
19+
5. Themes: Split themes and aid with Grid refactoring [#9556](https://github.com/IgniteUI/igniteui-angular/issues/9556)
20+
21+
# Previous Milestone
22+
23+
## Milestone 17 (Released August 2nd, 2021)
624

725
1. **[DONE]** Accordion component to Ignite UI for Angular [#9559](https://github.com/IgniteUI/igniteui-angular/issues/9559)
826
2. **[DONE]** Expose a column input for passing additional data/state in the template contexts of the column [#9020](https://github.com/IgniteUI/igniteui-angular/issues/9020)
@@ -16,16 +34,6 @@
1634
10. **[DONE]** Editable cell styling support [#9630](https://github.com/IgniteUI/igniteui-angular/issues/9630)
1735
11. **[DONE]** Excel Export Service - onColumnExport Allow to modify columnIndex Property [#8874](https://github.com/IgniteUI/igniteui-angular/issues/8874)
1836

19-
## Going down the road
20-
21-
1. Angular Pivot Grid [#5700](https://github.com/IgniteUI/igniteui-angular/issues/5700)
22-
2. Grid Cell Merging
23-
3. PDF Export feature on Angular Grid [#5696](https://github.com/IgniteUI/igniteui-angular/issues/5696)
24-
4. Themes: Move code to Sass modules [#9554](https://github.com/IgniteUI/igniteui-angular/issues/9554)
25-
5. Themes: Split themes and aid with Grid refactoring [#9556](https://github.com/IgniteUI/igniteui-angular/issues/9556)
26-
27-
# Previous Milestone
28-
2937
## Milestone 16 (Released May 14th, 2021)
3038

3139
1. **[DONE]** Themes: Expose elevations as custom CSS props [#8920](https://github.com/IgniteUI/igniteui-angular/issues/8920)

projects/igniteui-angular/src/lib/grids/filtering/base/grid-filtering-row.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ export class IgxGridFilteringRowComponent implements AfterViewInit, OnDestroy {
209209
this.cdr.markForCheck();
210210
});
211211

212-
this.focusEditElement();
212+
requestAnimationFrame(() => this.focusEditElement());
213213
}
214214

215215
public get disabled(): boolean {

projects/igniteui-angular/src/lib/grids/grid-base.directive.ts

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2988,7 +2988,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
29882988
};
29892989

29902990
private transactionChange$ = new Subject<void>();
2991-
2991+
private _rendered = false;
29922992
private readonly DRAG_SCROLL_DELTA = 10;
29932993

29942994
/**
@@ -3673,6 +3673,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
36733673
this.paginator.totalRecords = this.totalRecords;
36743674
this.paginator.overlaySettings = { outlet: this.outlet };
36753675
}
3676+
this._rendered = true;
36763677
});
36773678
Promise.resolve().then(() => this.rendered.next(true));
36783679
}
@@ -4027,16 +4028,24 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
40274028
return this.featureColumnsWidth();
40284029
}
40294030

4031+
/**
4032+
* @hidden
4033+
* @internal
4034+
*/
4035+
public get columns(): IgxColumnComponent[] {
4036+
return this._columns;
4037+
}
4038+
40304039
/**
40314040
* Gets an array of `IgxColumnComponent`s.
40324041
*
40334042
* @example
40344043
* ```typescript
4035-
* const colums = this.grid.columns.
4044+
* const colums = this.grid.columnsCollection.
40364045
* ```
40374046
*/
4038-
public get columns(): IgxColumnComponent[] {
4039-
return this._columns;
4047+
public get columnsCollection(): IgxColumnComponent[] {
4048+
return this._rendered ? this._columns : [];
40404049
}
40414050

40424051
/**

projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -282,7 +282,8 @@ export class IgxGridGroupByRowComponent implements OnDestroy {
282282
* @hidden @internal
283283
*/
284284
public get selectedRowsInTheGroup(): any[] {
285-
return this.groupRow.records.filter(rowID => this.gridSelection.filteredSelectedRowIds.indexOf(this.getRowID(rowID)) > -1);
285+
const selectedIds = this.gridSelection.filteredSelectedRowIds;
286+
return this.groupRow.records.filter(rowID => selectedIds.indexOf(this.getRowID(rowID)) > -1);
286287
}
287288

288289
/**

src/app/grid-groupby/grid-groupby.sample.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,3 +65,14 @@
6565

6666
<button igxButton="raised" (click)="hideGroupableRow()">Show/Hide groupable row</button>
6767
</div>
68+
69+
<div class="wrapper">
70+
<h3>Selection Performance</h3>
71+
<igx-grid [data]="data2" [allowFiltering]="true" cellSelection="none" width="1200px"
72+
height="500px" rowSelection="multiple" [groupingExpressions]="perfGrpExpr">
73+
<igx-column field="STATUS" header="Status" width="200px" [groupable]="true" [sortable]="true">
74+
</igx-column>
75+
<igx-column field="FIELD" header="Field" width="200px" [groupable]="true" [sortable]="true">
76+
</igx-column>
77+
</igx-grid>
78+
</div>

src/app/grid-groupby/grid-groupby.sample.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,12 @@ export class GridGroupBySampleComponent implements OnInit {
1717
private grid1: IgxGridComponent;
1818

1919
public data: Array<any>;
20+
public data2: any[] = [];
2021
public hideGroupedColumns = false;
2122
public expState = [];
2223
public columns: Array<any>;
2324
public groupingExpressions: Array<ISortingExpression>;
25+
public perfGrpExpr = [ { fieldName: 'FIELD', dir: SortingDirection.Asc } ];
2426
public summaryMode: GridSummaryCalculationMode = GridSummaryCalculationMode.rootLevelOnly;
2527
public summaryModes = [];
2628
public selectionModes: any[];
@@ -31,6 +33,13 @@ export class GridGroupBySampleComponent implements OnInit {
3133
constructor(@Inject(DisplayDensityToken) public displayDensityOptions: IDisplayDensityOptions) { }
3234

3335
public ngOnInit(): void {
36+
for (let i = 0; i < 60; i++) {
37+
this.data2.push(...Array(10).fill({ STATUS: 'A', FIELD: 'some text' }));
38+
this.data2.push(...Array(10).fill({ STATUS: 'B', FIELD: 'some text' }));
39+
this.data2.push(...Array(10).fill({ STATUS: 'C', FIELD: 'some text' }));
40+
this.data2.push(...Array(10).fill({ STATUS: 'D', FIELD: 'some text' }));
41+
}
42+
this.data2 = this.data2.map((rec, index) => ({...rec, ID: index}));
3443
this.columns = [
3544
{ dataType: 'string', field: 'ID', width: 100, hidden: true },
3645
{ dataType: 'string', field: 'CompanyName', width: 300, groupable: true },

0 commit comments

Comments
 (0)