com.phloxui
Version:
PhloxUI Ng2+ Framework
109 lines (108 loc) • 9.57 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { AbstractHasOptions } from './AbstractHasOptions';
import { Option } from './decorator/Option.decorator';
import { DataUtils } from './utils/DataUtils';
/**
* @abstract
*/
export class AbstractI18NApplicable extends AbstractHasOptions {
/**
* @param {?} value
* @return {?}
*/
applyI18N(value) {
if (typeof value === 'undefined') {
return;
}
this.i18nValue = value;
let /** @type {?} */ i18nProxyMap = this['_i18nProxies_'];
if (typeof i18nProxyMap === 'object') {
for (let /** @type {?} */ childKey in i18nProxyMap) {
if (typeof i18nProxyMap[childKey].applyI18N !== 'function') {
continue;
}
// check bypass
let /** @type {?} */ childBypass = false;
if (typeof i18nProxyMap[childKey].isBypassKey === 'function') {
childBypass = i18nProxyMap[childKey].isBypassKey();
}
if (childBypass) {
i18nProxyMap[childKey].applyI18N.apply(this, [value]);
}
else {
if (value === null) {
i18nProxyMap[childKey].applyI18N.apply(this, [null]);
}
else {
// We use DataUtils.getDataValue() here to support i18nKey in dot notation (.) format:
// foo.bar ...
if (DataUtils.containsDataKey(childKey, value)) {
i18nProxyMap[childKey].applyI18N.apply(this, [DataUtils.getDataValue(childKey, value)]);
}
else {
i18nProxyMap[childKey].applyI18N.apply(this, [undefined]);
}
}
}
}
}
}
/**
* @return {?}
*/
getI18NKey() {
if (this.i18nKey === null || typeof this.i18nKey === 'undefined' || this.i18nKey === '') {
// lower case first charactor
let /** @type {?} */ className = this.constructor.name;
return className.charAt(0).toLowerCase() + className.slice(1);
}
return this.i18nKey;
}
/**
* @param {?} i18nKey
* @return {?}
*/
setI18NKey(i18nKey) {
this.i18nKey = i18nKey;
}
/**
* @return {?}
*/
isBypassKey() {
return this.bypass;
}
/**
* @param {?} bypass
* @return {?}
*/
setBypassKey(bypass) {
this.bypass = bypass;
}
/**
* @return {?}
*/
getI18NValue() {
return this.i18nValue;
}
}
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], AbstractI18NApplicable.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], AbstractI18NApplicable.prototype, "bypass", void 0);
function AbstractI18NApplicable_tsickle_Closure_declarations() {
/** @type {?} */
AbstractI18NApplicable.prototype.i18nKey;
/** @type {?} */
AbstractI18NApplicable.prototype.bypass;
/** @type {?} */
AbstractI18NApplicable.prototype.i18nValue;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RJMThOQXBwbGljYWJsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL0Fic3RyYWN0STE4TkFwcGxpY2FibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBRTlDLE1BQU0sNkJBQXVDLFNBQVEsa0JBQWtCOzs7OztJQVE5RCxTQUFTLENBQUMsS0FBVTtRQUN6QixFQUFFLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sQ0FBQztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIscUJBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV6QyxFQUFFLENBQUMsQ0FBQyxPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLEdBQUcsQ0FBQyxDQUFDLHFCQUFJLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUNsQyxFQUFFLENBQUMsQ0FBQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDekQsUUFBUSxDQUFDO2lCQUNaOztnQkFHRCxxQkFBSSxXQUFXLEdBQVksS0FBSyxDQUFDO2dCQUVqQyxFQUFFLENBQUMsQ0FBQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDN0QsV0FBVyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDcEQ7Z0JBRUQsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDaEIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDdkQ7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ04sRUFBRSxDQUFBLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFBLENBQUM7d0JBQ2pCLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7cUJBQ3REO29CQUFDLElBQUksQ0FBQyxDQUFDOzs7d0JBR04sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUMvQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3pGO3dCQUFDLElBQUksQ0FBQyxDQUFDOzRCQUNOLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7eUJBQzNEO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjs7Ozs7SUFHSSxVQUFVO1FBQ2YsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7O1lBRXhGLHFCQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUV0QyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Ozs7OztJQUdmLFVBQVUsQ0FBQyxPQUFlO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDOzs7OztJQUdsQixXQUFXO1FBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7SUFHZCxZQUFZLENBQUMsTUFBZTtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7Ozs7SUFHaEIsWUFBWTtRQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzs7Q0FFekI7O0lBekVFLE1BQU0sRUFBRTs7OztJQUVSLE1BQU0sQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElJMThOQXBwbGljYWJsZSB9IGZyb20gJy4vSUkxOE5BcHBsaWNhYmxlJztcbmltcG9ydCB7IEFic3RyYWN0SGFzT3B0aW9ucyB9IGZyb20gJy4vQWJzdHJhY3RIYXNPcHRpb25zJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4vZGVjb3JhdG9yL09wdGlvbi5kZWNvcmF0b3InO1xuaW1wb3J0IHsgRGF0YVV0aWxzIH0gZnJvbSAnLi91dGlscy9EYXRhVXRpbHMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RJMThOQXBwbGljYWJsZSBleHRlbmRzIEFic3RyYWN0SGFzT3B0aW9ucyBpbXBsZW1lbnRzIElJMThOQXBwbGljYWJsZSB7XG5cbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpMThuS2V5OiBzdHJpbmc7XG4gIEBPcHRpb24oJ2kxOG5CeXBhc3MnKVxuICBwcm90ZWN0ZWQgYnlwYXNzOiBib29sZWFuO1xuICBwcm90ZWN0ZWQgaTE4blZhbHVlOiBhbnk7XG5cbiAgcHVibGljIGFwcGx5STE4Tih2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmkxOG5WYWx1ZSA9IHZhbHVlO1xuXG4gICAgbGV0IGkxOG5Qcm94eU1hcCA9IHRoaXNbJ19pMThuUHJveGllc18nXTtcblxuICAgIGlmICh0eXBlb2YgaTE4blByb3h5TWFwID09PSAnb2JqZWN0Jykge1xuICAgICAgZm9yIChsZXQgY2hpbGRLZXkgaW4gaTE4blByb3h5TWFwKSB7XG4gICAgICAgIGlmICh0eXBlb2YgaTE4blByb3h5TWFwW2NoaWxkS2V5XS5hcHBseUkxOE4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gY2hlY2sgYnlwYXNzXG4gICAgICAgIGxldCBjaGlsZEJ5cGFzczogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgICAgIGlmICh0eXBlb2YgaTE4blByb3h5TWFwW2NoaWxkS2V5XS5pc0J5cGFzc0tleSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIGNoaWxkQnlwYXNzID0gaTE4blByb3h5TWFwW2NoaWxkS2V5XS5pc0J5cGFzc0tleSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNoaWxkQnlwYXNzKSB7XG4gICAgICAgICAgaTE4blByb3h5TWFwW2NoaWxkS2V5XS5hcHBseUkxOE4uYXBwbHkodGhpcywgW3ZhbHVlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYodmFsdWUgPT09IG51bGwpe1xuICAgICAgICAgICAgaTE4blByb3h5TWFwW2NoaWxkS2V5XS5hcHBseUkxOE4uYXBwbHkodGhpcywgW251bGxdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gV2UgdXNlIERhdGFVdGlscy5nZXREYXRhVmFsdWUoKSBoZXJlIHRvIHN1cHBvcnQgaTE4bktleSBpbiBkb3Qgbm90YXRpb24gKC4pIGZvcm1hdDpcbiAgICAgICAgICAgIC8vIGZvby5iYXIgLi4uXG4gICAgICAgICAgICBpZiAoRGF0YVV0aWxzLmNvbnRhaW5zRGF0YUtleShjaGlsZEtleSwgdmFsdWUpKSB7XG4gICAgICAgICAgICAgIGkxOG5Qcm94eU1hcFtjaGlsZEtleV0uYXBwbHlJMThOLmFwcGx5KHRoaXMsIFtEYXRhVXRpbHMuZ2V0RGF0YVZhbHVlKGNoaWxkS2V5LCB2YWx1ZSldKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGkxOG5Qcm94eU1hcFtjaGlsZEtleV0uYXBwbHlJMThOLmFwcGx5KHRoaXMsIFt1bmRlZmluZWRdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0STE4TktleSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmkxOG5LZXkgPT09IG51bGwgfHwgdHlwZW9mIHRoaXMuaTE4bktleSA9PT0gJ3VuZGVmaW5lZCcgfHwgdGhpcy5pMThuS2V5ID09PSAnJykge1xuICAgICAgLy8gbG93ZXIgY2FzZSBmaXJzdCBjaGFyYWN0b3JcbiAgICAgIGxldCBjbGFzc05hbWUgPSB0aGlzLmNvbnN0cnVjdG9yLm5hbWU7XG5cbiAgICAgIHJldHVybiBjbGFzc05hbWUuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkgKyBjbGFzc05hbWUuc2xpY2UoMSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaTE4bktleTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRJMThOS2V5KGkxOG5LZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuaTE4bktleSA9IGkxOG5LZXk7XG4gIH1cblxuICBwdWJsaWMgaXNCeXBhc3NLZXkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuYnlwYXNzO1xuICB9XG5cbiAgcHVibGljIHNldEJ5cGFzc0tleShieXBhc3M6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmJ5cGFzcyA9IGJ5cGFzcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRJMThOVmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5pMThuVmFsdWU7XG4gIH1cbn1cbiJdfQ==