Skip to content

Commit d3bf708

Browse files
authored
Merge branch 'master' into pbozhinov/fixes-chips-not-being-reordered-ivy
2 parents 1071213 + 2d86b8e commit d3bf708

36 files changed

+1726
-238
lines changed

CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ All notable changes for each version of this project will be documented in this
2424
- `NoopFilteringStrategy` is added, which can be used to disable the default filtering of the grid by assigning its instance to the grid's `filterStrategy` input. (Useful for remote filtering.)
2525
- `sortingExpressionsChange` event emitter is added, which is fired whenever a change to the sorting expressions has occurred (prior to performing the actual sorting).
2626
- `filteringExpressionsTreeChange` event emitter is added, which is fired whenever a change to the filtering expressions has occurred (prior to performing the actual filtering).
27+
- `advancedFilteringExpressionsTreeChange` event emitter is added, which is fired whenever a change to the advanced filtering expressions has occurred (prior to performing the actual filtering).
28+
- `IgxGridExcelStyleFilteringComponent` and `IgxAdvancedFilteringDialogComponent` can now be hosted outside of the grid in order to provide the same experience as the built-in filtering UI.
2729
- `IgxOverlayService`:
2830
- `setOffset` method added. It offsets the content along the corresponding axis by the provided amount.
2931
- `IgxToggleDirective`:

projects/igniteui-angular/migrations/update-8_2_6/index.spec.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ describe('Update 8.2.6', () => {
6767
it('should update igx-grid-paginator-theme', done => {
6868
appTree.create(
6969
'/testSrc/appPrefix/component/test.component.scss',
70-
`$dark-grid-paginator: igx-grid-paginator-theme($color: black);
70+
`@import '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-component';
71+
@import '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-theme';
72+
$dark-grid-paginator: igx-grid-paginator-theme($color: black);
7173
@include igx-grid-paginator($dark-grid-paginator);
7274
.igx-grid-paginator__pager {
7375
@include igx-button($dark-button);
@@ -77,7 +79,9 @@ describe('Update 8.2.6', () => {
7779
const tree = schematicRunner.runSchematic('migration-12', {}, appTree);
7880
expect(tree.readContent('/testSrc/appPrefix/component/test.component.scss'))
7981
.toEqual(
80-
`$dark-grid-paginator: igx-paginator-theme($color: black);
82+
`@import '~igniteui-angular/lib/core/styles/components/paginator/paginator-component';
83+
@import '~igniteui-angular/lib/core/styles/components/paginator/paginator-theme';
84+
$dark-grid-paginator: igx-paginator-theme($color: black);
8185
@include igx-paginator($dark-grid-paginator);
8286
.igx-grid-paginator__pager {
8387
@include igx-button($dark-button);

projects/igniteui-angular/migrations/update-8_2_6/index.ts

+14-1
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,17 @@ export default function(): Rule {
2929
'$_square-shape-pagination'];
3030

3131
let globalStyleExt: string;
32+
const gridPaginatorComponentImport = '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-component';
33+
const gridPaginatorThemeImport = '~igniteui-angular/lib/core/styles/components/grid-paginator/grid-paginator-theme';
34+
const paginatorComponentImport = '~igniteui-angular/lib/core/styles/components/paginator/paginator-component';
35+
const paginatorThemeImport = '~igniteui-angular/lib/core/styles/components/paginator/paginator-theme';
3236
const config = getWorkspace(host);
3337
const projects = getProjects(config);
3438

3539
context.logger.info(`Applying migration for Ignite UI for Angular to version ${version}`);
3640

41+
const update = new UpdateChanges(__dirname, host, context);
42+
3743
if (config.schematics && config.schematics['@schematics/angular:component']) {
3844
// updated projects have global prefix rather than per-project:
3945
globalStyleExt = config.schematics['@schematics/angular:component'].styleext;
@@ -56,12 +62,19 @@ export default function(): Rule {
5662
content = content.split(n).join(newThemes[i]);
5763
}
5864
});
65+
if (content.indexOf(gridPaginatorComponentImport) !== -1) {
66+
content = content.replace(gridPaginatorComponentImport, paginatorComponentImport);
67+
host.overwrite(path, content);
68+
}
69+
if (content.indexOf(gridPaginatorThemeImport) !== -1) {
70+
content = content.replace(gridPaginatorThemeImport, paginatorThemeImport);
71+
host.overwrite(path, content);
72+
}
5973
host.overwrite(path, content);
6074
}
6175
});
6276
}
6377

64-
const update = new UpdateChanges(__dirname, host, context);
6578
update.applyChanges();
6679
};
6780
}

projects/igniteui-angular/migrations/update-9_0_0/changes/theme-props.json

-35
This file was deleted.

projects/igniteui-angular/src/lib/core/i18n/grid-resources.ts

+2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ export interface IGridResourceStrings {
6666
igx_grid_excel_select_all?: string;
6767
igx_grid_excel_blanks?: string;
6868
igx_grid_excel_hide?: string;
69+
igx_grid_excel_show?: string;
6970
igx_grid_excel_pin?: string;
7071
igx_grid_excel_unpin?: string;
7172
igx_grid_excel_text_filter?: string;
@@ -158,6 +159,7 @@ export const GridResourceStringsEN: IGridResourceStrings = {
158159
igx_grid_excel_select_all: 'Select All',
159160
igx_grid_excel_blanks: '(Blanks)',
160161
igx_grid_excel_hide: 'Hide column',
162+
igx_grid_excel_show: 'Show column',
161163
igx_grid_excel_pin: 'Pin column',
162164
igx_grid_excel_unpin: 'Unpin column',
163165
igx_grid_excel_text_filter: 'Text filter',

projects/igniteui-angular/src/lib/core/styles/components/grid/_advanced-filtering-component.scss

+4
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,10 @@
3434
@include m('compact') {
3535
@extend %advanced-filter--compact !optional;
3636
}
37+
38+
@include m('inline') {
39+
@extend %advanced-filter--inline !optional;
40+
}
3741
}
3842
}
3943

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

+17
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,23 @@
407407
}
408408
}
409409

410+
%advanced-filter--inline {
411+
display: flex;
412+
flex-direction: column;
413+
width: 100%;
414+
max-width: 100%;
415+
height: inherit;
416+
max-height: inherit;
417+
min-width: 480px;
418+
box-shadow: none;
419+
420+
%advanced-filter__main {
421+
min-height: initial;
422+
max-height: initial;
423+
flex-grow: 1;
424+
}
425+
}
426+
410427
%filter-con-menu--cosy {
411428
> [igxButton] + [igxButton],
412429
igx-buttongroup + [igxButton],

projects/igniteui-angular/src/lib/core/styles/components/grid/_excel-filtering-component.scss

+4
Original file line numberDiff line numberDiff line change
@@ -131,5 +131,9 @@
131131
@include e(add-filter) {
132132
@extend %grid-excel-menu__add-filter !optional;
133133
}
134+
135+
@include m(inline) {
136+
@extend %grid-excel-filter--inline !optional;
137+
}
134138
}
135139
}

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

