Browse Source

fix: use interpolate to replace localization tokens

pull/5285/head
Arman Ozak 6 years ago
parent
commit
28371a3ba4
  1. 9
      npm/ng-packs/packages/core/src/lib/states/config.state.ts

9
npm/ng-packs/packages/core/src/lib/states/config.state.ts

@ -9,6 +9,7 @@ import { RestOccurError } from '../actions/rest.actions';
import { SetLanguage } from '../actions/session.actions'; import { SetLanguage } from '../actions/session.actions';
import { ApplicationConfiguration } from '../models/application-configuration'; import { ApplicationConfiguration } from '../models/application-configuration';
import { Config } from '../models/config'; import { Config } from '../models/config';
import { interpolate } from '../utils/string-utils';
import { SessionState } from './session.state'; import { SessionState } from './session.state';
@State<Config.State>({ @State<Config.State>({
@ -180,14 +181,12 @@ export class ConfigState {
return defaultValue || sourceKey; return defaultValue || sourceKey;
} }
// [TODO]: next line should be removed in v3.2, breaking change!!!
interpolateParams = interpolateParams.filter(params => params != null); interpolateParams = interpolateParams.filter(params => params != null);
if (localization && interpolateParams && interpolateParams.length) { if (localization) localization = interpolate(localization, interpolateParams);
interpolateParams.forEach(param => {
localization = localization.replace(/[\'\"]?\{[\d]+\}[\'\"]?/, param);
});
}
if (typeof localization !== 'string') localization = ''; if (typeof localization !== 'string') localization = '';
return localization || defaultValue || (key as string); return localization || defaultValue || (key as string);
}); });

Loading…
Cancel
Save