Skip to content

Commit eae7285

Browse files
authored
Merge branch '13.0.x' into mpopov/fix-10374-MASTER
2 parents c569770 + 70384ef commit eae7285

File tree

857 files changed

+65815
-29373
lines changed

Some content is hidden

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

857 files changed

+65815
-29373
lines changed

.browserslistrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@
99
last 2 versions
1010
Firefox ESR
1111
not dead
12-
IE 11 # For IE 9-11 support, remove 'not'.
12+

.eslintrc.json

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
"createDefaultProgram": true
1717
},
1818
"extends": [
19-
"plugin:@angular-eslint/ng-cli-compat",
20-
"plugin:@angular-eslint/ng-cli-compat--formatting-add-on",
19+
"plugin:@angular-eslint/recommended",
2120
"plugin:@angular-eslint/template/process-inline-templates"
2221
],
2322
"rules": {
@@ -36,7 +35,7 @@
3635
"@typescript-eslint/consistent-type-definitions": "error",
3736
"@typescript-eslint/dot-notation": "off",
3837
"@typescript-eslint/explicit-member-accessibility": [
39-
"warn",
38+
"error",
4039
{
4140
"accessibility": "explicit",
4241
"overrides": {

.github/CONTRIBUTING.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,17 +170,27 @@ Write migrations.
170170

171171
## Deprecating methods
172172
When a method is deprecated a few steps have to be done:
173-
1. Add deprecation warning message by decorating the method with `@DeprecateMethod` decorator from `deprecateDecorators.ts` file.
173+
1. Add the `@deprecated` tag at the begging of the method description followed by the version in which the method has been deprecated and what can be used instead. Example:
174+
```ts
175+
/**
176+
* @deprecated in version 12.1.0. Use 'data' instead
177+
*
178+
* The data record that populates the row
179+
*/
180+
public getRowData(): any {
181+
return this.data;
182+
}
183+
```
174184
2. Ensure that the deprecated method is no longer used in IgniteUI for Angular codebase, samples and documentation snippets.
175185
3. Write migrations.
176186

177187
## Deprecating class properties
178188
When a class property is deprecated a few steps have to be done:
179-
1. Add deprecation warning message by decorating the property with `@DeprecateProperty` decorator from `deprecateDecorators.ts` file.
189+
1. Add the `@deprecated` tag at the begging of the property description followed by the version in which the property has been deprecated and what can be used instead.
180190
2. Ensure that the deprecated property is no longer used in IgniteUI for Angular codebase, samples and documentation snippets.
181191
3. Write migrations.
182192

183-
NOTE: TypeScript disallows decorating both the get and set accessor for a single member. Instead, all decorators for the member must be applied to the first accessor specified in document order. This is because decorators apply to a Property Descriptor, which combines both the get and set accessor, not each declaration separately.
193+
NOTE: TypeScript disallows adding descriptions to both the get and set accessor for a single member. Instead, the description for the member must be applied to the first accessor specified in document order. Having this in mind the `@deprecated` tag is applied only once.
184194

185195
# Testing a PR
186196
In order to test a pull request that is awaiting test, perform the following actions.

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Bug report
33
about: Create a report to help us improve
44
title: ''
5-
labels: 'bug'
5+
labels: ':bug: bug'
66
assignees: ''
77
projects: 'IgniteUI/16'
88

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Feature request
33
about: Suggest an idea for this project
44
title: ''
5-
labels: 'feature-request'
5+
labels: ':toolbox: feature-request'
66
assignees: ''
77
projects: IgniteUI/16
88

.github/ISSUE_TEMPLATE/question.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name: Question
33
about: Get general information or clarification
44
title: ''
5-
labels: 'question'
5+
labels: ':question: question'
66
assignees: ''
77
projects: IgniteUI/16
88

@@ -12,4 +12,4 @@ projects: IgniteUI/16
1212
I have an issue with "x" and I'm not sure if I'm doing it right.
1313

1414
* igniteui-angular version:
15-
* browser:
15+
* browser:

.github/workflows/nodejs.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616

1717
strategy:
1818
matrix:
19-
node-version: [12.x, 14.x, 16.x]
19+
node-version: [14.x, 16.x]
2020

2121
steps:
2222
- name: Checkout
@@ -47,16 +47,9 @@ jobs:
4747
- name: Build i18n & validate output
4848
run: |
4949
npm run build:i18n
50-
npm run lint:i18n:dist
51-
- name: Install coverage combiner - istanbul
52-
if: github.repository == 'IgniteUI/igniteui-angular' && matrix.node-version == '14.x'
53-
run: npm install -g istanbul
54-
- name: Combine scripts
55-
if: github.repository == 'IgniteUI/igniteui-angular' && matrix.node-version == '14.x'
56-
run: istanbul report --dir coverage --include coverage/**/coverage-final.json lcov
50+
npm run test:i18n:dist
5751
- name: Publish to coveralls.io
5852
if: github.repository == 'IgniteUI/igniteui-angular' && matrix.node-version == '14.x'
5953
uses: coverallsapp/[email protected]
6054
with:
6155
github-token: ${{ github.token }}
62-

.github/workflows/npm-publish.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
- uses: actions/checkout@v2
1212
- uses: actions/setup-node@v2
1313
with:
14-
node-version: 12
14+
node-version: 14
1515
cache: 'npm'
1616
registry-url: 'https://registry.npmjs.org'
1717
- run: echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
@@ -35,8 +35,10 @@ jobs:
3535
if [[ ${VERSION} == *"alpha"* || ${VERSION} == *"beta"* || ${VERSION} == *"rc"* ]]; then echo "NPM_TAG=next"; else echo "NPM_TAG=latest"; fi >> $GITHUB_ENV
3636
echo ${NPM_TAG}
3737
38-
- name: Copy readme for igniteui-angular
39-
run: cp ../../README.md README.md
38+
- name: Copy readme and license for igniteui-angular
39+
run: |
40+
cp ../../README.md README.md
41+
cp ../../LICENSE LICENSE
4042
working-directory: dist/igniteui-angular
4143

4244
- name: Copy i18n files

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
/tmp
77
/out-tsc
88

9+
.angular/*
10+
911
# dependencies
1012
/node_modules
1113

@@ -27,6 +29,7 @@
2729
!.vscode/extensions.json
2830

2931
# misc
32+
/.angular/cache
3033
/.sass-cache
3134
/connect.lock
3235
/coverage

CHANGELOG.md

Lines changed: 89 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,24 @@
22

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

5+
## 13.0.1
6+
7+
### New Features
8+
- Add `igxSummary` directive in order to re-template the default summary cell layout.
9+
- Expose `summaryTemplate` input in order to bind the column summary template through API.
10+
- Expose `summaryRowHeight` property which overrides the default hight of the summary row.
11+
- Code example below:
12+
13+
```html
14+
<igx-column ... [hasSummary]="true">
15+
<ng-template igxSummary let-summaryResult>
16+
<span> My custom summary template</span>
17+
<span>{{ summaryResult[0].label }} - {{ summaryResult[0].summaryResult }}</span>
18+
</ng-template>
19+
</igx-column>
20+
```
21+
- Please, refer to the [Summaries](https://www.infragistics.com/products/ignite-ui-angular/angular/components/grid/summaries#summary-template) topic for more information.
22+
523
## 13.0.0
624

725
### New Features
@@ -20,15 +38,50 @@ All notable changes for each version of this project will be documented in this
2038

2139
- For more information, check out the [README](https://github.com/IgniteUI/igniteui-angular/blob/master/projects/igniteui-angular/src/lib/stepper/README.md), [specification](https://github.com/IgniteUI/igniteui-angular/wiki/Stepper-Specification) and [official documentation](https://www.infragistics.com/products/ignite-ui-angular/angular/components/stepper).
2240

41+
- Added `IgxFocusTrap` directive, which traps the Tab key focus within an element.
42+
43+
```html
44+
<div #wrapper [igxFocusTrap]="true" tabindex="0">
45+
<input type="text" placeholder="Enter Username" name="uname">
46+
<input type="password" placeholder="Enter Password" name="psw">
47+
<button>SIGN IN</button>
48+
</div>
49+
```
50+
51+
- Added `IgxSimpleComboComponent`
52+
- The `igx-simple-combo` which is a modification of the `igx-combo` component that allows single selection and has the appropriate UI and behavior for that. It inherits most of the `igx-combo`'s API.
53+
- Allows the selection of single items in a filterable list.
54+
- Supports custom values, keyboard navigation, validation, customized positioning of the item list via overlay settings.
55+
- Example:
56+
```html
57+
<igx-simple-combo [(ngModel)]="item" [allowCustomValues]="true" [placeholder]="'Search'" [data]="items">
58+
<label igxLabel>Items</label>
59+
<igx-hint>Please select an item from the dropdown list.</igx-hint>
60+
</igx-simple-combo>
61+
```
62+
2363
- `IgxCsvExporterService`, `IgxExcelExporterService`
2464
- Exporter services are no longer required to be provided in the application since they are now injected on a root level.
2565
- `IgxGridToolbarPinningComponent`, `IgxGridToolbarHidingComponent`
2666
- Exposed new input `buttonText` which sets the text that is displayed inside the dropdown button in the toolbar.
2767
- `IgxCombo`
2868
- Added `groupSortingDirection` input, which allows you to set groups sorting order.
69+
- `IgxGrid`, `IgxTreeGrid`, `IgxHierarchicalGrid`
70+
- Added new directives for re-templating header sorting indicators - `IgxSortHeaderIconDirective`, `IgxSortAscendingHeaderIconDirective` and `IgxSortDescendingHeaderIconDirective`.
71+
- `IgxGrid`
72+
- 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.
73+
- `IgxDialog`
74+
- Added `focusTrap` input to set whether the Tab key focus is trapped within the dialog when opened. Defaults to `true`.
75+
- `IgxProgressBar`
76+
- Exposed new animationDuration input - sets the duration of the progress animation.
2977

3078
### General
3179

80+
- `IE discontinued support` **Breaking Change** [details](https://angular.io/guide/browser-support)
81+
- `web-animations-js` is removed as Peer Dependency.
82+
- Removed IE from `.browserslistrc`
83+
- Removed IE related `polyfills`, like Importing ES7 polyfill for Object (`'core-js/es7/object'`) for IE is no longer used.
84+
3285
- `IgxDialog`
3386
- **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:
3487

@@ -47,17 +100,46 @@ All notable changes for each version of this project will be documented in this
47100
- Inputs `showToolbar`, `toolbarTitle`, `columnHiding`, `columnHidingTitle`, `hiddenColumnsText`,
48101
`columnPinning`, `columnPinningTitle`, `pinnedColumnsText`.
49102
Use `IgxGridToolbarComponent`, `IgxGridToolbarHidingComponent`, `IgxGridToolbarPinningComponent` instead.
50-
- `IgxColumnActionsComponent`
51-
- **Breaking Change** - The following input has been removed
52-
- Input `columns`. Use `igxGrid` `columns` input instead.
103+
- **Breaking Change** - The `rowSelected` event is renamed to `rowSelectionChanging` to better reflect its function.
104+
- **Breaking Change** - The `columnSelected` event is renamed to `columnSelectionChanging` to better reflect its function.
105+
- **Breaking Change** - `columnsCollection` is removed. Use `columns` instead. If at certain ocasions `columns` return empty array, query the columns using `ViewChildren` and access those in `ngAfterViewInit`:
106+
```ts
107+
@ViewChildren(IgxColumnComponent, { read: IgxColumnComponent })
108+
public columns: QueryList<IgxColumnComponent>;
109+
```
110+
- `RowType`, `IgxRowDirective`
111+
- **Breaking Change** - `rowData` and `rowID` deprecated properties are now removed. Use `data` and `key` instead. Use `ng update` for automatic migration.
112+
- `igxRowSelector`
113+
- `rowID` in the context object of the `igxRowSelector` is now deprecated and will be removed in future version. Use `key` property instead:
114+
```html
115+
<igx-grid [data]="data", [rowSelection]="'multiple'" primaryKey="ID">
116+
<igx-column field="Name"></igx-column>
117+
<igx-column field="Age"></igx-column>
118+
119+
<ng-template igxRowSelector let-rowContext>
120+
<span>{{ rowContext.key }}</span>
121+
</ng-template>
122+
</igx-grid>
123+
```
124+
- `IgxColumnActionsComponent`
125+
- **Breaking Change** - Input `columns` has been removed. Use `igxGrid` `columns` input instead.
53126
- `IgxCarousel`
54-
- **Breaking Changes** -The carousel animation type `CarouselAnimationType` is renamed to `HorizontalAnimationType`.
127+
- **Breaking Changes** - The carousel animation type `CarouselAnimationType` is renamed to `HorizontalAnimationType`.
128+
129+
- `Theming`
130+
- **Breaking Change** - Changed CSS palette variables from HEX values to a list of H, S, L comma-separated values, which requires the use of the CSS `hsl` function when accessing these values directly.
131+
```scss
132+
.bozo {
133+
background: hsl(var(--igx-surface-500));
134+
}
135+
```
55136

56137
## 12.2.3
57138

58139
### General
59140
- **Breaking Change** - `IgxPercentSummaryOperand` and `IgxCurrencySummaryOperand` have been removed and `IgxNumberSummaryOperand` should be used instead. If you have used the percent or currency summary operands to extend a custom summary operand from them, then change the custom operand to extend from the number summary operand.
60-
141+
- `IgxToastComponent`
142+
- **Deprecated** - The `position` input property has been deprecated. Use `positionSettings` input instead.
61143
## 12.2.1
62144

63145
### New Features
@@ -779,7 +861,7 @@ All notable changes for each version of this project will be documented in this
779861

780862
Changed the how the grid toolbar is instantiated in the grids. The
781863
toolbar is now templated rather than being activated through a property on the parent grid. The toolbar features are also exposed as templatable
782-
components and the old properties are deprecated.
864+
components and the old properties are deprecated. The implementation of the Column Hiding UI has been changed in order to select which columns should be displayed, instead of hidden.
783865

784866
Refer to the official documentation for more information.
785867
- `FilteringStrategy`
@@ -3682,4 +3764,4 @@ export class IgxCustomFilteringOperand extends IgxFilteringOperand {
36823764
- `IgxDraggableDirective` moved inside `../directives/dragdrop/` folder
36833765
- `IgxRippleDirective` moved inside `../directives/ripple/` folder
36843766
- Folder `"./navigation/nav-service"` renamed to `"./navigation/nav.service"`
3685-
3767+

0 commit comments

Comments
 (0)