UNPKG

@harbor/ui

Version:

Harbor shared UI components based on Clarity and Angular6

68 lines (67 loc) 6.36 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable } from "@angular/core"; import { TranslateService } from "@ngx-translate/core"; import { DEFAULT_LANG_COOKIE_KEY, DEFAULT_SUPPORTING_LANGS, DEFAULT_LANG } from "../utils"; import { CookieService } from "ngx-cookie"; export class TranslateServiceInitializer { /** * @param {?} translateService * @param {?} cookie */ constructor(translateService, cookie) { this.translateService = translateService; this.cookie = cookie; } /** * @param {?=} config * @return {?} */ init(config = {}) { /** @type {?} */ let selectedLang = config.defaultLang ? config.defaultLang : DEFAULT_LANG; /** @type {?} */ let supportedLangs = config.supportedLangs ? config.supportedLangs : DEFAULT_SUPPORTING_LANGS; this.translateService.addLangs(supportedLangs); this.translateService.setDefaultLang(selectedLang); if (config.enablei18Support) { /** @type {?} */ let langSetting = this.cookie.get(config.langCookieKey ? config.langCookieKey : DEFAULT_LANG_COOKIE_KEY); if (!langSetting || langSetting.trim() === "") { // Use browser lang langSetting = this.translateService .getBrowserCultureLang() .toLowerCase(); } if (langSetting && langSetting.trim() !== "") { if (supportedLangs && supportedLangs.length > 0) { if (supportedLangs.find(lang => lang === langSetting)) { selectedLang = langSetting; } } } } this.translateService.use(selectedLang); } } TranslateServiceInitializer.decorators = [ { type: Injectable } ]; /** @nocollapse */ TranslateServiceInitializer.ctorParameters = () => [ { type: TranslateService }, { type: CookieService } ]; if (false) { /** @type {?} */ TranslateServiceInitializer.prototype.translateService; /** @type {?} */ TranslateServiceInitializer.prototype.cookie; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWluaXQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BoYXJib3IvdWkvIiwic291cmNlcyI6WyJzcmMvaTE4bi90cmFuc2xhdGUtaW5pdC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsd0JBQXdCLEVBQ3hCLFlBQVksRUFDYixNQUFNLFVBQVUsQ0FBQztBQUNsQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRzNDLE1BQU07Ozs7O0lBQ0osWUFDVSxrQkFDQTtRQURBLHFCQUFnQixHQUFoQixnQkFBZ0I7UUFDaEIsV0FBTSxHQUFOLE1BQU07S0FDWjs7Ozs7SUFFRyxJQUFJLENBQUMsU0FBcUIsRUFBRTs7UUFDakMsSUFBSSxZQUFZLEdBQVcsTUFBTSxDQUFDLFdBQVc7WUFDM0MsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQ3BCLENBQUMsQ0FBQyxZQUFZLENBQUM7O1FBQ2pCLElBQUksY0FBYyxHQUFhLE1BQU0sQ0FBQyxjQUFjO1lBQ2xELENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYztZQUN2QixDQUFDLENBQUMsd0JBQXdCLENBQUM7UUFFN0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRW5ELElBQUksTUFBTSxDQUFDLGdCQUFnQixFQUFFOztZQUUzQixJQUFJLFdBQVcsR0FBVyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FDdkMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQ3RFLENBQUM7WUFDRixJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7O2dCQUU3QyxXQUFXLEdBQUcsSUFBSSxDQUFDLGdCQUFnQjtxQkFDaEMscUJBQXFCLEVBQUU7cUJBQ3ZCLFdBQVcsRUFBRSxDQUFDO2FBQ2xCO1lBRUQsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDNUMsSUFBSSxjQUFjLElBQUksY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7b0JBQy9DLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsRUFBRTt3QkFDckQsWUFBWSxHQUFHLFdBQVcsQ0FBQztxQkFDNUI7aUJBQ0Y7YUFDRjtTQUNGO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsQ0FBQzs7OztZQXZDM0MsVUFBVTs7OztZQVJGLGdCQUFnQjtZQU1oQixhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBJMThuQ29uZmlnIH0gZnJvbSBcIi4vaTE4bi1jb25maWdcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9MQU5HX0NPT0tJRV9LRVksXG4gIERFRkFVTFRfU1VQUE9SVElOR19MQU5HUyxcbiAgREVGQVVMVF9MQU5HXG59IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgQ29va2llU2VydmljZSB9IGZyb20gXCJuZ3gtY29va2llXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVTZXJ2aWNlSW5pdGlhbGl6ZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBjb29raWU6IENvb2tpZVNlcnZpY2VcbiAgKSB7fVxuXG4gIHB1YmxpYyBpbml0KGNvbmZpZzogSTE4bkNvbmZpZyA9IHt9KTogdm9pZCB7XG4gICAgbGV0IHNlbGVjdGVkTGFuZzogc3RyaW5nID0gY29uZmlnLmRlZmF1bHRMYW5nXG4gICAgICA/IGNvbmZpZy5kZWZhdWx0TGFuZ1xuICAgICAgOiBERUZBVUxUX0xBTkc7XG4gICAgbGV0IHN1cHBvcnRlZExhbmdzOiBzdHJpbmdbXSA9IGNvbmZpZy5zdXBwb3J0ZWRMYW5nc1xuICAgICAgPyBjb25maWcuc3VwcG9ydGVkTGFuZ3NcbiAgICAgIDogREVGQVVMVF9TVVBQT1JUSU5HX0xBTkdTO1xuXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdzKHN1cHBvcnRlZExhbmdzKTtcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0RGVmYXVsdExhbmcoc2VsZWN0ZWRMYW5nKTtcblxuICAgIGlmIChjb25maWcuZW5hYmxlaTE4U3VwcG9ydCkge1xuICAgICAgLy8gSWYgdXNlciBoYXMgc2VsZWN0ZWQgbGFuZywgdGhlbiBkaXJlY3RseSB1c2UgaXRcbiAgICAgIGxldCBsYW5nU2V0dGluZzogc3RyaW5nID0gdGhpcy5jb29raWUuZ2V0KFxuICAgICAgICBjb25maWcubGFuZ0Nvb2tpZUtleSA/IGNvbmZpZy5sYW5nQ29va2llS2V5IDogREVGQVVMVF9MQU5HX0NPT0tJRV9LRVlcbiAgICAgICk7XG4gICAgICBpZiAoIWxhbmdTZXR0aW5nIHx8IGxhbmdTZXR0aW5nLnRyaW0oKSA9PT0gXCJcIikge1xuICAgICAgICAvLyBVc2UgYnJvd3NlciBsYW5nXG4gICAgICAgIGxhbmdTZXR0aW5nID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlXG4gICAgICAgICAgLmdldEJyb3dzZXJDdWx0dXJlTGFuZygpXG4gICAgICAgICAgLnRvTG93ZXJDYXNlKCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChsYW5nU2V0dGluZyAmJiBsYW5nU2V0dGluZy50cmltKCkgIT09IFwiXCIpIHtcbiAgICAgICAgaWYgKHN1cHBvcnRlZExhbmdzICYmIHN1cHBvcnRlZExhbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBpZiAoc3VwcG9ydGVkTGFuZ3MuZmluZChsYW5nID0+IGxhbmcgPT09IGxhbmdTZXR0aW5nKSkge1xuICAgICAgICAgICAgc2VsZWN0ZWRMYW5nID0gbGFuZ1NldHRpbmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShzZWxlY3RlZExhbmcpO1xuICB9XG59XG4iXX0=