ng-zorro-antd-mobile
Version:
An enterprise-class mobile UI components based on Ant Design and Angular
144 lines (143 loc) • 9.65 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,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 './languages/zh_CN';
var LocaleProviderService = /** @class */ (function () {
function LocaleProviderService(locale) {
this._change = new BehaviorSubject(this._locale);
this.setLocale(locale || zh_CN);
}
Object.defineProperty(LocaleProviderService.prototype, "localeChange", {
get: /**
* @return {?}
*/
function () {
return this._change.asObservable();
},
enumerable: true,
configurable: true
});
/**
* @param {?} keyPath
* @return {?}
*/
LocaleProviderService.prototype.getLocaleValue = /**
* @param {?} keyPath
* @return {?}
*/
function (keyPath) {
/** @type {?} */
var content = /** @type {?} */ (this._getObjectPath(this._locale, keyPath));
if (typeof content === 'string') {
return content;
}
return '';
};
/**
* @param {?} keyPath
* @return {?}
*/
LocaleProviderService.prototype.getLocaleSubObj = /**
* @param {?} keyPath
* @return {?}
*/
function (keyPath) {
/** @type {?} */
var content = /** @type {?} */ (this._getObjectPath(this._locale, keyPath));
if (typeof content === 'object') {
return content;
}
return null;
};
/**
* @param {?} locale
* @return {?}
*/
LocaleProviderService.prototype.setLocale = /**
* @param {?} locale
* @return {?}
*/
function (locale) {
if (!locale || (this._locale && this._locale.locale === locale.locale)) {
return;
}
this._locale = locale;
this._change.next(locale);
};
/**
* @return {?}
*/
LocaleProviderService.prototype.getLocaleId = /**
* @return {?}
*/
function () {
return this._locale && this._locale.locale ? this._locale.locale : '';
};
/**
* @return {?}
*/
LocaleProviderService.prototype.getLocale = /**
* @return {?}
*/
function () {
return this._locale;
};
/**
* @param {?} obj
* @param {?} path
* @return {?}
*/
LocaleProviderService.prototype._getObjectPath = /**
* @param {?} obj
* @param {?} path
* @return {?}
*/
function (obj, path) {
/** @type {?} */
var res = obj;
/** @type {?} */
var paths = path.split('.');
/** @type {?} */
var depth = paths.length;
/** @type {?} */
var index = 0;
while (res && index < depth) {
res = res[paths[index++]];
}
return index === depth ? res : null;
};
LocaleProviderService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
LocaleProviderService.ctorParameters = function () { return [
{ type: undefined, decorators: [{ type: Inject, args: [LOCAL_PROVIDER_TOKEN,] }] }
]; };
return LocaleProviderService;
}());
export { LocaleProviderService };
if (false) {
/** @type {?} */
LocaleProviderService.prototype._locale;
/** @type {?} */
LocaleProviderService.prototype._change;
}
/**
* @param {?} exist
* @param {?} locale
* @return {?}
*/
export function LOCALE_PROVIDER_SERVICE_FACTORY(exist, locale) {
return exist || new LocaleProviderService(locale);
}
/** @type {?} */
export var 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLXByb3ZpZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy16b3Jyby1hbnRkLW1vYmlsZS8iLCJzb3VyY2VzIjpbImxvY2FsZS1wcm92aWRlci9sb2NhbGUtcHJvdmlkZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQVksUUFBUSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sS0FBSyxNQUFNLG1CQUFtQixDQUFDOztJQU9wQywrQkFBMEMsTUFBVzt1QkFGbkMsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUd0RCxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsQ0FBQztLQUNqQztJQUVELHNCQUFJLCtDQUFZOzs7O1FBQWhCO1lBQ0UsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3BDOzs7T0FBQTs7Ozs7SUFFRCw4Q0FBYzs7OztJQUFkLFVBQWUsT0FBZTs7UUFDNUIsSUFBTSxPQUFPLHFCQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQVcsRUFBQztRQUNyRSxJQUFJLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRTtZQUMvQixPQUFPLE9BQU8sQ0FBQztTQUNoQjtRQUNELE9BQU8sRUFBRSxDQUFDO0tBQ1g7Ozs7O0lBRUQsK0NBQWU7Ozs7SUFBZixVQUFnQixPQUFlOztRQUM3QixJQUFNLE9BQU8scUJBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBVyxFQUFDO1FBQ3JFLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFO1lBQy9CLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxJQUFJLENBQUM7S0FDYjs7Ozs7SUFFRCx5Q0FBUzs7OztJQUFULFVBQVUsTUFBVztRQUNuQixJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDdEUsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7S0FDM0I7Ozs7SUFFRCwyQ0FBVzs7O0lBQVg7UUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7S0FDdkU7Ozs7SUFFRCx5Q0FBUzs7O0lBQVQ7UUFDRSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7S0FDckI7Ozs7OztJQUVPLDhDQUFjOzs7OztjQUFDLEdBQVcsRUFBRSxJQUFZOztRQUM5QyxJQUFJLEdBQUcsR0FBRyxHQUFHLENBQUM7O1FBQ2QsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQzs7UUFDOUIsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQzs7UUFDM0IsSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDO1FBQ2QsT0FBTyxHQUFHLElBQUksS0FBSyxHQUFHLEtBQUssRUFBRTtZQUMzQixHQUFHLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDM0I7UUFDRCxPQUFPLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDOzs7Z0JBckR2QyxVQUFVOzs7O2dEQUtJLE1BQU0sU0FBQyxvQkFBb0I7O2dDQVYxQzs7U0FNYSxxQkFBcUI7Ozs7Ozs7Ozs7OztBQXdEbEMsTUFBTSwwQ0FBMEMsS0FBNEIsRUFBRSxNQUFXO0lBQ3ZGLE9BQU8sS0FBSyxJQUFJLElBQUkscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7Q0FDbkQ7O0FBRUQsV0FBYSxnQ0FBZ0MsR0FBYTtJQUN4RCxPQUFPLEVBQUsscUJBQXFCO0lBQ2pDLFVBQVUsRUFBRSwrQkFBK0I7SUFDM0MsSUFBSSxFQUFRLENBQUUsQ0FBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUscUJBQXFCLENBQUUsRUFBRSxvQkFBb0IsQ0FBQztDQUMvRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBQcm92aWRlciwgT3B0aW9uYWwsIFNraXBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMT0NBTF9QUk9WSURFUl9UT0tFTiB9IGZyb20gJy4vbG9jYWxlLXByb3ZpZGVyLnRva2VuJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHpoX0NOIGZyb20gJy4vbGFuZ3VhZ2VzL3poX0NOJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIExvY2FsZVByb3ZpZGVyU2VydmljZSB7XG4gIHByaXZhdGUgX2xvY2FsZTogYW55O1xuICBwcml2YXRlIF9jaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4odGhpcy5fbG9jYWxlKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KExPQ0FMX1BST1ZJREVSX1RPS0VOKSBsb2NhbGU6IGFueSkge1xuICAgIHRoaXMuc2V0TG9jYWxlKGxvY2FsZSB8fCB6aF9DTik7XG4gIH1cblxuICBnZXQgbG9jYWxlQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGdldExvY2FsZVZhbHVlKGtleVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuX2dldE9iamVjdFBhdGgodGhpcy5fbG9jYWxlLCBrZXlQYXRoKSBhcyBzdHJpbmc7XG4gICAgaWYgKHR5cGVvZiBjb250ZW50ID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGdldExvY2FsZVN1Yk9iaihrZXlQYXRoOiBzdHJpbmcpOiBvYmplY3Qge1xuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLl9nZXRPYmplY3RQYXRoKHRoaXMuX2xvY2FsZSwga2V5UGF0aCkgYXMgb2JqZWN0O1xuICAgIGlmICh0eXBlb2YgY29udGVudCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBjb250ZW50O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHNldExvY2FsZShsb2NhbGU6IGFueSk6IHZvaWQge1xuICAgIGlmICghbG9jYWxlIHx8ICh0aGlzLl9sb2NhbGUgJiYgdGhpcy5fbG9jYWxlLmxvY2FsZSA9PT0gbG9jYWxlLmxvY2FsZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fbG9jYWxlID0gbG9jYWxlO1xuICAgIHRoaXMuX2NoYW5nZS5uZXh0KGxvY2FsZSk7XG4gIH1cblxuICBnZXRMb2NhbGVJZCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbGUgJiYgdGhpcy5fbG9jYWxlLmxvY2FsZSA/IHRoaXMuX2xvY2FsZS5sb2NhbGUgOiAnJztcbiAgfVxuXG4gIGdldExvY2FsZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gIH1cblxuICBwcml2YXRlIF9nZXRPYmplY3RQYXRoKG9iajogb2JqZWN0LCBwYXRoOiBzdHJpbmcpOiBzdHJpbmcgfCBvYmplY3QgfCBhbnkge1xuICAgIGxldCByZXMgPSBvYmo7XG4gICAgY29uc3QgcGF0aHMgPSBwYXRoLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgZGVwdGggPSBwYXRocy5sZW5ndGg7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICB3aGlsZSAocmVzICYmIGluZGV4IDwgZGVwdGgpIHtcbiAgICAgIHJlcyA9IHJlc1twYXRoc1tpbmRleCsrXV07XG4gICAgfVxuICAgIHJldHVybiBpbmRleCA9PT0gZGVwdGggPyByZXMgOiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBMT0NBTEVfUFJPVklERVJfU0VSVklDRV9GQUNUT1JZKGV4aXN0OiBMb2NhbGVQcm92aWRlclNlcnZpY2UsIGxvY2FsZTogYW55KTogTG9jYWxlUHJvdmlkZXJTZXJ2aWNlIHtcbiAgcmV0dXJuIGV4aXN0IHx8IG5ldyBMb2NhbGVQcm92aWRlclNlcnZpY2UobG9jYWxlKTtcbn1cblxuZXhwb3J0IGNvbnN0IExPQ0FMRV9QUk9WSURFUl9TRVJWSUNFX1BST1ZJREVSOiBQcm92aWRlciA9IHtcbiAgcHJvdmlkZSAgIDogTG9jYWxlUHJvdmlkZXJTZXJ2aWNlLFxuICB1c2VGYWN0b3J5OiBMT0NBTEVfUFJPVklERVJfU0VSVklDRV9GQUNUT1JZLFxuICBkZXBzICAgICAgOiBbIFsgbmV3IE9wdGlvbmFsKCksIG5ldyBTa2lwU2VsZigpLCBMb2NhbGVQcm92aWRlclNlcnZpY2UgXSwgTE9DQUxfUFJPVklERVJfVE9LRU5dXG59O1xuIl19