Skip to content

Commit 866bb0d

Browse files
authored
Merge branch '10.2.x' into sstoychev/loading-filtering-rework-102
2 parents f95d5bc + 5817a92 commit 866bb0d

File tree

7 files changed

+36
-10
lines changed

7 files changed

+36
-10
lines changed

angular.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@
6969
"with": "src/environments/environment.hmr.ts"
7070
}
7171
]
72+
},
73+
"es5": {
74+
"tsConfig": "src/tsconfig-es5.app.json"
7275
}
7376
}
7477
},
@@ -85,6 +88,9 @@
8588
"hmr": true,
8689
"hmrWarning": false,
8790
"browserTarget": "igniteui-dev-demos:build:hmr"
91+
},
92+
"es5": {
93+
"browserTarget": "igniteui-dev-demos:build:es5"
8894
}
8995
}
9096
},

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"scripts": {
55
"ng": "ng",
66
"start": "ng serve --open --configuration hmr",
7+
"start-es5": "ng serve --configuration es5 -o",
78
"build": "ng build",
89
"test": "ng test",
910
"lint": "ng lint",

projects/igniteui-angular/src/lib/core/utils.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,7 @@ export const NAVIGATION_KEYS = new Set([
328328
]);
329329
export const ROW_EXPAND_KEYS = new Set('right down arrowright arrowdown'.split(' '));
330330
export const ROW_COLLAPSE_KEYS = new Set('left up arrowleft arrowup'.split(' '));
331-
export const SUPPORTED_KEYS = new Set([...Array.from(NAVIGATION_KEYS), 'enter', 'f2', 'escape', 'esc', 'pagedown', 'pageup', '+']);
331+
export const SUPPORTED_KEYS = new Set([...Array.from(NAVIGATION_KEYS), 'enter', 'f2', 'escape', 'esc', 'pagedown', 'pageup', '+', 'add']);
332332
export const HEADER_KEYS = new Set([...Array.from(NAVIGATION_KEYS), 'escape', 'esc' , 'l']);
333333

334334
/**

projects/igniteui-angular/src/lib/date-picker/date-picker.component.ts

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ export class IgxDatePickerComponent implements IDatePicker, ControlValueAccessor
426426
private _moduleRef: NgModuleRef<any>,
427427
private _injector: Injector,
428428
private _renderer: Renderer2) {
429-
}
429+
}
430430

431431

432432
/**
@@ -827,7 +827,7 @@ export class IgxDatePickerComponent implements IDatePicker, ControlValueAccessor
827827
return this._inputGroup || this._inputGroupUserTemplate || null;
828828
}
829829

830-
/** @hidden @internal */
830+
/** @hidden @internal */
831831
public get inputDirective(): IgxInputDirective {
832832
return this._inputDirective || this._inputDirectiveUserTemplates.first || null;
833833
}
@@ -922,7 +922,7 @@ export class IgxDatePickerComponent implements IDatePicker, ControlValueAccessor
922922

923923
this._inputDirectiveUserTemplates.changes.subscribe(() => {
924924
this.attachTemplateBlur();
925-
});
925+
});
926926
this.attachTemplateBlur();
927927
}
928928

@@ -938,8 +938,8 @@ export class IgxDatePickerComponent implements IDatePicker, ControlValueAccessor
938938
this.rawDateString = (res.target as HTMLInputElement).value;
939939
this.onBlur(res, false);
940940
});
941-
// TODO: Refactor custom template handling.
942-
// Revise blur handling when custom template is passed
941+
// TODO: Refactor custom template handling.
942+
// Revise blur handling when custom template is passed
943943
}
944944
}
945945

@@ -1178,6 +1178,12 @@ export class IgxDatePickerComponent implements IDatePicker, ControlValueAccessor
11781178

11791179
/** @hidden @internal */
11801180
public onInput(event) {
1181+
/**
1182+
* Fix for #8165 until refactoring (#6483).
1183+
* The IgxDateTimeEditor will be used to handle all inputs, i.e. this handler will be removed.
1184+
* It extends the IgxMaskDirective which contains logic that handles this issue.
1185+
*/
1186+
if (isIE() && !this._isInEditMode && !this.inputGroup.isFocused) { return; }
11811187
const targetValue = event.target.value;
11821188
const cursorPosition = this._getCursorPosition();
11831189
const checkInput = DatePickerUtil.checkForCompleteDateInput(this.dateFormatParts, targetValue);

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

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ export class IgxMaskDirective implements OnInit, AfterViewChecked, ControlValueA
154154
/** @hidden */
155155
public ngOnInit(): void {
156156
if (!this.nativeElement.placeholder) {
157-
this.renderer.setAttribute(this.nativeElement, 'placeholder', this.maskOptions.format);
157+
this.renderer.setAttribute(this.nativeElement, 'placeholder', this.maskOptions.format);
158158
}
159159
}
160160

@@ -188,7 +188,15 @@ export class IgxMaskDirective implements OnInit, AfterViewChecked, ControlValueA
188188
/** @hidden */
189189
@HostListener('input')
190190
public onInputChanged(): void {
191-
if (isIE() && this._stopPropagation) {
191+
/**
192+
* '!this._focused' is a fix for #8165
193+
* On page load IE triggers input events before focus events and
194+
* it does so for every single input on the page.
195+
* The mask needs to be prevented from doing anything while this is happening because
196+
* the end user will be unable to blur the input.
197+
* https://stackoverflow.com/questions/21406138/input-event-triggered-on-internet-explorer-when-placeholder-changed
198+
*/
199+
if (isIE() && (this._stopPropagation || !this._focused)) {
192200
this._stopPropagation = false;
193201
return;
194202
}

projects/igniteui-angular/src/lib/grids/grid-navigation.service.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ export class IgxGridNavigationService {
5151
!this.grid.crudService.rowEditingBlocked && !this.grid.rowInEditMode) { return; }
5252
const shift = event.shiftKey;
5353
const ctrl = event.ctrlKey;
54-
const alt = event.altKey;
5554
if (NAVIGATION_KEYS.has(key) && this.pendingNavigation) { event.preventDefault(); return; }
5655

5756
const type = this.isDataRow(this.activeNode.row) ? 'dataCell' :
@@ -631,6 +630,6 @@ export class IgxGridNavigationService {
631630
}
632631

633632
private isAddKey(key: string): boolean {
634-
return key === '+';
633+
return key === '+' || key === 'add'; // add is for IE and Edge
635634
}
636635
}

src/tsconfig-es5.app.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"extends": "./tsconfig.app.json",
3+
"compilerOptions": {
4+
"target": "es5"
5+
}
6+
}

0 commit comments

Comments
 (0)