Skip to content

Commit b0735c0

Browse files
authored
Merge branch 'master' into kdragieva/fix-check-warnings
2 parents c729665 + bc37310 commit b0735c0

File tree

69 files changed

+758
-918
lines changed

Some content is hidden

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

69 files changed

+758
-918
lines changed

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,37 @@
22

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

5+
## 13.0.0
6+
7+
### New Features
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.
12+
13+
### 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+
```
28+
- `igxGrid`, `igxHierarchicalGrid`, `igxTreeGrid`
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.
536
## 12.2.1
637

738
### New Features

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/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];

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import { useAnimation } from '@angular/animations';
21
import { CommonModule } from '@angular/common';
32
import {
43
Component,
@@ -22,7 +21,7 @@ import { IgxRippleModule } from '../directives/ripple/ripple.directive';
2221
import { IgxDialogActionsDirective, IgxDialogTitleDirective } from './dialog.directives';
2322
import { IgxToggleModule, IgxToggleDirective } from '../directives/toggle/toggle.directive';
2423
import { OverlaySettings, GlobalPositionStrategy, NoOpScrollStrategy, PositionSettings } from '../services/public_api';
25-
import { slideInBottom, slideOutTop } from '../animations/slide/index';
24+
import {fadeIn, fadeOut} from '../animations/fade/index';
2625
import { IgxFocusModule } from '../directives/focus/focus.directive';
2726
import { CancelableEventArgs, IBaseEventArgs } from '../core/utils';
2827

@@ -459,8 +458,8 @@ export class IgxDialogComponent implements IToggleView, OnInit, OnDestroy, After
459458
protected destroy$ = new Subject<boolean>();
460459

461460
private _positionSettings: PositionSettings = {
462-
openAnimation: useAnimation(slideInBottom, { params: { fromPosition: 'translateY(100%)' } }),
463-
closeAnimation: useAnimation(slideOutTop, { params: { toPosition: 'translateY(-100%)' } })
461+
openAnimation: fadeIn,
462+
closeAnimation: fadeOut
464463
};
465464

466465
private _overlayDefaultSettings: OverlaySettings;

projects/igniteui-angular/src/lib/directives/toggle/toggle.directive.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -322,7 +322,7 @@ export class IgxToggleDirective implements IToggleView, OnInit, OnDestroy {
322322
if (this.navigationService && this.id) {
323323
this.navigationService.remove(this.id);
324324
}
325-
if (!this.collapsed && this._overlayId) {
325+
if (this._overlayId) {
326326
this.overlayService.detach(this._overlayId);
327327
}
328328
this.unsubscribe();

0 commit comments

Comments
 (0)