Skip to content

Commit 659ed76

Browse files
committed
Merge branch 'pivot-grid-master' of https://github.com/IgniteUI/igniteui-angular into mdragnev/fix-10666
2 parents 9612fa4 + 5332957 commit 659ed76

21 files changed

+1015
-437
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ All notable changes for each version of this project will be documented in this
9090
- Exposed a `groupStrategy` input that functions similarly to `sortStrategy`, allowing customization of the grouping behavior of the grid. Please, refer to the [Group By ](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/groupby) topic for more information.
9191
- `IgxDialog`
9292
- Added `focusTrap` input to set whether the Tab key focus is trapped within the dialog when opened. Defaults to `true`.
93+
- `IgxProgressBar`
94+
- Exposed new animationDuration input - sets the duration of the progress animation.
9395

9496
### General
9597

ROADMAP.md

Lines changed: 23 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,39 @@
22

33
# Current Milestone
44

5-
## Milestone 19 (Due by Nov, 2021)
5+
## Milestone 20 (Due by Feb, 2022)
66

7-
1. **DONE** Stepper component [#8667](https://github.com/IgniteUI/igniteui-angular/issues/8667)
8-
2. Themes: Move code to Sass modules [#9554](https://github.com/IgniteUI/igniteui-angular/issues/9554)
9-
3. **DONE** Themes: Refactor Grid theme [#9556](https://github.com/IgniteUI/igniteui-angular/issues/9556)
10-
6. **DONE** onFilterDone property to expose additional information [#10243](https://github.com/IgniteUI/igniteui-angular/issues/10243)
11-
7. IgxCombo with single selection [#9832](https://github.com/IgniteUI/igniteui-angular/issues/9832)
7+
1. Angular Pivot Grid [#5700](https://github.com/IgniteUI/igniteui-angular/issues/5700)
8+
2. igx-tree-grid:excel-style filtering should show children of parent elements returned from the filter [#10342](https://github.com/IgniteUI/igniteui-angular/issues/10342)
9+
3. Grid summary custom templating [#7981](https://github.com/IgniteUI/igniteui-angular/issues/7981)
10+
6. Tabs component does not support RTL [#5904](https://github.com/IgniteUI/igniteui-angular/issues/5904)
11+
7. Column moving feature on grid level [#10176](https://github.com/IgniteUI/igniteui-angular/issues/10176)
12+
8. Improve sorting experience for users [#9674](https://github.com/IgniteUI/igniteui-angular/issues/9674)
13+
9. Template grid excel filter footer [#10183](https://github.com/IgniteUI/igniteui-angular/issues/10183)
14+
10. Grid Cell Merging [#3514](https://github.com/IgniteUI/igniteui-angular/issues/3514)
1215

1316
## Going down the road
1417

15-
# Due in 2021
18+
# Due in 2022
1619

17-
1. Angular Pivot Grid [#5700](https://github.com/IgniteUI/igniteui-angular/issues/5700)
20+
1. IgxLinearProgressBar: animate initial progress [#10068](https://github.com/IgniteUI/igniteui-angular/issues/10068)
1821
2. Classes to indicate position of auto overlay [#9481](https://github.com/IgniteUI/igniteui-angular/issues/9481)
22+
3. PDF Export feature on Angular Grid [#5696](https://github.com/IgniteUI/igniteui-angular/issues/5696)
1923
4. Grid autosize feature with performance improvements [#10205](https://github.com/IgniteUI/igniteui-angular/issues/10205)
20-
5. Column moving feature on grid level [#10176](https://github.com/IgniteUI/igniteui-angular/issues/10176)
21-
6. Grid summary custom templating [#7981](https://github.com/IgniteUI/igniteui-angular/issues/7981)
22-
7. IgxLinearProgressBar: animate initial progress [#10068](https://github.com/IgniteUI/igniteui-angular/issues/10068)
23-
8. Improve sorting experience for users [#9674](https://github.com/IgniteUI/igniteui-angular/issues/9674)
24-
9. IgxCombo: being able to set groups sorting order [#10125](https://github.com/IgniteUI/igniteui-angular/issues/10125)
25-
10. Getting only one sort and one filter event after changing the state of grid using setState function [#8064](https://github.com/IgniteUI/igniteui-angular/issues/8064)
26-
11. IgxGridState directive to save disableHiding property [#9304](https://github.com/IgniteUI/igniteui-angular/issues/9304)
27-
12. Template grid excel filter footer [#10183](https://github.com/IgniteUI/igniteui-angular/issues/10183)
28-
13. Igx Grid Sort Icon Change [#10217](https://github.com/IgniteUI/igniteui-angular/issues/10217)
24+
5. Getting only one sort and one filter event after changing the state of grid using setState function [#8064](https://github.com/IgniteUI/igniteui-angular/issues/8064)
2925

30-
# Due in 2022
26+
# Previous Milestone
3127

32-
1. PDF Export feature on Angular Grid [#5696](https://github.com/IgniteUI/igniteui-angular/issues/5696)
33-
2. Grid Cell Merging [#3514](https://github.com/IgniteUI/igniteui-angular/issues/3514)
28+
## Milestone 19 (Released November 23rd, 2021)
3429

35-
# Previous Milestone
30+
1. **[DONE]** Stepper component [#8667](https://github.com/IgniteUI/igniteui-angular/issues/8667)
31+
2. **[DONE]** Themes: Move code to Sass modules [#9554](https://github.com/IgniteUI/igniteui-angular/issues/9554)
32+
3. **[DONE]** Themes: Refactor Grid theme [#9556](https://github.com/IgniteUI/igniteui-angular/issues/9556)
33+
6. **[DONE]** onFilterDone property to expose additional information [#10243](https://github.com/IgniteUI/igniteui-angular/issues/10243)
34+
7. **[DONE]** IgxCombo with single selection [#9832](https://github.com/IgniteUI/igniteui-angular/issues/9832)
35+
8. **[DONE]** Igx Grid Sort Icon Change [#10217](https://github.com/IgniteUI/igniteui-angular/issues/10217)
36+
9. **[DONE]** IgxCombo: being able to set groups sorting order [#10125](https://github.com/IgniteUI/igniteui-angular/issues/10125)
37+
10. **[DONE]** IgxGridState directive to save disableHiding property [#9304](https://github.com/IgniteUI/igniteui-angular/issues/9304)
3638

3739
## Milestone 18 (Released October 4th, 2021)
3840

projects/igniteui-angular/src/lib/combo/combo.common.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -997,7 +997,7 @@ export abstract class IgxComboBaseDirective extends DisplayDensityBase implement
997997
*
998998
* @returns Array of selected items
999999
* ```typescript
1000-
* let selectedItems = this.combo.selectedItems();
1000+
* let mySelection = this.combo.selection;
10011001
* ```
10021002
*/
10031003
public get selection() {

projects/igniteui-angular/src/lib/core/styles/components/grid/_grid-theme.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -992,7 +992,7 @@
992992
top: 0;
993993
#{$right}: 0;
994994
background: var-get($theme, 'header-background');
995-
border-#{$left}: 1px solid var-get($theme, 'header-border-color');
995+
border-#{$left}: 1px solid igx-color($palette, 'grays', 300);
996996
}
997997

998998
%grid-tbody-scrollbar {

projects/igniteui-angular/src/lib/core/styles/themes/schemas/dark/_input-group.scss

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -49,8 +49,8 @@ $dark-fluent-input-group: extend(
4949
/// @requires $bootstrap-input-group
5050
/// @requires $base-dark-input-group
5151
$dark-bootstrap-input-group: extend(
52-
$bootstrap-input-group,
53-
$base-dark-input-group
52+
$base-dark-input-group,
53+
$bootstrap-input-group
5454
);
5555

5656
/// Generates an dark indigo input-group schema
@@ -97,7 +97,6 @@ $dark-indigo-input-group: extend(
9797
focused-bottom-line-color: (
9898
igx-contrast-color: ('surface')
9999
),
100-
101100
)
102101
);
103102

projects/igniteui-angular/src/lib/grids/cell.component.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -826,7 +826,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy {
826826
*/
827827
public pointerenter = (event: PointerEvent) => {
828828
const isHierarchicalGrid = this.grid.nativeElement.tagName.toLowerCase() === 'igx-hierarchical-grid';
829-
if (isHierarchicalGrid && (!this.grid.navigation.activeNode.gridID || this.grid.navigation.activeNode.gridID !== this.gridID)) {
829+
if (isHierarchicalGrid && (!this.grid.navigation?.activeNode?.gridID || this.grid.navigation.activeNode.gridID !== this.gridID)) {
830830
return;
831831
}
832832
const dragMode = this.selectionService.pointerEnter(this.selectionNode, event);
@@ -841,7 +841,7 @@ export class IgxGridCellComponent implements OnInit, OnChanges, OnDestroy {
841841
*/
842842
public pointerup = (event: PointerEvent) => {
843843
const isHierarchicalGrid = this.grid.nativeElement.tagName.toLowerCase() === 'igx-hierarchical-grid';
844-
if (!this.platformUtil.isLeftClick(event) || (isHierarchicalGrid && (!this.grid.navigation.activeNode.gridID ||
844+
if (!this.platformUtil.isLeftClick(event) || (isHierarchicalGrid && (!this.grid.navigation?.activeNode?.gridID ||
845845
this.grid.navigation.activeNode.gridID !== this.gridID))) {
846846
return;
847847
}

projects/igniteui-angular/src/lib/grids/columns/column-group.component.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -371,10 +371,6 @@ export class IgxColumnGroupComponent extends IgxColumnComponent implements After
371371
});
372372
}
373373
}
374-
// constructor(public gridAPI: GridBaseAPIService<IgxGridBaseDirective & IGridDataBindable>, public cdr: ChangeDetectorRef) {
375-
// // D.P. constructor duplication due to es6 compilation, might be obsolete in the future
376-
// super(gridAPI, cdr);
377-
// }
378374

379375
/**
380376
* @hidden

projects/igniteui-angular/src/lib/grids/common/pipes.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,19 @@ export class IgxHasVisibleColumnsPipe implements PipeTransform {
233233

234234
}
235235

236+
/** @hidden @internal */
237+
function buildDataView(): MethodDecorator {
238+
return function (_target: unknown, _propertyKey: string, descriptor: PropertyDescriptor) {
239+
const original = descriptor.value;
240+
descriptor.value = function (...args: unknown[]) {
241+
const result = original.apply(this, args);
242+
this.grid.buildDataView();
243+
return result;
244+
}
245+
return descriptor;
246+
}
247+
}
248+
236249
/**
237250
* @hidden
238251
*/
@@ -241,6 +254,7 @@ export class IgxGridRowPinningPipe implements PipeTransform {
241254

242255
constructor(@Inject(IGX_GRID_BASE) private grid: GridType) { }
243256

257+
@buildDataView()
244258
public transform(collection: any[], id: string, isPinned = false, _pipeTrigger: number) {
245259

246260
if (this.grid.hasPinnedRecords && isPinned) {

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

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1159,7 +1159,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
11591159
}
11601160

11611161
public get headerSelectorContainer() {
1162-
return this.theadRow?.headerSelectorContainer;
1162+
return this.theadRow?.headerSelectorContainer;
11631163
}
11641164

11651165
public get headerDragContainer() {
@@ -2763,6 +2763,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
27632763
private _unpinnedWidth = NaN;
27642764
private _visibleColumns = [];
27652765
private _columnGroups = false;
2766+
private _dataView = [];
27662767

27672768
private _columnWidth: string;
27682769

@@ -3239,7 +3240,7 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
32393240
this.onDensityChanged.pipe(destructor).subscribe(() => {
32403241
this.crudService.endEdit(false);
32413242
if (this._summaryRowHeight === 0) {
3242-
this.summaryService.summaryHeight = 0;
3243+
this.summaryService.summaryHeight = 0;
32433244
}
32443245
this.notifyChanges(true);
32453246
});
@@ -3432,18 +3433,21 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
34323433
*/
34333434
public setFilteredSortedData(data, pinned: boolean) {
34343435
data = data || [];
3435-
if (this.pinnedRecordsCount > 0 && pinned) {
3436-
this._filteredSortedPinnedData = data;
3437-
this.pinnedRecords = data;
3438-
this._filteredSortedData = this.isRowPinningToTop ? [... this._filteredSortedPinnedData, ... this._filteredSortedUnpinnedData] :
3439-
[... this._filteredSortedUnpinnedData, ... this._filteredSortedPinnedData];
3440-
this.refreshSearch(true, false);
3441-
} else if (this.pinnedRecordsCount > 0 && !pinned) {
3442-
this._filteredSortedUnpinnedData = data;
3436+
if (this.pinnedRecordsCount > 0) {
3437+
if (pinned) {
3438+
this._filteredSortedPinnedData = data;
3439+
this.pinnedRecords = data;
3440+
this._filteredSortedData = this.isRowPinningToTop ? [... this._filteredSortedPinnedData, ... this._filteredSortedUnpinnedData] :
3441+
[... this._filteredSortedUnpinnedData, ... this._filteredSortedPinnedData];
3442+
this.refreshSearch(true, false);
3443+
} else {
3444+
this._filteredSortedUnpinnedData = data;
3445+
}
34433446
} else {
34443447
this._filteredSortedData = data;
34453448
this.refreshSearch(true, false);
34463449
}
3450+
this.buildDataView();
34473451
}
34483452

34493453
/**
@@ -5117,10 +5121,8 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
51175121
* const dataView = this.grid.dataView;
51185122
* ```
51195123
*/
5120-
public get dataView(): any[] {
5121-
return this.isRowPinningToTop ?
5122-
[...this.pinnedDataView, ...this.unpinnedDataView] :
5123-
[...this.unpinnedDataView, ...this.pinnedDataView];
5124+
public get dataView() {
5125+
return this._dataView;
51245126
}
51255127

51265128
/**
@@ -6923,6 +6925,12 @@ export abstract class IgxGridBaseDirective extends DisplayDensityBase implements
69236925
column.resetCaches();
69246926
}
69256927

6928+
private buildDataView() {
6929+
this._dataView = this.isRowPinningToTop ?
6930+
[...this.pinnedDataView, ...this.unpinnedDataView] :
6931+
[...this.unpinnedDataView, ...this.pinnedDataView];
6932+
}
6933+
69266934
private _applyWidthHostBinding() {
69276935
let width = this._width;
69286936
if (width === null) {

projects/igniteui-angular/src/lib/grids/grid/grid.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@
124124
<div class="igx-grid__row-indentation igx-grid__row-indentation--level-{{groupingExpressions.length}}"></div>
125125
</ng-container>
126126
<ng-template
127-
[ngTemplateOutlet]='detailTemplate'
127+
[ngTemplateOutlet]='detailTemplate.first'
128128
[ngTemplateOutletContext]='getDetailsContext(rowData, rowIndex)'>
129129
</ng-template>
130130
</div>

0 commit comments

Comments
 (0)