UNPKG

@cause-911/core

Version:

Run `npm install @cause-911/core --save` to add this library to your project

67 lines 6.18 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, Inject } from '@angular/core'; import { TranslateService } from '@ngx-translate/core'; import { CAUSE_CORE_MODULE_OPTIONS, CoreModuleOptions } from './shared/models/core-module-options'; import { Configuration } from './shared/classes/configuration'; import * as i0 from "@angular/core"; import * as i1 from "./shared/models/core-module-options"; import * as i2 from "@ngx-translate/core"; export class CoreService { /** * @param {?} options * @param {?} translateService */ constructor(options, translateService) { this.translateService = translateService; this.config = new Configuration(options); this.config.locale = localStorage.getItem('locale') || this.config.locale || 'fr'; this.config.languages = this.config.languages || ['fr', 'en']; this.translateService.addLangs(this.config.languages); this.translateService.setDefaultLang(this.config.locale); this.translateService.use(this.config.locale); } /** * @return {?} */ getConfig() { return this.config; } /** * @return {?} */ toggleLanguage() { if (this.config.languages.length < 2) { throw new Error('You need to configure at least two languages.'); } else if (this.config.languages.length === 2) { localStorage.setItem('locale', this.config.locale === 'fr' ? 'en' : 'fr'); } } } CoreService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ CoreService.ctorParameters = () => [ { type: CoreModuleOptions, decorators: [{ type: Inject, args: [CAUSE_CORE_MODULE_OPTIONS,] }] }, { type: TranslateService } ]; /** @nocollapse */ CoreService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function CoreService_Factory() { return new CoreService(i0.ɵɵinject(i1.CAUSE_CORE_MODULE_OPTIONS), i0.ɵɵinject(i2.TranslateService)); }, token: CoreService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ CoreService.prototype.config; /** * @type {?} * @private */ CoreService.prototype.translateService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNhdXNlLTkxMS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBSzdELE1BQU0sT0FBTyxXQUFXOzs7OztJQUdwQixZQUN1QyxPQUEwQixFQUNyRCxnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUUxQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDO1FBQ2xGLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xELENBQUM7Ozs7SUFFTSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Ozs7SUFFTSxjQUFjO1FBQ2pCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7U0FDcEU7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDM0MsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdFO0lBQ0wsQ0FBQzs7O1lBNUJKLFVBQVUsU0FBQztnQkFDUixVQUFVLEVBQUUsTUFBTTthQUNyQjs7OztZQUxrQyxpQkFBaUIsdUJBVTNDLE1BQU0sU0FBQyx5QkFBeUI7WUFYakMsZ0JBQWdCOzs7Ozs7OztJQVFwQiw2QkFBOEI7Ozs7O0lBSTFCLHVDQUEwQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHJhbnNsYXRlU2VydmljZX0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQge0NBVVNFX0NPUkVfTU9EVUxFX09QVElPTlMsIENvcmVNb2R1bGVPcHRpb25zfSBmcm9tICcuL3NoYXJlZC9tb2RlbHMvY29yZS1tb2R1bGUtb3B0aW9ucyc7XG5pbXBvcnQge0NvbmZpZ3VyYXRpb259IGZyb20gJy4vc2hhcmVkL2NsYXNzZXMvY29uZmlndXJhdGlvbic7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29yZVNlcnZpY2Uge1xuICAgIHByaXZhdGUgY29uZmlnOiBDb25maWd1cmF0aW9uO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoQ0FVU0VfQ09SRV9NT0RVTEVfT1BUSU9OUykgb3B0aW9uczogQ29yZU1vZHVsZU9wdGlvbnMsXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmNvbmZpZyA9IG5ldyBDb25maWd1cmF0aW9uKG9wdGlvbnMpO1xuICAgICAgICB0aGlzLmNvbmZpZy5sb2NhbGUgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnbG9jYWxlJykgfHwgdGhpcy5jb25maWcubG9jYWxlIHx8ICdmcic7XG4gICAgICAgIHRoaXMuY29uZmlnLmxhbmd1YWdlcyA9IHRoaXMuY29uZmlnLmxhbmd1YWdlcyB8fCBbJ2ZyJywgJ2VuJ107XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS5hZGRMYW5ncyh0aGlzLmNvbmZpZy5sYW5ndWFnZXMpO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2Uuc2V0RGVmYXVsdExhbmcodGhpcy5jb25maWcubG9jYWxlKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZSh0aGlzLmNvbmZpZy5sb2NhbGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRDb25maWcoKTogQ29uZmlndXJhdGlvbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZztcbiAgICB9XG5cbiAgICBwdWJsaWMgdG9nZ2xlTGFuZ3VhZ2UoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sYW5ndWFnZXMubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgbmVlZCB0byBjb25maWd1cmUgYXQgbGVhc3QgdHdvIGxhbmd1YWdlcy4nKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5sYW5ndWFnZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnbG9jYWxlJywgdGhpcy5jb25maWcubG9jYWxlID09PSAnZnInID8gJ2VuJyA6ICdmcicpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19