@duoduo-oba/ng-devui
Version:
DevUI components based on Angular
132 lines • 11.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: i18n.format.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { formatDate, getLocaleId } from '@angular/common';
import { I18nUtil } from './i18n.util';
export class I18nFormat {
// 通过get方法来做业务没有指定locale的时候fallback
/**
* @private
* @param {?} locale
* @return {?}
*/
static getLocaleAndLang(locale) {
/** @type {?} */
const currentLanguage = I18nUtil.getCurrentLanguage();
/** @type {?} */
let localeId;
try {
// 通过get方法来判断是否存在locale
getLocaleId(locale);
localeId = (locale || I18nFormat.DEFAULT_LOCALE).toLocaleLowerCase();
}
catch (error) {
localeId = I18nFormat.DEFAULT_LOCALE;
}
return { localeId, currentLanguage };
}
// 短格式:y/MM/dd
/**
* @param {?} value
* @param {?=} format
* @param {?=} locale
* @param {?=} timezone
* @return {?}
*/
static formatDate(value, format, locale, timezone) {
/** @type {?} */
const localeLang = I18nFormat.getLocaleAndLang(locale);
/** @type {?} */
const formatStr = format ? format : I18nFormat.localFormat[localeLang.currentLanguage].short;
return formatDate(value, formatStr, localeLang.localeId, timezone);
}
// 完整格式:y/MM/dd hh:mm:ss zzzz
/**
* @param {?} value
* @param {?=} format
* @param {?=} locale
* @param {?=} timezone
* @return {?}
*/
static formatDateTime(value, format, locale, timezone) {
/** @type {?} */
const localeLang = I18nFormat.getLocaleAndLang(locale);
/** @type {?} */
const formatStr = format ? format : I18nFormat.localFormat[localeLang.currentLanguage].full;
return formatDate(value, formatStr, localeLang.localeId, timezone);
}
// 完整格式不加GMT:y/MM/dd hh:mm:ss
/**
* @param {?} value
* @param {?=} format
* @param {?=} locale
* @param {?=} timezone
* @return {?}
*/
static formatDateTimeWithoutGMT(value, format, locale, timezone) {
/** @type {?} */
const localeLang = I18nFormat.getLocaleAndLang(locale);
// 非用户传入的format,就替换掉完整的格式化字符中中GMT信息
/** @type {?} */
const formatStr = format ? format : (I18nFormat.localFormat[localeLang.currentLanguage].full).replace(' zzzz', '');
return formatDate(value, formatStr, localeLang.localeId, timezone);
}
}
// 默认locale使用英文,因为angular默认只支持英文,其他的需要显示注册
I18nFormat.DEFAULT_LOCALE = 'en-us';
I18nFormat.DATETIME_FORMAT_EN = 'MMM dd, y HH:mm:ss zzzz';
I18nFormat.DATETIME_FORMAT_ZH = 'y/MM/dd HH:mm:ss zzzz';
I18nFormat.DATETIME_FORMAT_RU = 'dd.MM.y HH:mm:ss zzzz';
I18nFormat.DATE_FORMAT_EN = 'MMM dd, y';
I18nFormat.DATE_FORMAT_ZH = 'y/MM/dd';
I18nFormat.DATE_FORMAT_RU = 'dd.MM.y';
I18nFormat.localFormat = {
'zh-cn': { full: I18nFormat.DATETIME_FORMAT_ZH, short: I18nFormat.DATE_FORMAT_ZH },
'en-us': { full: I18nFormat.DATETIME_FORMAT_EN, short: I18nFormat.DATE_FORMAT_EN },
'ru-ru': { full: I18nFormat.DATETIME_FORMAT_RU, short: I18nFormat.DATE_FORMAT_RU }
};
if (false) {
/**
* @type {?}
* @private
*/
I18nFormat.DEFAULT_LOCALE;
/**
* @type {?}
* @private
*/
I18nFormat.DATETIME_FORMAT_EN;
/**
* @type {?}
* @private
*/
I18nFormat.DATETIME_FORMAT_ZH;
/**
* @type {?}
* @private
*/
I18nFormat.DATETIME_FORMAT_RU;
/**
* @type {?}
* @private
*/
I18nFormat.DATE_FORMAT_EN;
/**
* @type {?}
* @private
*/
I18nFormat.DATE_FORMAT_ZH;
/**
* @type {?}
* @private
*/
I18nFormat.DATE_FORMAT_RU;
/**
* @type {?}
* @private
*/
I18nFormat.localFormat;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaTE4bi5mb3JtYXQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1kZXZ1aS9pMThuLyIsInNvdXJjZXMiOlsiaTE4bi5mb3JtYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsTUFBTSxPQUFPLFVBQVU7Ozs7Ozs7SUFrQmIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU07O2NBQzlCLGVBQWUsR0FBRyxRQUFRLENBQUMsa0JBQWtCLEVBQUU7O1lBQ2pELFFBQVE7UUFDWixJQUFJO1lBQ0YsdUJBQXVCO1lBQ3ZCLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNwQixRQUFRLEdBQUcsQ0FBQyxNQUFNLElBQUksVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDdEU7UUFBQyxPQUFPLEtBQUssRUFBRTtZQUNkLFFBQVEsR0FBRyxVQUFVLENBQUMsY0FBYyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxFQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUMsQ0FBQztJQUNyQyxDQUFDOzs7Ozs7Ozs7SUFHTSxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQTZCLEVBQUUsTUFBZSxFQUFFLE1BQWUsRUFBRSxRQUFpQjs7Y0FDbkcsVUFBVSxHQUFHLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUM7O2NBQ2hELFNBQVMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSztRQUM1RixPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckUsQ0FBQzs7Ozs7Ozs7O0lBR00sTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUE2QixFQUFFLE1BQWUsRUFBRSxNQUFlLEVBQUUsUUFBaUI7O2NBQ3ZHLFVBQVUsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDOztjQUNoRCxTQUFTLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUk7UUFDM0YsT0FBTyxVQUFVLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Ozs7Ozs7OztJQUdNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxLQUE2QixFQUFFLE1BQWUsRUFBRSxNQUFlLEVBQUUsUUFBaUI7O2NBQ2pILFVBQVUsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDOzs7Y0FFaEQsU0FBUyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDO1FBQ2xILE9BQU8sVUFBVSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRSxDQUFDOzs7QUFqRHVCLHlCQUFjLEdBQUcsT0FBTyxDQUFDO0FBQ3pCLDZCQUFrQixHQUFHLHlCQUF5QixDQUFDO0FBQy9DLDZCQUFrQixHQUFHLHVCQUF1QixDQUFDO0FBQzdDLDZCQUFrQixHQUFHLHVCQUF1QixDQUFDO0FBQzdDLHlCQUFjLEdBQUcsV0FBVyxDQUFDO0FBQzdCLHlCQUFjLEdBQUcsU0FBUyxDQUFDO0FBQzNCLHlCQUFjLEdBQUcsU0FBUyxDQUFDO0FBRzNCLHNCQUFXLEdBQUc7SUFDcEMsT0FBTyxFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLGNBQWMsRUFBQztJQUNoRixPQUFPLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixFQUFFLEtBQUssRUFBRSxVQUFVLENBQUMsY0FBYyxFQUFDO0lBQ2hGLE9BQU8sRUFBRSxFQUFDLElBQUksRUFBRSxVQUFVLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxFQUFFLFVBQVUsQ0FBQyxjQUFjLEVBQUM7Q0FDakYsQ0FBQzs7Ozs7O0lBYkYsMEJBQWlEOzs7OztJQUNqRCw4QkFBdUU7Ozs7O0lBQ3ZFLDhCQUFxRTs7Ozs7SUFDckUsOEJBQXFFOzs7OztJQUNyRSwwQkFBcUQ7Ozs7O0lBQ3JELDBCQUFtRDs7Ozs7SUFDbkQsMEJBQW1EOzs7OztJQUduRCx1QkFJRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcm1hdERhdGUsIGdldExvY2FsZUlkIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgSTE4blV0aWwgfSBmcm9tICcuL2kxOG4udXRpbCc7XHJcblxyXG5leHBvcnQgY2xhc3MgSTE4bkZvcm1hdCB7XHJcbiAgLy8g6buY6K6kbG9jYWxl5L2/55So6Iux5paH77yM5Zug5Li6YW5ndWxhcum7mOiupOWPquaUr+aMgeiLseaWh++8jOWFtuS7lueahOmcgOimgeaYvuekuuazqOWGjFxyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERFRkFVTFRfTE9DQUxFID0gJ2VuLXVzJztcclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBEQVRFVElNRV9GT1JNQVRfRU4gPSAnTU1NIGRkLCB5IEhIOm1tOnNzIHp6enonO1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERBVEVUSU1FX0ZPUk1BVF9aSCA9ICd5L01NL2RkIEhIOm1tOnNzIHp6enonO1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERBVEVUSU1FX0ZPUk1BVF9SVSA9ICdkZC5NTS55IEhIOm1tOnNzIHp6enonO1xyXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERBVEVfRk9STUFUX0VOID0gJ01NTSBkZCwgeSc7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREFURV9GT1JNQVRfWkggPSAneS9NTS9kZCc7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgREFURV9GT1JNQVRfUlUgPSAnZGQuTU0ueSc7XHJcblxyXG5cclxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBsb2NhbEZvcm1hdCA9IHtcclxuICAgICd6aC1jbic6IHtmdWxsOiBJMThuRm9ybWF0LkRBVEVUSU1FX0ZPUk1BVF9aSCwgc2hvcnQ6IEkxOG5Gb3JtYXQuREFURV9GT1JNQVRfWkh9LFxyXG4gICAgJ2VuLXVzJzoge2Z1bGw6IEkxOG5Gb3JtYXQuREFURVRJTUVfRk9STUFUX0VOLCBzaG9ydDogSTE4bkZvcm1hdC5EQVRFX0ZPUk1BVF9FTn0sXHJcbiAgICAncnUtcnUnOiB7ZnVsbDogSTE4bkZvcm1hdC5EQVRFVElNRV9GT1JNQVRfUlUsIHNob3J0OiBJMThuRm9ybWF0LkRBVEVfRk9STUFUX1JVfVxyXG4gIH07XHJcblxyXG4gIC8vIOmAmui/h2dldOaWueazleadpeWBmuS4muWKoeayoeacieaMh+WummxvY2FsZeeahOaXtuWAmWZhbGxiYWNrXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0TG9jYWxlQW5kTGFuZyhsb2NhbGUpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRMYW5ndWFnZSA9IEkxOG5VdGlsLmdldEN1cnJlbnRMYW5ndWFnZSgpO1xyXG4gICAgbGV0IGxvY2FsZUlkO1xyXG4gICAgdHJ5IHtcclxuICAgICAgLy8g6YCa6L+HZ2V05pa55rOV5p2l5Yik5pat5piv5ZCm5a2Y5ZyobG9jYWxlXHJcbiAgICAgIGdldExvY2FsZUlkKGxvY2FsZSk7XHJcbiAgICAgIGxvY2FsZUlkID0gKGxvY2FsZSB8fCBJMThuRm9ybWF0LkRFRkFVTFRfTE9DQUxFKS50b0xvY2FsZUxvd2VyQ2FzZSgpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgbG9jYWxlSWQgPSBJMThuRm9ybWF0LkRFRkFVTFRfTE9DQUxFO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHtsb2NhbGVJZCwgY3VycmVudExhbmd1YWdlfTtcclxuICB9XHJcblxyXG4gIC8vIOefreagvOW8j++8mnkvTU0vZGRcclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdERhdGUodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUsIGZvcm1hdD86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nLCB0aW1lem9uZT86IHN0cmluZykge1xyXG4gICAgY29uc3QgbG9jYWxlTGFuZyA9IEkxOG5Gb3JtYXQuZ2V0TG9jYWxlQW5kTGFuZyhsb2NhbGUpO1xyXG4gICAgY29uc3QgZm9ybWF0U3RyID0gZm9ybWF0ID8gZm9ybWF0IDogSTE4bkZvcm1hdC5sb2NhbEZvcm1hdFtsb2NhbGVMYW5nLmN1cnJlbnRMYW5ndWFnZV0uc2hvcnQ7XHJcbiAgICByZXR1cm4gZm9ybWF0RGF0ZSh2YWx1ZSwgZm9ybWF0U3RyLCBsb2NhbGVMYW5nLmxvY2FsZUlkLCB0aW1lem9uZSk7XHJcbiAgfVxyXG5cclxuICAvLyDlrozmlbTmoLzlvI/vvJp5L01NL2RkIGhoOm1tOnNzIHp6enpcclxuICBwdWJsaWMgc3RhdGljIGZvcm1hdERhdGVUaW1lKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlLCBmb3JtYXQ/OiBzdHJpbmcsIGxvY2FsZT86IHN0cmluZywgdGltZXpvbmU/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGxvY2FsZUxhbmcgPSBJMThuRm9ybWF0LmdldExvY2FsZUFuZExhbmcobG9jYWxlKTtcclxuICAgIGNvbnN0IGZvcm1hdFN0ciA9IGZvcm1hdCA/IGZvcm1hdCA6IEkxOG5Gb3JtYXQubG9jYWxGb3JtYXRbbG9jYWxlTGFuZy5jdXJyZW50TGFuZ3VhZ2VdLmZ1bGw7XHJcbiAgICByZXR1cm4gZm9ybWF0RGF0ZSh2YWx1ZSwgZm9ybWF0U3RyLCBsb2NhbGVMYW5nLmxvY2FsZUlkLCB0aW1lem9uZSk7XHJcbiAgfVxyXG5cclxuICAvLyDlrozmlbTmoLzlvI/kuI3liqBHTVTvvJp5L01NL2RkIGhoOm1tOnNzXHJcbiAgcHVibGljIHN0YXRpYyBmb3JtYXREYXRlVGltZVdpdGhvdXRHTVQodmFsdWU6IHN0cmluZyB8IG51bWJlciB8IERhdGUsIGZvcm1hdD86IHN0cmluZywgbG9jYWxlPzogc3RyaW5nLCB0aW1lem9uZT86IHN0cmluZykge1xyXG4gICAgY29uc3QgbG9jYWxlTGFuZyA9IEkxOG5Gb3JtYXQuZ2V0TG9jYWxlQW5kTGFuZyhsb2NhbGUpO1xyXG4gICAgLy8g6Z2e55So5oi35Lyg5YWl55qEZm9ybWF077yM5bCx5pu/5o2i5o6J5a6M5pW055qE5qC85byP5YyW5a2X56ym5Lit5LitR01U5L+h5oGvXHJcbiAgICBjb25zdCBmb3JtYXRTdHIgPSBmb3JtYXQgPyBmb3JtYXQgOiAoSTE4bkZvcm1hdC5sb2NhbEZvcm1hdFtsb2NhbGVMYW5nLmN1cnJlbnRMYW5ndWFnZV0uZnVsbCkucmVwbGFjZSgnIHp6enonLCAnJyk7XHJcbiAgICByZXR1cm4gZm9ybWF0RGF0ZSh2YWx1ZSwgZm9ybWF0U3RyLCBsb2NhbGVMYW5nLmxvY2FsZUlkLCB0aW1lem9uZSk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=