Skip to content

Commit ae8eb62

Browse files
committed
feat(list): add list localization #5280
1 parent 8f1c49b commit ae8eb62

File tree

5 files changed

+34
-2
lines changed

5 files changed

+34
-2
lines changed
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export interface IListResourceStrings {
2+
igx_list_no_items?: string;
3+
igx_list_loading?: string;
4+
}
5+
6+
export const ListResourceStringsEN: IListResourceStrings = {
7+
igx_list_no_items: 'There are no items in the list.',
8+
igx_list_loading: 'Loading data from the server...'
9+
};

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { ITimePickerResourceStrings, TimePickerResourceStringsEN } from './time-
44
import { PaginatorResourceStringsEN } from './paginator-resources';
55
import { cloneValue } from '../utils';
66
import { ICarouselResourceStrings, CarouselResourceStringsEN } from './carousel-resources';
7+
import { ListResourceStringsEN } from './list-resources';
78

89
export interface IResourceStrings extends IGridResourceStrings, ITimePickerResourceStrings, ICarouselResourceStrings {}
910

@@ -16,6 +17,7 @@ export const CurrentResourceStrings = {
1617
TimePickerResStrings: cloneValue(TimePickerResourceStringsEN),
1718
DateRangePickerResStrings: cloneValue(DateRangePickerResourceStringsEN),
1819
CarouselResStrings: cloneValue(CarouselResourceStringsEN),
20+
ListResStrings: cloneValue(ListResourceStringsEN),
1921
};
2022

2123
function updateResourceStrings(currentStrings: IResourceStrings, newStrings: IResourceStrings ) {

projects/igniteui-angular/src/lib/list/list.common.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import { Directive, TemplateRef, EventEmitter, QueryList, Optional, Inject } from '@angular/core';
22
import { DisplayDensityBase, IDisplayDensityOptions, DisplayDensityToken } from '../core/density';
3+
import { CurrentResourceStrings } from '../core/i18n/resources';
4+
import { IListResourceStrings } from '../core/i18n/list-resources';
35

46
export interface IListChild {
57
index: number;

projects/igniteui-angular/src/lib/list/list.component.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
<ng-template #defaultEmptyList>
44
<article class="message">
5-
There are no items in the list.
5+
{{resourceStrings.igx_list_no_items}}
66
</article>
77
</ng-template>
88

99
<ng-template #defaultDataLoading>
1010
<article class="message">
11-
Loading data from the server...
11+
{{resourceStrings.igx_list_loading}}
1212
</article>
1313
</ng-template>
1414

projects/igniteui-angular/src/lib/list/list.component.ts

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ import {
3030
} from './list.common';
3131
import { IDisplayDensityOptions, DisplayDensityToken, DisplayDensity } from '../core/density';
3232
import { IBaseEventArgs } from '../core/utils';
33+
import { IListResourceStrings } from '../core/i18n/list-resources';
34+
import { CurrentResourceStrings } from '../core/i18n/resources';
3335

3436
let NEXT_ID = 0;
3537

@@ -148,6 +150,23 @@ export class IgxListLineSubTitleDirective {
148150
providers: [{ provide: IgxListBaseDirective, useExisting: IgxListComponent }]
149151
})
150152
export class IgxListComponent extends IgxListBaseDirective {
153+
/**
154+
* Sets the resource strings.
155+
* By default it uses EN resources.
156+
*/
157+
@Input()
158+
set resourceStrings(value: IListResourceStrings) {
159+
this._resourceStrings = Object.assign({}, this._resourceStrings, value);
160+
}
161+
162+
/**
163+
* Returns the resource strings.
164+
*/
165+
get resourceStrings(): IListResourceStrings {
166+
return this._resourceStrings;
167+
}
168+
169+
private _resourceStrings = CurrentResourceStrings.ListResStrings;
151170

152171
constructor(public element: ElementRef,
153172
@Optional() @Inject(DisplayDensityToken) protected _displayDensityOptions: IDisplayDensityOptions) {

0 commit comments

Comments
 (0)