Skip to content

Commit acca8fe

Browse files
authored
Merge branch '19.1.x' into ganastasov/fix-15424-19.1.x
2 parents fbf1b5f + 9898d98 commit acca8fe

File tree

9 files changed

+162
-58
lines changed

9 files changed

+162
-58
lines changed

projects/igniteui-angular-elements/src/public_api.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ import { IgxPivotAggregate, IgxPivotDateAggregate, IgxPivotNumericAggregate, Igx
1111
import { IgxPivotDateDimension } from 'projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid-dimensions';
1212
import { PivotDimensionType } from 'projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.interface';
1313
import { IgxDateSummaryOperand, IgxNumberSummaryOperand, IgxSummaryOperand, IgxTimeSummaryOperand } from 'projects/igniteui-angular/src/lib/grids/summaries/grid-summary';
14+
import { HorizontalAlignment, VerticalAlignment } from 'projects/igniteui-angular/src/lib/services/overlay/utilities';
1415

1516

1617
/** Export Public API, TODO: reorganize, Generate all w/ renames? */
1718
export {
1819
//Grids API
1920
FilteringExpressionsTree as IgcFilteringExpressionsTree,
20-
FilteringLogic, // TODO: already exported by analyzer?
21+
FilteringLogic,
2122
FilteringExpressionsTreeType,
2223
IgxFilteringOperand as IgcFilteringOperand,
2324
IgxBooleanFilteringOperand as IgcBooleanFilteringOperand,
@@ -48,5 +49,9 @@ export {
4849
RowPinningPosition,
4950
GridPagingMode,
5051
DropPosition,
51-
PivotDimensionType
52+
PivotDimensionType,
53+
54+
// overlay position settings (used in grids, paginator, toolbar)
55+
HorizontalAlignment,
56+
VerticalAlignment,
5257
}

projects/igniteui-angular/src/lib/core/styles/components/calendar/_calendar-theme.scss

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1158,7 +1158,7 @@
11581158
display: flex;
11591159
justify-content: space-between;
11601160

1161-
@if $variant != 'indigo' {
1161+
@if $variant == 'bootstrap' {
11621162
&:nth-child(2) {
11631163
%date-inner-week-number {
11641164
border-start-start-radius: var-get($theme, 'week-number-border-radius');
@@ -1222,28 +1222,6 @@
12221222
}
12231223
}
12241224

1225-
%date-inner-week-number {
1226-
min-width: auto;
1227-
width: $date-size;
1228-
color: var-get($theme, 'week-number-foreground');
1229-
background: var-get($theme, 'week-number-background');
1230-
1231-
&::after {
1232-
display: none !important;
1233-
}
1234-
1235-
&::before {
1236-
content: '';
1237-
position: absolute;
1238-
background: var-get($theme, 'week-number-background');
1239-
//border-inline: rem(1px) solid var-get($theme, 'week-number-background');
1240-
inset-inline-start: rem(-1px);
1241-
inset-block-start: 100%;
1242-
height: calc($date-size / 2);
1243-
width: $date-size;
1244-
}
1245-
}
1246-
12471225
%label-week-number {
12481226
text-align: center;
12491227

@@ -1272,9 +1250,8 @@
12721250
position: absolute;
12731251
background: var-get($theme, 'week-number-background');
12741252
border-inline: rem(1px) solid var-get($theme, 'week-number-background');
1275-
inset-inline-start: rem(-1px);
12761253
inset-block-start: 100%;
1277-
height: 100%;
1254+
height: calc(#{$date-view-row-gap} + #{rem(if($variant == 'indigo', 0px, 2px))});
12781255
width: $date-size;
12791256
}
12801257
}
@@ -1507,6 +1484,29 @@
15071484
height: $date-size;
15081485
}
15091486
}
1487+
1488+
&%date-inner-week-number {
1489+
min-width: auto;
1490+
width: $date-size;
1491+
color: var-get($theme, 'week-number-foreground');
1492+
background: var-get($theme, 'week-number-background');
1493+
1494+
// This is not an actual date and should not change it's border when changing the date border
1495+
border-color: var-get($theme, 'week-number-background');
1496+
1497+
&::after {
1498+
display: none !important;
1499+
}
1500+
1501+
&::before {
1502+
content: '';
1503+
position: absolute;
1504+
background: var-get($theme, 'week-number-background');
1505+
inset-block-start: 100%;
1506+
height: calc(#{$date-view-row-gap} + #{rem(if($variant == 'indigo', 0, 2px))});
1507+
width: $date-size;
1508+
}
1509+
}
15101510
}
15111511

15121512
%date-weekend {

projects/igniteui-angular/src/lib/data-operations/filtering-condition.ts

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -48,11 +48,12 @@ export class IgxFilteringOperand {
4848
* Returns an array of names of the conditions which are visible in the filtering UI
4949
*/
5050
public conditionList(): string[] {
51-
return this.operations.filter(f => !f.hidden && !f.isNestedQuery).map((element) => element.name);
51+
return this.operations.filter(f => !f.hidden && !f.isNestedQuery).map((element) => element.name);
5252
}
5353

5454
/**
5555
* Returns an array of names of the conditions which are visible in the UI, including "In" and "Not In", allowing the creation of sub-queries.
56+
* @hidden @internal
5657
*/
5758
public extendedConditionList(): string[] {
5859
return this.operations.filter(f => !f.hidden).map((element) => element.name);
@@ -76,10 +77,7 @@ export class IgxFilteringOperand {
7677
this.operations.push(operation);
7778
}
7879

79-
/**
80-
* @hidden
81-
*/
82-
public findValueInSet(target: any, searchVal: Set<any>) {
80+
protected findValueInSet(target: any, searchVal: Set<any>) {
8381
return searchVal.has(target);
8482
}
8583
}
@@ -119,7 +117,7 @@ export class IgxBooleanFilteringOperand extends IgxFilteringOperand {
119117
iconName: 'filter_not_empty',
120118
logic: (target: boolean) => target !== null && target !== undefined
121119
}];
122-
120+
123121
this.operations = newOperations.concat(this.operations);
124122
}
125123
}
@@ -143,7 +141,7 @@ class IgxBaseDateTimeFilteringOperand extends IgxFilteringOperand {
143141
iconName: 'filter_not_empty',
144142
logic: (target: Date) => target !== null && target !== undefined
145143
}];
146-
144+
147145
this.operations = newOperations.concat(this.operations);
148146
}
149147

