Skip to content

Commit

Permalink
Merge branch 'master' into kdragieva/fix-check-warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
kdinev authored Oct 22, 2021
2 parents c729665 + bc37310 commit b0735c0
Show file tree
Hide file tree
Showing 69 changed files with 758 additions and 918 deletions.
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,37 @@

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

## 13.0.0

### New Features
- `IgxCsvExporterService`, `IgxExcelExporterService`
- Exporter services are no longer required to be provided in the application since they are now injected on a root level.
- `IgxGridToolbarPinningComponent`, `IgxGridToolbarHidingComponent`
- Exposed new input `buttonText` which sets the text that is displayed inside the dropdown button in the toolbar.

### General

- `IgxDialog`
- **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:

```typescript
import { slideInBottom, slideOutTop } from 'igniteui-angular';

@ViewChild('alert', { static: true }) public alert: IgxDialogComponent;
public newPositionSettings: PositionSettings = {
openAnimation: useAnimation(slideInBottom, { params: { fromPosition: 'translateY(100%)' } }),
closeAnimation: useAnimation(slideOutTop, { params: { toPosition: 'translateY(-100%)'} })
};
this.alert.positionSettings = this.newPositionSettings;
```
- `igxGrid`, `igxHierarchicalGrid`, `igxTreeGrid`
- **Breaking Change** - The following deprecated inputs have been removed
- Inputs `showToolbar`, `toolbarTitle`, `columnHiding`, `columnHidingTitle`, `hiddenColumnsText`,
`columnPinning`, `columnPinningTitle`, `pinnedColumnsText`.
Use `IgxGridToolbarComponent`, `IgxGridToolbarHidingComponent`, `IgxGridToolbarPinningComponent` instead.
- `IgxColumnActionsComponent`
- **Breaking Change** - The following input has been removed
- Input `columns`. Use `igxGrid` `columns` input instead.
## 12.2.1

### New Features
Expand Down
10 changes: 4 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,10 @@ Ignite UI for Angular arrives with an extensive library of data visualizations t

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.

