Skip to content

Commit 9ef4fa0

Browse files
committed
feat(localization): Apply new localization to calendar and date picker based components.
1 parent a24767e commit 9ef4fa0

File tree

5 files changed

+23
-30
lines changed

5 files changed

+23
-30
lines changed

projects/igniteui-angular/src/lib/calendar/calendar-base.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { noop, Subject } from 'rxjs';
66
import { getLocaleFirstDayOfWeek, isDate, isEqual, PlatformUtil } from '../core/utils';
77
import { CalendarResourceStringsEN, ICalendarResourceStrings } from '../core/i18n/calendar-resources';
88
import { DateTimeUtil } from '../date-common/util/date-time.util';
9-
import { getCurrentResourceStrings } from '../core/i18n/resources';
9+
import { getCurrentResourceStrings, initi18n } from '../core/i18n/resources';
1010
import { KeyboardNavigationService } from './calendar.services';
1111
import { getYearRange, isDateInRanges } from './common/helpers';
1212
import { CalendarDay } from './common/model';
@@ -649,7 +649,8 @@ export class IgxCalendarBaseDirective implements ControlValueAccessor {
649649
protected keyboardNavigation?: KeyboardNavigationService,
650650
protected cdr?: ChangeDetectorRef,
651651
) {
652-
this.locale = getCurrentI18n() || _localeId;
652+
initi18n(_localeId);
653+
this.locale = getCurrentI18n();
653654
this.viewDate = this.viewDate ? this.viewDate : new Date();
654655
this.initFormatters();
655656

projects/igniteui-angular/src/lib/date-common/picker-base.directive.ts

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,12 @@ import {
33
AfterViewInit, booleanAttribute, ContentChildren, Directive, ElementRef, EventEmitter,
44
Inject, Input, LOCALE_ID, OnDestroy, Optional, Output, QueryList, ViewChild
55
} from '@angular/core';
6-
import { getLocaleFirstDayOfWeek } from "@angular/common";
7-
86
import { merge, Subject } from 'rxjs';
97
import { takeUntil } from 'rxjs/operators';
108

119
import { EditorProvider } from '../core/edit-provider';
1210
import { IToggleView } from '../core/navigation';
13-
import { IBaseCancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils';
11+
import { getLocaleFirstDayOfWeek, IBaseCancelableBrowserEventArgs, IBaseEventArgs } from '../core/utils';
1412
import { IgxOverlayOutletDirective } from '../directives/toggle/toggle.directive';
1513
import { OverlaySettings } from '../services/overlay/utilities';
1614
import { IgxPickerToggleComponent } from './picker-icons.common';
@@ -21,6 +19,8 @@ import { IGX_INPUT_GROUP_TYPE, IgxInputGroupType } from '../input-group/inputGro
2119
import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
2220
import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
2321
import { IgxInputGroupComponent } from '../input-group/input-group.component';
22+
import { getCurrentI18n } from 'igniteui-i18n-core';
23+
import { initi18n } from '../core/i18n/resources';
2424

2525
@Directive()
2626
export abstract class PickerBaseDirective implements IToggleView, EditorProvider, AfterViewInit, AfterContentChecked, OnDestroy {
@@ -121,12 +121,6 @@ export abstract class PickerBaseDirective implements IToggleView, EditorProvider
121121
*/
122122
public set locale(value: string) {
123123
this._locale = value;
124-
// if value is invalid, set it back to _localeId
125-
try {
126-
getLocaleFirstDayOfWeek(this._locale);
127-
} catch (e) {
128-
this._locale = this._localeId;
129-
}
130124
}
131125

132126
/**
@@ -294,7 +288,8 @@ export abstract class PickerBaseDirective implements IToggleView, EditorProvider
294288
constructor(public element: ElementRef,
295289
@Inject(LOCALE_ID) protected _localeId: string,
296290
@Optional() @Inject(IGX_INPUT_GROUP_TYPE) protected _inputGroupType?: IgxInputGroupType) {
297-
this.locale = this.locale || this._localeId;
291+
initi18n(_localeId);
292+
this.locale = this.locale || getCurrentI18n();
298293
}
299294

300295
/** @hidden @internal */

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,9 +66,9 @@ import {
6666
import { IDatePickerValidationFailedEventArgs } from './date-picker.common';
6767
import { IgxIconComponent } from '../icon/icon.component';
6868
import { IgxTextSelectionDirective } from '../directives/text-selection/text-selection.directive';
69-
import { getCurrentResourceStrings } from '../core/i18n/resources';
69+
import { getCurrentResourceStrings, initi18n } from '../core/i18n/resources';
7070
import { fadeIn, fadeOut } from 'igniteui-angular/animations';
71-
import { getI18nManager } from 'igniteui-i18n-core';
71+
import { getCurrentI18n, getI18nManager } from 'igniteui-i18n-core';
7272

7373
let NEXT_ID = 0;
7474

@@ -517,7 +517,8 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
517517
private cdr: ChangeDetectorRef,
518518
@Optional() @Inject(IGX_INPUT_GROUP_TYPE) _inputGroupType?: IgxInputGroupType) {
519519
super(element, _localeId, _inputGroupType);
520-
this.locale = this.locale || this._localeId;
520+
initi18n(_localeId);
521+
this.locale = this.locale || getCurrentI18n();
521522
getI18nManager().onResourceChange(() => {
522523
this._resourceStrings = getCurrentResourceStrings(DatePickerResourceStringsEN, false);
523524
});
@@ -763,8 +764,8 @@ export class IgxDatePickerComponent extends PickerBaseDirective implements Contr
763764
/** @hidden @internal */
764765
public ngOnInit(): void {
765766
this._ngControl = this._injector.get<NgControl>(NgControl, null);
766-
767-
this.locale = this.locale || this._localeId;
767+
initi18n(this._localeId);
768+
this.locale = this.locale || getCurrentI18n();
768769
}
769770

770771
/** @hidden @internal */

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

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {
44
OnChanges, OnDestroy, OnInit, Optional, Output, QueryList,
55
SimpleChanges, TemplateRef, ViewChild, ViewContainerRef
66
} from '@angular/core';
7-
import { NgTemplateOutlet, getLocaleFirstDayOfWeek } from '@angular/common';
7+
import { NgTemplateOutlet } from '@angular/common';
88
import {
99
AbstractControl, ControlValueAccessor, NgControl,
1010
NG_VALIDATORS, NG_VALUE_ACCESSOR, ValidationErrors, Validator
@@ -33,9 +33,9 @@ import {
3333
import { DateRange, IgxDateRangeEndComponent, IgxDateRangeInputsBaseComponent, IgxDateRangeSeparatorDirective, IgxDateRangeStartComponent, DateRangePickerFormatPipe } from './date-range-picker-inputs.common';
3434
import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
3535
import { IgxIconComponent } from '../icon/icon.component';
36-
import { getCurrentResourceStrings } from '../core/i18n/resources';
36+
import { getCurrentResourceStrings, initi18n } from '../core/i18n/resources';
3737
import { fadeIn, fadeOut } from 'igniteui-angular/animations';
38-
import { getI18nManager } from 'igniteui-i18n-core';
38+
import { getCurrentI18n, getI18nManager } from 'igniteui-i18n-core';
3939

4040
const SingleInputDatesConcatenationString = ' - ';
4141

@@ -347,12 +347,6 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
347347
*/
348348
public override set locale(value: string) {
349349
this._locale = value;
350-
// if value is invalid, set it back to _localeId
351-
try {
352-
getLocaleFirstDayOfWeek(this._locale);
353-
} catch (e) {
354-
this._locale = this._localeId;
355-
}
356350
if (this.hasProjectedInputs) {
357351
this.updateInputLocale();
358352
this.updateDisplayFormat();
@@ -476,7 +470,8 @@ export class IgxDateRangePickerComponent extends PickerBaseDirective
476470
@Inject(IgxOverlayService) private _overlayService: IgxOverlayService,
477471
@Optional() @Inject(IGX_INPUT_GROUP_TYPE) _inputGroupType?: IgxInputGroupType) {
478472
super(element, _localeId, _inputGroupType);
479-
this.locale = this.locale || this._localeId;
473+
initi18n(_localeId);
474+
this.locale = this.locale || getCurrentI18n();
480475
getI18nManager().onResourceChange(() => {
481476
this._resourceStrings = getCurrentResourceStrings(DateRangePickerResourceStringsEN, false);
482477
});

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ import { TimeFormatPipe, TimeItemPipe } from './time-picker.pipes';
5858
import { IgxSuffixDirective } from '../directives/suffix/suffix.directive';
5959
import { IgxIconComponent } from '../icon/icon.component';
6060
import { IgxPrefixDirective } from '../directives/prefix/prefix.directive';
61-
import { getCurrentResourceStrings } from '../core/i18n/resources';
61+
import { getCurrentResourceStrings, initi18n } from '../core/i18n/resources';
6262
import { IgxDividerDirective } from '../directives/divider/divider.directive';
63-
import { getI18nManager } from 'igniteui-i18n-core';
63+
import { getCurrentI18n, getI18nManager } from 'igniteui-i18n-core';
6464

6565
let NEXT_ID = 0;
6666
export interface IgxTimePickerValidationFailedEventArgs extends IBaseEventArgs {
@@ -624,7 +624,8 @@ export class IgxTimePickerComponent extends PickerBaseDirective
624624
private cdr: ChangeDetectorRef,
625625
) {
626626
super(element, _localeId, _inputGroupType);
627-
this.locale = this.locale || this._localeId;
627+
initi18n(_localeId);
628+
this.locale = this.locale || getCurrentI18n();
628629
getI18nManager().onResourceChange(() => {
629630
this._resourceStrings = getCurrentResourceStrings(TimePickerResourceStringsEN, false);
630631
});

0 commit comments

Comments
 (0)