+26
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,32 @@
1818
display: block;
1919
}
2020

21+
%grid-excel-filter--inline {
22+
width: 100%;
23+
flex-grow: 1;
24+
overflow: auto;
25+
26+
%grid-excel-menu {
27+
display: flex;
28+
flex-direction: column;
29+
width: 100%;
30+
height: 100%;
31+
box-shadow: none;
32+
33+
%grid-excel-main {
34+
display: flex;
35+
flex-direction: column;
36+
flex-grow: 1;
37+
overflow: hidden;
38+
}
39+
40+
%grid-excel-main igx-list {
41+
flex-grow: 1;
42+
overflow: hidden;
43+
}
44+
}
45+
}
46+
2147
%igx-excel-filter__loading {
2248
display: flex;
2349
justify-content: center;

projects/igniteui-angular/src/lib/core/styles/components/switch/_switch-theme.scss

+2-2
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@
173173
), map-get($theme, variant));
174174

175175
$switch-off-offset: map-get((
176-
material: 1px,
176+
material: -1px,
177177
fluent: $switch-thumb-width / 3
178178
), map-get($theme, variant));
179179

@@ -279,7 +279,7 @@
279279
}
280280

281281
@include if-rtl() {
282-
transform: translateX(-#{rem($switch-off-offset)});
282+
transform: translateX(#{rem(-1 * $switch-off-offset)});
283283
}
284284

285285
&:hover {

projects/igniteui-angular/src/lib/directives/for-of/for_of.directive.ts

+1
Original file line numberDiff line numberDiff line change
@@ -746,6 +746,7 @@ export class IgxForOfDirective<T> implements OnInit, OnChanges, DoCheck, OnDestr
746746
const diffs = [];
747747
let totalDiff = 0;
748748
const l = this._embeddedViews.length;
749+
this._embeddedViews.filter(view => !view.destroyed).forEach(view => view.detectChanges());
749750
const rNodes = this._embeddedViews.map(view =>
750751
view.rootNodes.find(node => node.nodeType === Node.ELEMENT_NODE) || view.rootNodes[0].nextElementSibling);
751752
for (let i = 0; i < l; i++) {

projects/igniteui-angular/src/lib/grids/common/grid.interface.ts

+20-2
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
import { FilterMode } from './enums';
2+
import { DisplayDensity } from '../../core/displayDensity';
3+
import { EventEmitter } from '@angular/core';
4+
import { IFilteringExpressionsTree } from '../../data-operations/filtering-expressions-tree';
5+
import { IGridResourceStrings } from '../../core/i18n/grid-resources';
6+
import { ISortingExpression } from '../../data-operations/sorting-expression.interface';
27

38
export interface IGridDataBindable {
49
data: any[];
510
filteredData: any[];
611
}
712

813
/**
9-
* @hidden
10-
* @internal
14+
* An interface describing a Grid type
1115
*/
1216
export interface GridType extends IGridDataBindable {
17+
displayDensity: DisplayDensity | string;
18+
locale: string;
19+
resourceStrings: IGridResourceStrings;
1320
nativeElement: HTMLElement;
1421
rowEditable: boolean;
1522
rootSummariesEnabled: boolean;
@@ -22,6 +29,7 @@ export interface GridType extends IGridDataBindable {
2229
selectionService: any;
2330
navigation: any;
2431
filteringService: any;
32+
outletDirective: any;
2533

2634
calcHeight: number;
2735

@@ -31,6 +39,7 @@ export interface GridType extends IGridDataBindable {
3139
dataRowList: any;
3240
rowList: any;
3341
columnList: any;
42+
columns: any;
3443
unpinnedColumns: any;
3544
pinnedColumns: any;
3645
summariesRowList: any;
@@ -43,5 +52,14 @@ export interface GridType extends IGridDataBindable {
4352
firstEditableColumnIndex: number;
4453
lastEditableColumnIndex: number;
4554

55+
sortingExpressions: ISortingExpression[];
56+
sortingExpressionsChange: EventEmitter<ISortingExpression[]>;
57+
advancedFilteringExpressionsTree: IFilteringExpressionsTree;
58+
advancedFilteringExpressionsTreeChange: EventEmitter<IFilteringExpressionsTree>;
59+
4660
endEdit(commit: boolean, event?: Event): void;
61+
getColumnByName(name: string): any;
62+
sort(expression: ISortingExpression | Array<ISortingExpression>): void;
63+
clearSort(name?: string): void;
64+
isColumnGrouped(fieldName: string): boolean;
4765
}

projects/igniteui-angular/src/lib/grids/filtering/advanced-filtering/advanced-filtering-dialog.component.html

+5-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
<article
2+
*ngIf="grid"
23
class="igx-advanced-filter"
34
igxDrag
45
[ghost]="false"
@@ -8,7 +9,8 @@
89
(keydown)="onKeyDown($event)"
910
[ngClass]="{
1011
'igx-advanced-filter--cosy': grid.displayDensity === 'cosy',
11-
'igx-advanced-filter--compact': grid.displayDensity === 'compact'
12+
'igx-advanced-filter--compact': grid.displayDensity === 'compact',
13+
'igx-advanced-filter--inline': inline
1214
}"
1315
>
1416
<header class="igx-advanced-filter__header" igxDragHandle>
@@ -266,6 +268,7 @@ <h6 class="igx-filter-empty__title">
266268
<div igxToggle
267269
class="igx-filter-contextual-menu"
268270
(keydown)="onKeyDown($event)"
271+
(onClosed)="contextMenuClosed()"
269272
[ngClass]="{
270273
'igx-filter-contextual-menu--cosy': displayDensity === 'cosy',
271274
'igx-filter-contextual-menu--compact': displayDensity === 'compact'
@@ -336,7 +339,7 @@ <h6 class="igx-filter-empty__title">
336339
<button igxButton [displayDensity]="displayDensity" (click)="onClearButtonClick()">{{ grid.resourceStrings.igx_grid_excel_custom_dialog_clear }}</button>
337340

338341
<div>
339-
<button igxButton [displayDensity]="displayDensity" (click)="closeDialog()">{{ grid.resourceStrings.igx_grid_excel_cancel }}</button>
342+
<button igxButton [displayDensity]="displayDensity" (click)="cancelChanges()">{{ grid.resourceStrings.igx_grid_excel_cancel }}</button>
340343
<button igxButton="raised" [displayDensity]="displayDensity" (click)="onApplyButtonClick()">
341344
{{ grid.resourceStrings.igx_grid_excel_apply }}
342345
</button>

0 commit comments

Comments
 (0)