Skip to content

Commit 9ffacea

Browse files
authored
Merge branch 'master' into minor-updates
2 parents cb95992 + bc37310 commit 9ffacea

File tree

76 files changed

+842
-1024
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+842
-1024
lines changed

CHANGELOG.md

Lines changed: 53 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,35 +2,53 @@
22

33
All notable changes for each version of this project will be documented in this file.
44

5-
## 12.2.0
5+
## 13.0.0
66

77
### New Features
8-
- `igxGrid`, `igxHierarchicalGrid`, `igxTreeGrid`
9-
- Added capability to restore the state of multi column headers with `IgxGridStateDirective`.
10-
- Introduced new 'rowStyles' and 'rowClasses' grid properties which allows to define a custom styling on each grid row
11-
- Introduced two new *cancellable* outputs related to CRUD - `rowDelete` and `rowAdd`. Both use an `IGridEditEventArgs` object as an event argument.
12-
```html
13-
<igx-grid #grid [data]="localData" (rowAdd)="rowAdd($event)" (rowDelete)="rowDelete($event)" [autoGenerate]="true"></igx-grid>
14-
```
15-
- `igxTreeGrid`
16-
- Added `TreeGridMatchingRecordsOnlyFilteringStrategy`, which allows you to display only the records matching particular filtering condition without any trace for their parents.
17-
- `IgxSnackbarComponent`
18-
- Introduced new 'positionSettings' input which allows to define a custom animation and position.
19-
- `IgxToastComponent`
20-
- Introduced new 'positionSettings' input which allows to define a custom animation and position.
8+
- `IgxCsvExporterService`, `IgxExcelExporterService`
9+
- Exporter services are no longer required to be provided in the application since they are now injected on a root level.
10+
- `IgxGridToolbarPinningComponent`, `IgxGridToolbarHidingComponent`
11+
- Exposed new input `buttonText` which sets the text that is displayed inside the dropdown button in the toolbar.
2112

2213
### General
14+
15+
- `IgxDialog`
16+
- **Breaking Change** - The default positionSettings open/close animation has been changed to `fadeIn`/`fadeOut`. The open/close animation can be set through the position settings, e.g. change the animation to the previously default open/close animation:
17+
18+
```typescript
19+
import { slideInBottom, slideOutTop } from 'igniteui-angular';
20+
21+
@ViewChild('alert', { static: true }) public alert: IgxDialogComponent;
22+
public newPositionSettings: PositionSettings = {
23+
openAnimation: useAnimation(slideInBottom, { params: { fromPosition: 'translateY(100%)' } }),
24+
closeAnimation: useAnimation(slideOutTop, { params: { toPosition: 'translateY(-100%)'} })
25+
};
26+
this.alert.positionSettings = this.newPositionSettings;
27+
```
2328
- `igxGrid`, `igxHierarchicalGrid`, `igxTreeGrid`
24-
- 'oddRowCSS' and 'evenRowCSS' properties has been deprecated
25-
- `IgxForOf` - now takes margins into account when calculating the space that each element takes.
26-
_Note:_ If your virtualized items contain margins, please calculate them into the `itemSize` value for the best possible initial virtualized state.
29+
- **Breaking Change** - The following deprecated inputs have been removed
30+
- Inputs `showToolbar`, `toolbarTitle`, `columnHiding`, `columnHidingTitle`, `hiddenColumnsText`,
31+
`columnPinning`, `columnPinningTitle`, `pinnedColumnsText`.
32+
Use `IgxGridToolbarComponent`, `IgxGridToolbarHidingComponent`, `IgxGridToolbarPinningComponent` instead.
33+
- `IgxColumnActionsComponent`
34+
- **Breaking Change** - The following input has been removed
35+
- Input `columns`. Use `igxGrid` `columns` input instead.
36+
## 12.2.1
2737

28-
## 12.1.6
38+
### New Features
39+
- `igxGrid`, `igxHierarchicalGrid`, `igxTreeGrid`
40+
- new `rowPinned` event is emitted after a row is pinned/unpinned and grid has already refreshed its state to represent the pinned/unpinned rows in the DOM.
2941

30-
## 12.1.6
42+
## 12.2.0
3143

