@cause-911/core
Version:
Run `npm install @cause-911/core --save` to add this library to your project
71 lines • 6.43 kB
JavaScript
/**
* @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";
var CoreService = /** @class */ (function () {
function CoreService(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 {?}
*/
CoreService.prototype.getConfig = /**
* @return {?}
*/
function () {
return this.config;
};
/**
* @return {?}
*/
CoreService.prototype.toggleLanguage = /**
* @return {?}
*/
function () {
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 = function () { return [
{ 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" });
return CoreService;
}());
export { CoreService };
if (false) {
/**
* @type {?}
* @private
*/
CoreService.prototype.config;
/**
* @type {?}
* @private
*/
CoreService.prototype.translateService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNhdXNlLTkxMS9jb3JlLyIsInNvdXJjZXMiOlsibGliL2NvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLHlCQUF5QixFQUFFLGlCQUFpQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakcsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGdDQUFnQyxDQUFDOzs7O0FBRTdEO0lBTUkscUJBQ3VDLE9BQTBCLEVBQ3JELGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBRTFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUM7UUFDbEYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQzs7OztJQUVNLCtCQUFTOzs7SUFBaEI7UUFDSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQzs7OztJQUVNLG9DQUFjOzs7SUFBckI7UUFDSSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDbEMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1NBQ3BFO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQzNDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3RTtJQUNMLENBQUM7O2dCQTVCSixVQUFVLFNBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCOzs7O2dCQUxrQyxpQkFBaUIsdUJBVTNDLE1BQU0sU0FBQyx5QkFBeUI7Z0JBWGpDLGdCQUFnQjs7O3NCQUR4QjtDQWtDQyxBQTdCRCxJQTZCQztTQTFCWSxXQUFXOzs7Ozs7SUFDcEIsNkJBQThCOzs7OztJQUkxQix1Q0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIEluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDQVVTRV9DT1JFX01PRFVMRV9PUFRJT05TLCBDb3JlTW9kdWxlT3B0aW9uc30gZnJvbSAnLi9zaGFyZWQvbW9kZWxzL2NvcmUtbW9kdWxlLW9wdGlvbnMnO1xuaW1wb3J0IHtDb25maWd1cmF0aW9ufSBmcm9tICcuL3NoYXJlZC9jbGFzc2VzL2NvbmZpZ3VyYXRpb24nO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENvcmVTZXJ2aWNlIHtcbiAgICBwcml2YXRlIGNvbmZpZzogQ29uZmlndXJhdGlvbjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KENBVVNFX0NPUkVfTU9EVUxFX09QVElPTlMpIG9wdGlvbnM6IENvcmVNb2R1bGVPcHRpb25zLFxuICAgICAgICBwcml2YXRlIHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2VcbiAgICApIHtcbiAgICAgICAgdGhpcy5jb25maWcgPSBuZXcgQ29uZmlndXJhdGlvbihvcHRpb25zKTtcbiAgICAgICAgdGhpcy5jb25maWcubG9jYWxlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2xvY2FsZScpIHx8IHRoaXMuY29uZmlnLmxvY2FsZSB8fCAnZnInO1xuICAgICAgICB0aGlzLmNvbmZpZy5sYW5ndWFnZXMgPSB0aGlzLmNvbmZpZy5sYW5ndWFnZXMgfHwgWydmcicsICdlbiddO1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuYWRkTGFuZ3ModGhpcy5jb25maWcubGFuZ3VhZ2VzKTtcbiAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnNldERlZmF1bHRMYW5nKHRoaXMuY29uZmlnLmxvY2FsZSk7XG4gICAgICAgIHRoaXMudHJhbnNsYXRlU2VydmljZS51c2UodGhpcy5jb25maWcubG9jYWxlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q29uZmlnKCk6IENvbmZpZ3VyYXRpb24ge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25maWc7XG4gICAgfVxuXG4gICAgcHVibGljIHRvZ2dsZUxhbmd1YWdlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5jb25maWcubGFuZ3VhZ2VzLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IG5lZWQgdG8gY29uZmlndXJlIGF0IGxlYXN0IHR3byBsYW5ndWFnZXMuJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5jb25maWcubGFuZ3VhZ2VzLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2xvY2FsZScsIHRoaXMuY29uZmlnLmxvY2FsZSA9PT0gJ2ZyJyA/ICdlbicgOiAnZnInKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==