Skip to content

Commit ca64e05

Browse files
authored
Merge pull request #7618 from IgniteUI/ibarakov/fix-5280-master
Add list localization #5280
2 parents 5e91c8e + 77fe576 commit ca64e05

File tree

7 files changed

+41
-3
lines changed

7 files changed

+41
-3
lines changed

CHANGELOG.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,12 @@ All notable changes for each version of this project will be documented in this
2323
- `IgxSelect` support for `igxHint` directive added.
2424
- Allows the user to add `igxHint` to be displayed bellow the input element.
2525

26+
## 9.1.4
27+
28+
### New Features
29+
- `IgxList`
30+
- Added localization support.
31+
2632
## 9.1.1
2733

2834
### General
@@ -190,7 +196,6 @@ All notable changes for each version of this project will be documented in this
190196
- Added support for tabIndex attribute applied to the main chip element.
191197
- Added `tabIndex` input so it can support change detection as well.
192198

193-
194199
- `IgxHighlightDirective`
195200
- New `metadata` property was introduced, which allows adding additional, custom logic to the activation condition of a highlighted element.
196201

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

+2
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

+2
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

+2-2
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

+19
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) {

projects/igniteui-angular/src/public_api.ts

+1
Original file line numberDiff line numberDiff line change
@@ -113,5 +113,6 @@ export { IGridResourceStrings } from './lib/core/i18n/grid-resources';
113113
export { IPaginatorResourceStrings } from './lib/core/i18n/paginator-resources';
114114
export { ITimePickerResourceStrings } from './lib/core/i18n/time-picker-resources';
115115
export { IDateRangePickerResourceStrings } from './lib/core/i18n/date-range-picker-resources';
116+
export { IListResourceStrings } from './lib/core/i18n/list-resources';
116117
export { InteractionMode } from './lib/core/enums';
117118
export { SplitterType } from './lib/splitter/splitter.component';

0 commit comments

Comments
 (0)