3244
### New Features
3345
- `igxGrid`, `igxHierarchicalGrid`, `igxTreeGrid`
46+
- Added capability to restore the state of multi column headers with `IgxGridStateDirective`.
47+
- Introduced new 'rowStyles' and 'rowClasses' grid properties which allows to define a custom styling on each grid row
48+
- Introduced two new *cancellable* outputs related to CRUD - `rowDelete` and `rowAdd`. Both use an `IGridEditEventArgs` object as an event argument.
49+
```html
50+
<igx-grid #grid [data]="localData" (rowAdd)="rowAdd($event)" (rowDelete)="rowDelete($event)" [autoGenerate]="true"></igx-grid>
51+
```
3452
- Added two public methods that spawn the add row UI for an arbitrary record in the current data view. One that accepts a rowID to use as the row the UI spawns under and the other accepting an index that has a distinct implementation for `IgxTreeGrid`. Please, refer to the official documentation for more information: [Grid Row Adding](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/row-adding) and [Tree Grid Row Adding](https://www.infragistics.com/products/ignite-ui-angular/angular/components/treegrid/row-adding).
3553

3654
_Note:_ That the new record is still added at the end of the data view, after the end-user submits it.
@@ -43,21 +61,26 @@ All notable changes for each version of this project will be documented in this
4361
this.treeGrid.beginAddRowByIndex(10, true); // spawns the add row UI to add a child for the row at index 10
4462
this.treeGrid.beginAddRowByIndex(null); // spawns the add row UI as the first record
4563
```
46-
47-
## 12.1.3
48-
49-
### New Features
50-
- `igxGrid`
5164
- Added `headerStyles` and `headerGroupStyles` inputs to the column component.
52-
Similar to `cellStyles` is exposes a way to bind CSS properties and style the grid headers.
65+
Similar to `cellStyles` is exposes a way to bind CSS properties and style the grid headers.
66+
- `igxTreeGrid`
67+
- Added `TreeGridMatchingRecordsOnlyFilteringStrategy`, which allows you to display only the records matching particular filtering condition without any trace for their parents.
68+
- `IgxSnackbarComponent`
69+
- Introduced new 'positionSettings' input which allows to define a custom animation and position.
70+
- `IgxToastComponent`
71+
- Introduced new 'positionSettings' input which allows to define a custom animation and position.
5372

54-
## 12.1.2
55-
- `igxGrid`
73+
### General
74+
- `igxGrid`, `igxHierarchicalGrid`, `igxTreeGrid`
75+
- 'oddRowCSS' and 'evenRowCSS' properties has been deprecated
5676
- The column formatter callback signature now accepts the row data as an additional argument:
57-
```typescript formatter(value: any, rowData?: any)```
58-
The `rowData` argument may be `undefined` in remote scenarios/applying the callback on filtering labels
59-
so make sure to check its availability.
77+
```typescript
78+
formatter(value: any, rowData?: any)
79+
```
80+
The `rowData` argument may be `undefined` in remote scenarios/applying the callback on filtering labels so make sure to check its availability.
81+
- `IgxForOf` - now takes margins into account when calculating the space that each element takes.
6082

83+
_Note:_ If your virtualized items contain margins, please calculate them into the `itemSize` value for the best possible initial virtualized state.
6184
- `IgxExcelExporterService`
6285
- Added support for freezing column headers in **Excel**. By default, the column headers would not be frozen but this behavior can be controlled by the `freezeHeaders` option of the IgxExcelExporterOptions object.
6386

README.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,10 @@ Ignite UI for Angular arrives with an extensive library of data visualizations t
2525

2626
Some of the Angular chart types included are: [Polar chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/polar-chart), [Pie chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/pie-chart), [Donut chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/donut-chart), [Bubble chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/bubble-chart), [Area chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/area-chart), [Treemap chart](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/treemap-chart), and many others. And if you look for [Angular financial charts](https://www.infragistics.com/products/ignite-ui-angular/angular/components/charts/types/stock-chart), with Ignite UI you can get the same features as the ones you come across with Google Finance and Yahoo Finance Charts.
2727

28-
### [**Install our VSCode Toolbox extension**](https://marketplace.visualstudio.com/items?itemName=Infragistics.igniteui-angular-toolbox)
29-
![](https://dl.infragistics.com/tools/extensions/angular-toolbox/toolbox.gif)
30-
### [**Install our VSCode tooltip extension**](https://marketplace.visualstudio.com/items?itemName=Infragistics.igniteui-angular-tooltips)
31-
![](https://dl.infragistics.com/tools/extensions/angular-tooltips/tooltip_preview.gif)
32-
33-
**IMPORTANT** The repository has been renamed from `igniteui-js-blocks` to `igniteui-angular`. Read more on our new [naming convention](https://www.infragistics.com/community/blogs/b/infragistics/posts/ignite-ui-github-repo-name-changes).
28+
### Build Apps with Ignite UI for Angular faster using our [App Builder](https://www.infragistics.com/products/indigo-design/app-builder)
29+
![5661 drag drop](https://user-images.githubusercontent.com/1472513/132676597-09eec222-42f7-40ff-bd0d-fe8b91fd0c1c.gif)
30+
### Generate your Angular code projects using the [App Builder](https://www.infragistics.com/products/indigo-design/app-builder)
31+
![0871 change-preview-code](https://user-images.githubusercontent.com/1472513/132676607-3851f308-416b-45d6-99bc-c34266b55c44.gif)
3432

3533
### Current List of Components Include:
3634

ROADMAP.md

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,49 @@
22

33
# Current Milestone
44

5-
## Milestone 18 (Due by Oct, 2021)
5+
## Milestone 19 (Due by Nov, 2021)
66

7-
1. **[DONE]** Add row at top of grid [#9675](https://github.com/IgniteUI/igniteui-angular/issues/9675)
8-
2. **[DONE]** Grid row styles and classes [#9969](https://github.com/IgniteUI/igniteui-angular/issues/9969)
9-
3. **[DONE]** Freezing Columns/Rows on Export to Excel (Angular) [#9863](https://github.com/IgniteUI/igniteui-angular/issues/9863)
10-
4. **[DONE]** Persistent State directive for column group [#8516](https://github.com/IgniteUI/igniteui-angular/issues/8516)
11-
5. **[DONE]** IgxTreeGrid: display only filtered records [#9923](https://github.com/IgniteUI/igniteui-angular/issues/9923)
12-
6. **[DONE]** Snackbar support for animation customization [#10126](https://github.com/IgniteUI/igniteui-angular/issues/10126)
7+
1. 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+
4. Make IgxDropDownBaseToken public [#10103](https://github.com/IgniteUI/igniteui-angular/issues/10103)
11+
5. Classes to indicate position of auto overlay [#9481](https://github.com/IgniteUI/igniteui-angular/issues/9481)
12+
6. onFilterDone property to expose additional information [#10243](https://github.com/IgniteUI/igniteui-angular/issues/10243)
13+
7. IgxCombo with single selection [#9832](https://github.com/IgniteUI/igniteui-angular/issues/9832)
1314

1415
## Going down the road
1516

17+
# Due in 2021
18+
1619
1. Angular Pivot Grid [#5700](https://github.com/IgniteUI/igniteui-angular/issues/5700)
17-
2. Grid Cell Merging
18-
3. PDF Export feature on Angular Grid [#5696](https://github.com/IgniteUI/igniteui-angular/issues/5696)
19-
4. Themes: Move code to Sass modules [#9554](https://github.com/IgniteUI/igniteui-angular/issues/9554)
20-
5. Themes: Split themes and aid with Grid refactoring [#9556](https://github.com/IgniteUI/igniteui-angular/issues/9556)
21-
6. Stepper component [#8667](https://github.com/IgniteUI/igniteui-angular/issues/8667)
22-
7. Make IgxDropDownBaseToken public [#10103](https://github.com/IgniteUI/igniteui-angular/issues/10103)
23-
8. IgxLinearProgressBar: animate initial progress [#10068](https://github.com/IgniteUI/igniteui-angular/issues/10068)
20+
2. Grid grouping for an unbound field [#10223](https://github.com/IgniteUI/igniteui-angular/issues/10223)
21+
4. Grid autosize feature with performance improvements [#10205](https://github.com/IgniteUI/igniteui-angular/issues/10205)
22+
5. Column moving feature on grid level [#10176](https://github.com/IgniteUI/igniteui-angular/issues/10176)
23+
6. Grid summary custom templating [#7981](https://github.com/IgniteUI/igniteui-angular/issues/7981)
24+
7. IgxLinearProgressBar: animate initial progress [#10068](https://github.com/IgniteUI/igniteui-angular/issues/10068)
25+
8. Improve sorting experience for users [#9674](https://github.com/IgniteUI/igniteui-angular/issues/9674)
2426
9. IgxCombo: being able to set groups sorting order [#10125](https://github.com/IgniteUI/igniteui-angular/issues/10125)
2527
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)
28+
11. IgxGridState directive to save disableHiding property [#9304](https://github.com/IgniteUI/igniteui-angular/issues/9304)
29+
12. Template grid excel filter footer [#10183](https://github.com/IgniteUI/igniteui-angular/issues/10183)
30+
13. Igx Grid Sort Icon Change [#10217](https://github.com/IgniteUI/igniteui-angular/issues/10217)
31+
32+
# Due in 2022
33+
34+
1. PDF Export feature on Angular Grid [#5696](https://github.com/IgniteUI/igniteui-angular/issues/5696)
35+
2. Grid Cell Merging [#3514](https://github.com/IgniteUI/igniteui-angular/issues/3514)
2636

2737
# Previous Milestone
2838

39+
## Milestone 18 (Released October 4th, 2021)
40+
41+
1. **[DONE]** Add row at top of grid [#9675](https://github.com/IgniteUI/igniteui-angular/issues/9675)
42+
2. **[DONE]** Grid row styles and classes [#9969](https://github.com/IgniteUI/igniteui-angular/issues/9969)
43+
3. **[DONE]** Freezing Columns/Rows on Export to Excel (Angular) [#9863](https://github.com/IgniteUI/igniteui-angular/issues/9863)
44+
4. **[DONE]** Persistent State directive for column group [#8516](https://github.com/IgniteUI/igniteui-angular/issues/8516)
45+
5. **[DONE]** IgxTreeGrid: display only filtered records [#9923](https://github.com/IgniteUI/igniteui-angular/issues/9923)
46+
6. **[DONE]** Snackbar support for animation customization [#10126](https://github.com/IgniteUI/igniteui-angular/issues/10126)
47+
2948
## Milestone 17 (Released August 2nd, 2021)
3049

3150
1. **[DONE]** Accordion component to Ignite UI for Angular [#9559](https://github.com/IgniteUI/igniteui-angular/issues/9559)

azure-pipelines.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
pool:
2-
vmImage: 'Ubuntu 16.04'
2+
vmImage: 'ubuntu-latest'
33

44
steps:
55
- script: npm ci

projects/igniteui-angular/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@
8888
"web-animations-js": "^2.3.2"
8989
},
9090
"igxDevDependencies": {
91-
"@igniteui/angular-schematics": "~12.2.820-alpha.0"
91+
"@igniteui/angular-schematics": "~12.2.820"
9292
},
9393
"ng-update": {
9494
"migrations": "./migrations/migration-collection.json"

projects/igniteui-angular/src/lib/checkbox/checkbox.component.spec.ts

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Component, ViewChild } from '@angular/core';
22
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
3-
import { FormsModule } from '@angular/forms';
3+
import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';
44
import { By } from '@angular/platform-browser';
55
import { IgxRippleModule } from '../directives/ripple/ripple.directive';
66
import { IgxCheckboxComponent } from './checkbox.component';
@@ -22,9 +22,10 @@ describe('IgxCheckbox', () => {
2222
CheckboxExternalLabelComponent,
2323
CheckboxInvisibleLabelComponent,
2424
CheckboxDisabledTransitionsComponent,
25+
CheckboxFormGroupComponent,
2526
IgxCheckboxComponent
2627
],
27-
imports: [FormsModule, IgxRippleModule, NoopAnimationsModule]
28+
imports: [FormsModule, ReactiveFormsModule, IgxRippleModule, NoopAnimationsModule]
2829
})
2930
.compileComponents();
3031
}));
@@ -34,7 +35,7 @@ describe('IgxCheckbox', () => {
3435
fixture.detectChanges();
3536

3637
const checkbox = fixture.componentInstance.cb;
37-
const nativeCheckbox = fixture.debugElement.query(By.css('input')).nativeElement;
38+
const nativeCheckbox = checkbox.nativeCheckbox.nativeElement;
3839
const nativeLabel = checkbox.nativeLabel.nativeElement;
3940
const placeholderLabel = fixture.debugElement.query(By.css('.igx-checkbox__label')).nativeElement;
4041

@@ -69,7 +70,7 @@ describe('IgxCheckbox', () => {
6970
fixture.detectChanges();
7071

7172
expect(nativeCheckbox.checked).toBe(false);
72-
expect(checkboxInstance.checked).toBe(false);
73+
expect(checkboxInstance.checked).toBe(null);
7374

7475
testInstance.subscribed = true;
7576
checkboxInstance.name = 'my-checkbox';
@@ -85,6 +86,22 @@ describe('IgxCheckbox', () => {
8586
expect(checkboxInstance.name).toEqual('my-checkbox');
8687
}));
8788

89+
it('Initializes with form group', () => {
90+
const fixture = TestBed.createComponent(CheckboxFormGroupComponent);
91+
fixture.detectChanges();
92+
93+
const testInstance = fixture.componentInstance;
94+
const checkboxInstance = testInstance.cb;
95+
const form = testInstance.myForm;
96+
97+
form.setValue({ checkbox: true });
98+
expect(checkboxInstance.checked).toBe(true);
99+
100+
form.reset();
101+
102+
expect(checkboxInstance.checked).toBe(null);
103+
});
104+
88105
it('Initializes with external label', () => {
89106
const fixture = TestBed.createComponent(CheckboxExternalLabelComponent);
90107
const checkboxInstance = fixture.componentInstance.cb;
@@ -197,7 +214,7 @@ describe('IgxCheckbox', () => {
197214
fixture.detectChanges();
198215

199216
// Should not update
200-
expect(checkboxInstance.checked).toBe(false);
217+
expect(checkboxInstance.checked).toBe(null);
201218
expect(testInstance.subscribed).toBe(false);
202219
});
203220

@@ -398,3 +415,14 @@ class CheckboxInvisibleLabelComponent {
398415
class CheckboxDisabledTransitionsComponent {
399416
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
400417
}
418+
419+
@Component({
420+
template: `<form [formGroup]="myForm"><igx-checkbox #cb formControlName="checkbox">Form Group</igx-checkbox></form>`
421+
})
422+
class CheckboxFormGroupComponent {
423+
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
424+
425+
public myForm = this.fb.group({ checkbox: [''] });
426+
427+
constructor(private fb: FormBuilder) {}
428+
}