### [**Install our VSCode Toolbox extension**](https://marketplace.visualstudio.com/items?itemName=Infragistics.igniteui-angular-toolbox)
![](https://dl.infragistics.com/tools/extensions/angular-toolbox/toolbox.gif)
### [**Install our VSCode tooltip extension**](https://marketplace.visualstudio.com/items?itemName=Infragistics.igniteui-angular-tooltips)
![](https://dl.infragistics.com/tools/extensions/angular-tooltips/tooltip_preview.gif)

**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).
### Build Apps with Ignite UI for Angular faster using our [App Builder](https://www.infragistics.com/products/indigo-design/app-builder)
![5661 drag drop](https://user-images.githubusercontent.com/1472513/132676597-09eec222-42f7-40ff-bd0d-fe8b91fd0c1c.gif)
### Generate your Angular code projects using the [App Builder](https://www.infragistics.com/products/indigo-design/app-builder)
![0871 change-preview-code](https://user-images.githubusercontent.com/1472513/132676607-3851f308-416b-45d6-99bc-c34266b55c44.gif)

### Current List of Components Include:

Expand Down
47 changes: 33 additions & 14 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,49 @@

# Current Milestone

## Milestone 18 (Due by Oct, 2021)
## Milestone 19 (Due by Nov, 2021)

1. **[DONE]** Add row at top of grid [#9675](https://github.com/IgniteUI/igniteui-angular/issues/9675)
2. **[DONE]** Grid row styles and classes [#9969](https://github.com/IgniteUI/igniteui-angular/issues/9969)
3. **[DONE]** Freezing Columns/Rows on Export to Excel (Angular) [#9863](https://github.com/IgniteUI/igniteui-angular/issues/9863)
4. **[DONE]** Persistent State directive for column group [#8516](https://github.com/IgniteUI/igniteui-angular/issues/8516)
5. **[DONE]** IgxTreeGrid: display only filtered records [#9923](https://github.com/IgniteUI/igniteui-angular/issues/9923)
6. **[DONE]** Snackbar support for animation customization [#10126](https://github.com/IgniteUI/igniteui-angular/issues/10126)
1. Stepper component [#8667](https://github.com/IgniteUI/igniteui-angular/issues/8667)
2. Themes: Move code to Sass modules [#9554](https://github.com/IgniteUI/igniteui-angular/issues/9554)
3. **DONE** Themes: Refactor Grid theme [#9556](https://github.com/IgniteUI/igniteui-angular/issues/9556)
4. Make IgxDropDownBaseToken public [#10103](https://github.com/IgniteUI/igniteui-angular/issues/10103)
5. Classes to indicate position of auto overlay [#9481](https://github.com/IgniteUI/igniteui-angular/issues/9481)
6. onFilterDone property to expose additional information [#10243](https://github.com/IgniteUI/igniteui-angular/issues/10243)
7. IgxCombo with single selection [#9832](https://github.com/IgniteUI/igniteui-angular/issues/9832)

## Going down the road

# Due in 2021

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

# Due in 2022

1. PDF Export feature on Angular Grid [#5696](https://github.com/IgniteUI/igniteui-angular/issues/5696)
2. Grid Cell Merging [#3514](https://github.com/IgniteUI/igniteui-angular/issues/3514)

# Previous Milestone

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

1. **[DONE]** Add row at top of grid [#9675](https://github.com/IgniteUI/igniteui-angular/issues/9675)
2. **[DONE]** Grid row styles and classes [#9969](https://github.com/IgniteUI/igniteui-angular/issues/9969)
3. **[DONE]** Freezing Columns/Rows on Export to Excel (Angular) [#9863](https://github.com/IgniteUI/igniteui-angular/issues/9863)
4. **[DONE]** Persistent State directive for column group [#8516](https://github.com/IgniteUI/igniteui-angular/issues/8516)
5. **[DONE]** IgxTreeGrid: display only filtered records [#9923](https://github.com/IgniteUI/igniteui-angular/issues/9923)
6. **[DONE]** Snackbar support for animation customization [#10126](https://github.com/IgniteUI/igniteui-angular/issues/10126)

## Milestone 17 (Released August 2nd, 2021)

1. **[DONE]** Accordion component to Ignite UI for Angular [#9559](https://github.com/IgniteUI/igniteui-angular/issues/9559)
Expand Down
2 changes: 1 addition & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
pool:
vmImage: 'Ubuntu 16.04'
vmImage: 'ubuntu-latest'

steps:
- script: npm ci
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Component, ViewChild } from '@angular/core';
import { fakeAsync, TestBed, tick, waitForAsync } from '@angular/core/testing';
import { FormsModule } from '@angular/forms';
import { FormBuilder, FormsModule, ReactiveFormsModule } from '@angular/forms';
import { By } from '@angular/platform-browser';
import { IgxRippleModule } from '../directives/ripple/ripple.directive';
import { IgxCheckboxComponent } from './checkbox.component';
Expand All @@ -22,9 +22,10 @@ describe('IgxCheckbox', () => {
CheckboxExternalLabelComponent,
CheckboxInvisibleLabelComponent,
CheckboxDisabledTransitionsComponent,
CheckboxFormGroupComponent,
IgxCheckboxComponent
],
imports: [FormsModule, IgxRippleModule, NoopAnimationsModule]
imports: [FormsModule, ReactiveFormsModule, IgxRippleModule, NoopAnimationsModule]
})
.compileComponents();
}));
Expand All @@ -34,7 +35,7 @@ describe('IgxCheckbox', () => {
fixture.detectChanges();

const checkbox = fixture.componentInstance.cb;
const nativeCheckbox = fixture.debugElement.query(By.css('input')).nativeElement;
const nativeCheckbox = checkbox.nativeCheckbox.nativeElement;
const nativeLabel = checkbox.nativeLabel.nativeElement;
const placeholderLabel = fixture.debugElement.query(By.css('.igx-checkbox__label')).nativeElement;

Expand Down Expand Up @@ -69,7 +70,7 @@ describe('IgxCheckbox', () => {
fixture.detectChanges();

expect(nativeCheckbox.checked).toBe(false);
expect(checkboxInstance.checked).toBe(false);
expect(checkboxInstance.checked).toBe(null);

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

it('Initializes with form group', () => {
const fixture = TestBed.createComponent(CheckboxFormGroupComponent);
fixture.detectChanges();

const testInstance = fixture.componentInstance;
const checkboxInstance = testInstance.cb;
const form = testInstance.myForm;

form.setValue({ checkbox: true });
expect(checkboxInstance.checked).toBe(true);

form.reset();

expect(checkboxInstance.checked).toBe(null);
});

it('Initializes with external label', () => {
const fixture = TestBed.createComponent(CheckboxExternalLabelComponent);
const checkboxInstance = fixture.componentInstance.cb;
Expand Down Expand Up @@ -197,7 +214,7 @@ describe('IgxCheckbox', () => {
fixture.detectChanges();

// Should not update
expect(checkboxInstance.checked).toBe(false);
expect(checkboxInstance.checked).toBe(null);
expect(testInstance.subscribed).toBe(false);
});

Expand Down Expand Up @@ -398,3 +415,14 @@ class CheckboxInvisibleLabelComponent {
class CheckboxDisabledTransitionsComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;
}

@Component({
template: `<form [formGroup]="myForm"><igx-checkbox #cb formControlName="checkbox">Form Group</igx-checkbox></form>`
})
class CheckboxFormGroupComponent {
@ViewChild('cb', { static: true }) public cb: IgxCheckboxComponent;

public myForm = this.fb.group({ checkbox: [''] });

constructor(private fb: FormBuilder) {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -428,9 +428,7 @@ export class IgxCheckboxComponent implements ControlValueAccessor, EditorProvide

/** @hidden @internal */
public writeValue(value: boolean) {
if (typeof value === 'boolean') {
this._checked = value;
}
this._checked = value;
}

/** @hidden @internal */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,12 @@
font-size: $igx-icon-font-size;
color: --var($theme, 'color');

div,
svg {
display: block;
width: inherit;
height: inherit;
fill: currentColor;

use {
pointer-events: none;
}
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ describe('Dialog', () => {
fix.detectChanges();

dialog.open();
tick();
tick(16);
fix.detectChanges();

overlaydiv = document.getElementsByClassName(OVERLAY_MAIN_CLASS)[0];
Expand Down
7 changes: 3 additions & 4 deletions projects/igniteui-angular/src/lib/dialog/dialog.component.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import { useAnimation } from '@angular/animations';
import { CommonModule } from '@angular/common';
import {
Component,
Expand All @@ -22,7 +21,7 @@ import { IgxRippleModule } from '../directives/ripple/ripple.directive';
import { IgxDialogActionsDirective, IgxDialogTitleDirective } from './dialog.directives';
import { IgxToggleModule, IgxToggleDirective } from '../directives/toggle/toggle.directive';
import { OverlaySettings, GlobalPositionStrategy, NoOpScrollStrategy, PositionSettings } from '../services/public_api';
import { slideInBottom, slideOutTop } from '../animations/slide/index';
import {fadeIn, fadeOut} from '../animations/fade/index';
import { IgxFocusModule } from '../directives/focus/focus.directive';
import { CancelableEventArgs, IBaseEventArgs } from '../core/utils';

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

private _positionSettings: PositionSettings = {
openAnimation: useAnimation(slideInBottom, { params: { fromPosition: 'translateY(100%)' } }),
closeAnimation: useAnimation(slideOutTop, { params: { toPosition: 'translateY(-100%)' } })
openAnimation: fadeIn,
closeAnimation: fadeOut
};

private _overlayDefaultSettings: OverlaySettings;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -322,7 +322,7 @@ export class IgxToggleDirective implements IToggleView, OnInit, OnDestroy {
if (this.navigationService && this.id) {
this.navigationService.remove(this.id);
}
if (!this.collapsed && this._overlayId) {
if (this._overlayId) {
this.overlayService.detach(this._overlayId);
}
this.unsubscribe();
Expand Down
8 changes: 0 additions & 8 deletions projects/igniteui-angular/src/lib/grids/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,17 +193,9 @@ Below is the list of all inputs that the developers may set to configure the gri
|`transactions`| `TransactionService` | Transaction provider allowing access to all transactions and states of the modified rows. |
|`summaryPosition`| GridSummaryPosition | The summary row position for the child levels. The default is top. |
|`summaryCalculationMode`| GridSummaryCalculationMode | The summary calculation mode. The default is rootAndChildLevels, which means summaries are calculated for root and child levels.|
|`columnHiding`| boolean | Returns whether the column hiding UI for the `IgxGridComponent` is enabled.|
| `columnHidingTitle`| string | The title to be displayed in the built-in column hiding UI.|
| `columnPinning` | boolean | Returns if the built-in column pinning UI should be shown in the toolbar. |
| `columnPinningTitle` | string | The title to be displayed in the UI of the column pinning.|
| `rowHeight` | number | Sets the row height. |
| `columnWidth` | string | The default width of the `IgxGridComponent`'s columns. |
|`primaryKey`| any | Property that sets the primary key of the `IgxGridComponent`. |
|`hiddenColumnsText`| string | The text to be displayed inside the toggle button for the built-in column hiding UI of the`IgxColumnComponent`. |
|`pinnedColumnsText`| string | the text to be displayed inside the toggle button for the built-in column pinning UI of the`IgxColumnComponent`. |
|`showToolbar`| boolean | Specifies whether the `IgxGridComponent`'s toolbar is shown or hidden.|
|`toolbarTitle`| string | the toolbar's title. |
|`exportExcel`| boolean | Returns whether the option for exporting to MS Excel is enabled or disabled. |
|`exportCsv`| boolean | Returns whether the option for exporting to CSV is enabled or disabled.|
|`exportText`| string | Returns the textual content for the main export button.|
Expand Down
5 changes: 1 addition & 4 deletions projects/igniteui-angular/src/lib/grids/cell.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -91,12 +91,9 @@
</igx-input-group>
</ng-container>
<ng-container *ngIf="column.dataType === 'boolean'">
<!-- The additional [checked] binding is needed as after the initial call of the checked getter
it is never called again as no change detection is triggered in the grid after that, resulting in wrong
rendered state of the checkbox. -->
<igx-checkbox
[(ngModel)]="editValue"
[checked]="editValue"
(change)="editValue = $event.checked"
[igxFocus]="true"
[disableRipple]="true"
></igx-checkbox>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ import { IgxColumnActionsBaseDirective } from './column-actions-base.directive';
import { IgxCheckboxComponent } from '../../checkbox/checkbox.component';
import { IColumnToggledEventArgs } from '../common/events';
import { IgxGridBaseDirective } from '../grid-base.directive';
import { DeprecateProperty } from '../../core/deprecateDecorators';

let NEXT_ID = 0;
/**
Expand Down Expand Up @@ -172,27 +171,6 @@ export class IgxColumnActionsComponent implements DoCheck {
this._differ = this.differs.find([]).create(this.trackChanges);
}

/**
* Gets the grid columns to provide an action for.
*
* @deprecated
* @example
* ```typescript
* let gridColumns = this.columnActions.columns;
* ```
*/
@DeprecateProperty(`Deprecated. Use 'grid' input instead.`)
@Input()
public get columns() {
return this.grid?.columns;
}

public set columns(value) {
if (value && value.length > 0) {
this.grid = value[0].grid;
}
}

/**
* Gets the prompt that is displayed in the filter input.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ <h6 class="igx-filter-empty__title">
<igx-icon family="imx-icons" [name]="selectedColumn.filters.condition(conditionSelect.value).iconName">
</igx-icon>
</igx-prefix>
<igx-select-item *ngFor="let condition of getConditionList()" [value]="condition">
<igx-select-item *ngFor="let condition of getConditionList()" [value]="condition" [text]="getConditionFriendlyName(condition)">
<div class="igx-grid__filtering-dropdown-items">
<igx-icon family="imx-icons"
[name]="selectedColumn.filters.condition(condition).iconName">
Expand Down
Loading

0 comments on commit b0735c0

Please sign in to comment.