@@ -189,10 +187,7 @@ class IgxBaseDateTimeFilteringOperand extends IgxFilteringOperand {
189187
return res;
190188
}
191189

192-
/**
193-
* @hidden
194-
*/
195-
public override findValueInSet(target: any, searchVal: Set<any>) {
190+
protected override findValueInSet(target: any, searchVal: Set<any>) {
196191
if (!target) {
197192
return false;
198193
}
@@ -416,11 +411,11 @@ export class IgxDateFilteringOperand extends IgxBaseDateTimeFilteringOperand {
416411
return d.year === now.year + 1;
417412
}
418413
}];
419-
414+
420415
this.operations = newOperations.concat(this.operations);
421416
}
422417

423-
public override findValueInSet(target: any, searchVal: Set<any>) {
418+
protected override findValueInSet(target: any, searchVal: Set<any>) {
424419
if (!target) {
425420
return false;
426421
}
@@ -637,7 +632,7 @@ export class IgxDateTimeFilteringOperand extends IgxBaseDateTimeFilteringOperand
637632
return d.year === now.year + 1;
638633
}
639634
}];
640-
635+
641636
this.operations = newOperations.concat(this.operations);
642637
}
643638
}
@@ -741,14 +736,11 @@ export class IgxTimeFilteringOperand extends IgxBaseDateTimeFilteringOperand {
741736
true : targetn.hours === search.hours && targetn.minutes === search.minutes && targetn.seconds > search.seconds;
742737
}
743738
}];
744-
739+
745740
this.operations = newOperations.concat(this.operations);
746741
}
747742

748-
/**
749-
* @hidden
750-
*/
751-
public override findValueInSet(target: any, searchVal: Set<any>) {
743+
protected override findValueInSet(target: any, searchVal: Set<any>) {
752744
if (!target) {
753745
return false;
754746
}
@@ -806,7 +798,7 @@ export class IgxNumberFilteringOperand extends IgxFilteringOperand {
806798
iconName: 'filter_not_empty',
807799
logic: (target: number) => target !== null && target !== undefined && !isNaN(target)
808800
}];
809-
801+
810802
this.operations = newOperations.concat(this.operations);
811803
}
812804
}
@@ -885,7 +877,7 @@ export class IgxStringFilteringOperand extends IgxFilteringOperand {
885877
iconName: 'filter_not_empty',
886878
logic: (target: string) => target !== null && target !== undefined && target.length > 0
887879
}];
888-
880+
889881
this.operations = newOperations.concat(this.operations);
890882
}
891883