projects/igniteui-angular/src/lib/checkbox/checkbox.component.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -428,9 +428,7 @@ export class IgxCheckboxComponent implements ControlValueAccessor, EditorProvide
428428

429429
/** @hidden @internal */
430430
public writeValue(value: boolean) {
431-
if (typeof value === 'boolean') {
432-
this._checked = value;
433-
}
431+
this._checked = value;
434432
}
435433

436434
/** @hidden @internal */

projects/igniteui-angular/src/lib/core/styles/components/icon/_icon-theme.scss

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,14 +64,12 @@
6464
font-size: $igx-icon-font-size;
6565
color: --var($theme, 'color');
6666

67+
div,
6768
svg {
69+
display: block;
6870
width: inherit;
6971
height: inherit;
7072
fill: currentColor;
71-
72-
use {
73-
pointer-events: none;
74-
}
7573
}
7674
}
7775

projects/igniteui-angular/src/lib/dialog/dialog.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -345,7 +345,7 @@ describe('Dialog', () => {
345345
fix.detectChanges();
346346

347347
dialog.open();
348-
tick();
348+
tick(16);
349349
fix.detectChanges();
350350

351351
overlaydiv = document.getElementsByClassName(OVERLAY_MAIN_CLASS)[0];

0 commit comments

Comments
 (0)