UNPKG

ng-zorro-antd-mobile

Version:

An enterprise-class mobile UI components based on Ant Design and Angular

124 lines 8.89 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Inject, Injectable, Optional, SkipSelf } from '@angular/core'; import { LOCAL_PROVIDER_TOKEN } from './locale-provider.token'; import { BehaviorSubject } from 'rxjs'; import zh_CN from './locale/zh_CN'; export class LocaleProviderService { /** * @param {?} locale */ constructor(locale) { this._change = new BehaviorSubject(this._locale); this.setLocale(locale || zh_CN); } /** * @return {?} */ get localeChange() { return this._change.asObservable(); } /** * @param {?} keyPath * @return {?} */ getLocaleValue(keyPath) { /** @type {?} */ const content = (/** @type {?} */ (this._getObjectPath(this._locale, keyPath))); if (typeof content === 'string') { return content; } return ''; } /** * @param {?} keyPath * @return {?} */ getLocaleSubObj(keyPath) { /** @type {?} */ const content = (/** @type {?} */ (this._getObjectPath(this._locale, keyPath))); if (typeof content === 'object') { return content; } return null; } /** * @param {?} locale * @return {?} */ setLocale(locale) { if (!locale || (this._locale && this._locale.locale === locale.locale)) { return; } this._locale = locale; this._change.next(locale); } /** * @return {?} */ getLocaleId() { return this._locale && this._locale.locale ? this._locale.locale : ''; } /** * @return {?} */ getLocale() { return this._locale; } /** * @private * @param {?} obj * @param {?} path * @return {?} */ _getObjectPath(obj, path) { /** @type {?} */ let res = obj; /** @type {?} */ const paths = path.split('.'); /** @type {?} */ const depth = paths.length; /** @type {?} */ let index = 0; while (res && index < depth) { res = res[paths[index++]]; } return index === depth ? res : null; } } LocaleProviderService.decorators = [ { type: Injectable } ]; /** @nocollapse */ LocaleProviderService.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [LOCAL_PROVIDER_TOKEN,] }] } ]; if (false) { /** * @type {?} * @private */ LocaleProviderService.prototype._locale; /** * @type {?} * @private */ LocaleProviderService.prototype._change; } /** * @param {?} exist * @param {?} locale * @return {?} */ export function LOCALE_PROVIDER_SERVICE_FACTORY(exist, locale) { return exist || new LocaleProviderService(locale); } /** @type {?} */ export const LOCALE_PROVIDER_SERVICE_PROVIDER = { provide: LocaleProviderService, useFactory: LOCALE_PROVIDER_SERVICE_FACTORY, deps: [[new Optional(), new SkipSelf(), LocaleProviderService], LOCAL_PROVIDER_TOKEN] }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbImxvY2FsZS1wcm92aWRlci9sb2NhbGUtcHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBR25DLE1BQU0sT0FBTyxxQkFBcUI7Ozs7SUFJaEMsWUFBMEMsTUFBVztRQUY3QyxZQUFPLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBR3ZELElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxDQUFDO0lBQ2xDLENBQUM7Ozs7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQzs7Ozs7SUFFRCxjQUFjLENBQUMsT0FBZTs7Y0FDdEIsT0FBTyxHQUFHLG1CQUFBLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBVTtRQUNwRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQzs7Ozs7SUFFRCxlQUFlLENBQUMsT0FBZTs7Y0FDdkIsT0FBTyxHQUFHLG1CQUFBLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBVTtRQUNwRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs7Ozs7SUFFRCxTQUFTLENBQUMsTUFBVztRQUNuQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEUsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQzs7OztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDeEUsQ0FBQzs7OztJQUVELFNBQVM7UUFDUCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzs7Ozs7OztJQUVPLGNBQWMsQ0FBQyxHQUFXLEVBQUUsSUFBWTs7WUFDMUMsR0FBRyxHQUFHLEdBQUc7O2NBQ1AsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDOztjQUN2QixLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU07O1lBQ3RCLEtBQUssR0FBRyxDQUFDO1FBQ2IsT0FBTyxHQUFHLElBQUksS0FBSyxHQUFHLEtBQUssRUFBRTtZQUMzQixHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3RDLENBQUM7OztZQXRERixVQUFVOzs7OzRDQUtJLE1BQU0sU0FBQyxvQkFBb0I7Ozs7Ozs7SUFIeEMsd0NBQXFCOzs7OztJQUNyQix3Q0FBeUQ7Ozs7Ozs7QUFzRDNELE1BQU0sVUFBVSwrQkFBK0IsQ0FBQyxLQUE0QixFQUFFLE1BQVc7SUFDdkYsT0FBTyxLQUFLLElBQUksSUFBSSxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNwRCxDQUFDOztBQUVELE1BQU0sT0FBTyxnQ0FBZ0MsR0FBYTtJQUN4RCxPQUFPLEVBQUUscUJBQXFCO0lBQzlCLFVBQVUsRUFBRSwrQkFBK0I7SUFDM0MsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUscUJBQXFCLENBQUMsRUFBRSxvQkFBb0IsQ0FBQztDQUN0RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgUHJvdmlkZXIsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTE9DQUxfUFJPVklERVJfVE9LRU4gfSBmcm9tICcuL2xvY2FsZS1wcm92aWRlci50b2tlbic7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB6aF9DTiBmcm9tICcuL2xvY2FsZS96aF9DTic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBMb2NhbGVQcm92aWRlclNlcnZpY2Uge1xuICBwcml2YXRlIF9sb2NhbGU6IGFueTtcbiAgcHJpdmF0ZSBfY2hhbmdlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KHRoaXMuX2xvY2FsZSk7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChMT0NBTF9QUk9WSURFUl9UT0tFTikgbG9jYWxlOiBhbnkpIHtcbiAgICB0aGlzLnNldExvY2FsZShsb2NhbGUgfHwgemhfQ04pO1xuICB9XG5cbiAgZ2V0IGxvY2FsZUNoYW5nZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLl9jaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXRMb2NhbGVWYWx1ZShrZXlQYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLl9nZXRPYmplY3RQYXRoKHRoaXMuX2xvY2FsZSwga2V5UGF0aCkgYXMgc3RyaW5nO1xuICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBnZXRMb2NhbGVTdWJPYmooa2V5UGF0aDogc3RyaW5nKTogb2JqZWN0IHtcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5fZ2V0T2JqZWN0UGF0aCh0aGlzLl9sb2NhbGUsIGtleVBhdGgpIGFzIG9iamVjdDtcbiAgICBpZiAodHlwZW9mIGNvbnRlbnQgPT09ICdvYmplY3QnKSB7XG4gICAgICByZXR1cm4gY29udGVudDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXRMb2NhbGUobG9jYWxlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIWxvY2FsZSB8fCAodGhpcy5fbG9jYWxlICYmIHRoaXMuX2xvY2FsZS5sb2NhbGUgPT09IGxvY2FsZS5sb2NhbGUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2xvY2FsZSA9IGxvY2FsZTtcbiAgICB0aGlzLl9jaGFuZ2UubmV4dChsb2NhbGUpO1xuICB9XG5cbiAgZ2V0TG9jYWxlSWQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fbG9jYWxlICYmIHRoaXMuX2xvY2FsZS5sb2NhbGUgPyB0aGlzLl9sb2NhbGUubG9jYWxlIDogJyc7XG4gIH1cblxuICBnZXRMb2NhbGUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5fbG9jYWxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0T2JqZWN0UGF0aChvYmo6IG9iamVjdCwgcGF0aDogc3RyaW5nKTogc3RyaW5nIHwgb2JqZWN0IHwgYW55IHtcbiAgICBsZXQgcmVzID0gb2JqO1xuICAgIGNvbnN0IHBhdGhzID0gcGF0aC5zcGxpdCgnLicpO1xuICAgIGNvbnN0IGRlcHRoID0gcGF0aHMubGVuZ3RoO1xuICAgIGxldCBpbmRleCA9IDA7XG4gICAgd2hpbGUgKHJlcyAmJiBpbmRleCA8IGRlcHRoKSB7XG4gICAgICByZXMgPSByZXNbcGF0aHNbaW5kZXgrK11dO1xuICAgIH1cbiAgICByZXR1cm4gaW5kZXggPT09IGRlcHRoID8gcmVzIDogbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTE9DQUxFX1BST1ZJREVSX1NFUlZJQ0VfRkFDVE9SWShleGlzdDogTG9jYWxlUHJvdmlkZXJTZXJ2aWNlLCBsb2NhbGU6IGFueSk6IExvY2FsZVByb3ZpZGVyU2VydmljZSB7XG4gIHJldHVybiBleGlzdCB8fCBuZXcgTG9jYWxlUHJvdmlkZXJTZXJ2aWNlKGxvY2FsZSk7XG59XG5cbmV4cG9ydCBjb25zdCBMT0NBTEVfUFJPVklERVJfU0VSVklDRV9QUk9WSURFUjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IExvY2FsZVByb3ZpZGVyU2VydmljZSxcbiAgdXNlRmFjdG9yeTogTE9DQUxFX1BST1ZJREVSX1NFUlZJQ0VfRkFDVE9SWSxcbiAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIExvY2FsZVByb3ZpZGVyU2VydmljZV0sIExPQ0FMX1BST1ZJREVSX1RPS0VOXVxufTtcbiJdfQ==