mirror of https://github.com/abpframework/abp.git
committed by
GitHub
5 changed files with 33 additions and 1 deletions
@ -0,0 +1,23 @@ |
|||||
|
import { APP_INITIALIZER, Injector, Provider } from '@angular/core'; |
||||
|
import { DOCUMENT } from '@angular/common'; |
||||
|
import { SessionStateService } from '../services/session-state.service'; |
||||
|
import { COOKIE_LANGUAGE_KEY } from '../tokens/cookie-language-key.token'; |
||||
|
|
||||
|
export function setLanguageToCookie(injector: Injector) { |
||||
|
return () => { |
||||
|
const sessionState = injector.get(SessionStateService); |
||||
|
const document = injector.get(DOCUMENT); |
||||
|
const cookieLanguageKey = injector.get(COOKIE_LANGUAGE_KEY); |
||||
|
sessionState.getLanguage$().subscribe(language => { |
||||
|
const cookieValue = encodeURIComponent(`c=${language}|uic=${language}`); |
||||
|
document.cookie = `${cookieLanguageKey}=${cookieValue}`; |
||||
|
}); |
||||
|
}; |
||||
|
} |
||||
|
|
||||
|
export const CookieLanguageProvider: Provider = { |
||||
|
provide: APP_INITIALIZER, |
||||
|
useFactory: setLanguageToCookie, |
||||
|
deps: [Injector], |
||||
|
multi: true, |
||||
|
}; |
||||
@ -1 +1,2 @@ |
|||||
|
export * from './cookie-language.provider'; |
||||
export * from './locale.provider'; |
export * from './locale.provider'; |
||||
|
|||||
@ -0,0 +1,5 @@ |
|||||
|
import { InjectionToken } from '@angular/core'; |
||||
|
|
||||
|
export const COOKIE_LANGUAGE_KEY = new InjectionToken<string>('COOKIE_LANGUAGE_KEY', { |
||||
|
factory: () => '.AspNetCore.Culture', |
||||
|
}); |
||||
@ -1,6 +1,7 @@ |
|||||
|
export * from './app-config.token'; |
||||
|
export * from './cookie-language-key.token'; |
||||
export * from './list.token'; |
export * from './list.token'; |
||||
export * from './lodaer-delay.token'; |
export * from './lodaer-delay.token'; |
||||
export * from './manage-profile.token'; |
export * from './manage-profile.token'; |
||||
export * from './options.token'; |
export * from './options.token'; |
||||
export * from './app-config.token'; |
|
||||
export * from './tenant-key.token'; |
export * from './tenant-key.token'; |
||||
|
|||||
Loading…
Reference in new issue