projects/igniteui-angular/src/lib/grids/filtering/excel-style/excel-style-filtering.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ export class IgxGridExcelStyleFilteringComponent extends BaseFilteringComponent
549549
const lowerCaseFilterValues = new Set(Array.from(expr.expression.searchVal).map((value: string) => value.toLowerCase()));
550550

551551
this.grid.data.forEach(item => {
552-
if (lowerCaseFilterValues.has(item[this.column.field]?.toLowerCase())) {
552+
if (typeof item[this.column.field] === "string" && lowerCaseFilterValues.has(item[this.column.field]?.toLowerCase())) {
553553
expr.expression.searchVal.add(item[this.column.field]);
554554
}
555555
});

projects/igniteui-angular/src/lib/grids/hierarchical-grid/hierarchical-grid-base.directive.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ export abstract class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirect
166166
viewRef: ViewContainerRef,
167167
injector: Injector,
168168
envInjector: EnvironmentInjector,
169-
navigation: IgxHierarchicalGridNavigationService,
169+
public override navigation: IgxHierarchicalGridNavigationService,
170170
filteringService: IgxFilteringService,
171171
textHighlightService: IgxTextHighlightService,
172172
@Inject(IgxOverlayService) overlayService: IgxOverlayService,
@@ -200,8 +200,6 @@ export abstract class IgxHierarchicalGridBaseDirective extends IgxGridBaseDirect
200200
);
201201
}
202202

203-
public override navigation: IgxHierarchicalGridNavigationService;
204-
205203
/**
206204
* @hidden
207205
*/

projects/igniteui-angular/src/lib/grids/pivot-grid/pivot-grid.component.ts

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1021,7 +1021,7 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
10211021
viewRef: ViewContainerRef,
10221022
injector: Injector,
10231023
envInjector: EnvironmentInjector,
1024-
navigation: IgxPivotGridNavigationService,
1024+
public override navigation: IgxPivotGridNavigationService,
10251025
filteringService: IgxFilteringService,
10261026
textHighlightService: IgxTextHighlightService,
10271027
@Inject(IgxOverlayService) overlayService: IgxOverlayService,
@@ -1054,8 +1054,6 @@ export class IgxPivotGridComponent extends IgxGridBaseDirective implements OnIni
10541054
_diTransactions);
10551055
}
10561056

1057-
public override navigation: IgxPivotGridNavigationService;
1058-
10591057
/**
10601058
* @hidden
10611059
*/

projects/igniteui-angular/src/lib/grids/tree-grid/tree-grid-filtering.spec.ts

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { GridFunctions } from '../../test-utils/grid-functions.spec';
1313
import { UIInteractions } from '../../test-utils/ui-interactions.spec';
1414
import { SampleTestData } from '../../test-utils/sample-test-data.spec';
1515
import { By } from '@angular/platform-browser';
16+
import { GridColumnDataType } from '../../data-operations/data-util';
1617

1718
const IGX_CHECKBOX_LABEL = '.igx-checkbox__label';
1819

@@ -751,6 +752,29 @@ describe('IgxTreeGrid - Filtering actions #tGrid', () => {
751752
emptyTextEl = searchComponent.querySelector('.igx-excel-filter__empty');
752753
expect(emptyTextEl.innerText).toEqual('No matches');
753754
}));
755+
756+
it('Should not throw console error when number column with dataType string is filtered.', fakeAsync(() => {
757+
tGrid.columns[0].dataType = GridColumnDataType.String;
758+
fix.detectChanges();
759+
spyOn(console, 'error');
760+
761+
GridFunctions.clickExcelFilterIcon(fix, 'ID');
762+
fix.detectChanges();
763+
tick();
764+
765+
const excelMenu = GridFunctions.getExcelStyleFilteringComponent(fix, 'igx-tree-grid');
766+
const checkboxes: any[] = Array.from(GridFunctions.getExcelStyleFilteringCheckboxes(fix, excelMenu, 'igx-tree-grid'));
767+
768+
checkboxes[2].click();
769+
tick();
770+
fix.detectChanges();
771+
772+
GridFunctions.clickApplyExcelStyleFiltering(fix, null, 'igx-tree-grid');
773+
fix.detectChanges();
774+
tick();
775+
776+
expect(console.error).not.toHaveBeenCalled();
777+
}));
754778
});
755779

756780
describe('Tree grid ESF templates', () => {

0 commit comments

Comments
 (0)