|
|
|
@ -1,4 +1,4 @@ |
|
|
|
import { Pipe, PipeTransform, Injectable } from '@angular/core'; |
|
|
|
import { Injectable, Pipe, PipeTransform } from '@angular/core'; |
|
|
|
import { Store } from '@ngxs/store'; |
|
|
|
import { Config } from '../models'; |
|
|
|
import { ConfigState } from '../states'; |
|
|
|
@ -10,12 +10,28 @@ import { ConfigState } from '../states'; |
|
|
|
export class LocalizationPipe implements PipeTransform { |
|
|
|
constructor(private store: Store) {} |
|
|
|
|
|
|
|
transform(value: string | Config.LocalizationWithDefault = '', ...interpolateParams: string[]): string { |
|
|
|
transform( |
|
|
|
value: string | Config.LocalizationWithDefault = '', |
|
|
|
...interpolateParams: string[] |
|
|
|
): string { |
|
|
|
return this.store.selectSnapshot( |
|
|
|
ConfigState.getLocalization( |
|
|
|
value, |
|
|
|
...interpolateParams.reduce((acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), []), |
|
|
|
...interpolateParams.reduce( |
|
|
|
(acc, val) => (Array.isArray(val) ? [...acc, ...val] : [...acc, val]), |
|
|
|
[], |
|
|
|
), |
|
|
|
), |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Injectable() |
|
|
|
@Pipe({ |
|
|
|
name: 'abpLocalization', |
|
|
|
}) |
|
|
|
export class MockLocalizationPipe implements PipeTransform { |
|
|
|
transform(value: string | Config.LocalizationWithDefault = '', ..._: string[]) { |
|
|
|
return typeof value === 'string' ? value : value.defaultValue; |
|
|
|
} |
|
|
|
} |
|
|
|
|