com.phloxui
Version:
PhloxUI Ng2+ Framework
136 lines (135 loc) • 10.5 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
*/
var AbstractI18NApplicable = /** @class */ (function (_super) {
tslib_1.__extends(AbstractI18NApplicable, _super);
function AbstractI18NApplicable() {
return _super !== null && _super.apply(this, arguments) || this;
}
/**
* @param {?} value
* @return {?}
*/
AbstractI18NApplicable.prototype.applyI18N = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (typeof value === 'undefined') {
return;
}
this.i18nValue = value;
var /** @type {?} */ i18nProxyMap = this['_i18nProxies_'];
if (typeof i18nProxyMap === 'object') {
for (var /** @type {?} */ childKey in i18nProxyMap) {
if (typeof i18nProxyMap[childKey].applyI18N !== 'function') {
continue;
}
// check bypass
var /** @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 {?}
*/
AbstractI18NApplicable.prototype.getI18NKey = /**
* @return {?}
*/
function () {
if (this.i18nKey === null || typeof this.i18nKey === 'undefined' || this.i18nKey === '') {
// lower case first charactor
var /** @type {?} */ className = this.constructor.name;
return className.charAt(0).toLowerCase() + className.slice(1);
}
return this.i18nKey;
};
/**
* @param {?} i18nKey
* @return {?}
*/
AbstractI18NApplicable.prototype.setI18NKey = /**
* @param {?} i18nKey
* @return {?}
*/
function (i18nKey) {
this.i18nKey = i18nKey;
};
/**
* @return {?}
*/
AbstractI18NApplicable.prototype.isBypassKey = /**
* @return {?}
*/
function () {
return this.bypass;
};
/**
* @param {?} bypass
* @return {?}
*/
AbstractI18NApplicable.prototype.setBypassKey = /**
* @param {?} bypass
* @return {?}
*/
function (bypass) {
this.bypass = bypass;
};
/**
* @return {?}
*/
AbstractI18NApplicable.prototype.getI18NValue = /**
* @return {?}
*/
function () {
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);
return AbstractI18NApplicable;
}(AbstractHasOptions));
export { AbstractI18NApplicable };
function AbstractI18NApplicable_tsickle_Closure_declarations() {
/** @type {?} */
AbstractI18NApplicable.prototype.i18nKey;
/** @type {?} */
AbstractI18NApplicable.prototype.bypass;
/** @type {?} */
AbstractI18NApplicable.prototype.i18nValue;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RJMThOQXBwbGljYWJsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3NoYXJlL0Fic3RyYWN0STE4TkFwcGxpY2FibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztJQUVPLGtEQUFrQjs7Ozs7Ozs7SUFROUQsMENBQVM7Ozs7Y0FBQyxLQUFVO1FBQ3pCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7WUFDakMsTUFBTSxDQUFDO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUV2QixxQkFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXpDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sWUFBWSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDckMsR0FBRyxDQUFDLENBQUMscUJBQUksUUFBUSxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUN6RCxRQUFRLENBQUM7aUJBQ1o7O2dCQUdELHFCQUFJLFdBQVcsR0FBWSxLQUFLLENBQUM7Z0JBRWpDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDO29CQUM3RCxXQUFXLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO2lCQUNwRDtnQkFFRCxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO29CQUNoQixZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUN2RDtnQkFBQyxJQUFJLENBQUMsQ0FBQztvQkFDTixFQUFFLENBQUEsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLENBQUEsQ0FBQzt3QkFDakIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztxQkFDdEQ7b0JBQUMsSUFBSSxDQUFDLENBQUM7Ozt3QkFHTixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQy9DLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDekY7d0JBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ04sWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzt5QkFDM0Q7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGOzs7OztJQUdJLDJDQUFVOzs7O1FBQ2YsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7O1lBRXhGLHFCQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUV0QyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Ozs7OztJQUdmLDJDQUFVOzs7O2NBQUMsT0FBZTtRQUMvQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQzs7Ozs7SUFHbEIsNENBQVc7Ozs7UUFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7OztJQUdkLDZDQUFZOzs7O2NBQUMsTUFBZTtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7Ozs7SUFHaEIsNkNBQVk7Ozs7UUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7OztRQXZFdkIsTUFBTSxFQUFFOzs7O1FBRVIsTUFBTSxDQUFDLFlBQVksQ0FBQzs7O2lDQVZ2QjtFQU1xRCxrQkFBa0I7U0FBakQsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJSTE4TkFwcGxpY2FibGUgfSBmcm9tICcuL0lJMThOQXBwbGljYWJsZSc7XG5pbXBvcnQgeyBBYnN0cmFjdEhhc09wdGlvbnMgfSBmcm9tICcuL0Fic3RyYWN0SGFzT3B0aW9ucyc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XG5pbXBvcnQgeyBEYXRhVXRpbHMgfSBmcm9tICcuL3V0aWxzL0RhdGFVdGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdEkxOE5BcHBsaWNhYmxlIGV4dGVuZHMgQWJzdHJhY3RIYXNPcHRpb25zIGltcGxlbWVudHMgSUkxOE5BcHBsaWNhYmxlIHtcblxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGkxOG5LZXk6IHN0cmluZztcbiAgQE9wdGlvbignaTE4bkJ5cGFzcycpXG4gIHByb3RlY3RlZCBieXBhc3M6IGJvb2xlYW47XG4gIHByb3RlY3RlZCBpMThuVmFsdWU6IGFueTtcblxuICBwdWJsaWMgYXBwbHlJMThOKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuaTE4blZhbHVlID0gdmFsdWU7XG5cbiAgICBsZXQgaTE4blByb3h5TWFwID0gdGhpc1snX2kxOG5Qcm94aWVzXyddO1xuXG4gICAgaWYgKHR5cGVvZiBpMThuUHJveHlNYXAgPT09ICdvYmplY3QnKSB7XG4gICAgICBmb3IgKGxldCBjaGlsZEtleSBpbiBpMThuUHJveHlNYXApIHtcbiAgICAgICAgaWYgKHR5cGVvZiBpMThuUHJveHlNYXBbY2hpbGRLZXldLmFwcGx5STE4TiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBjaGVjayBieXBhc3NcbiAgICAgICAgbGV0IGNoaWxkQnlwYXNzOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAgICAgaWYgKHR5cGVvZiBpMThuUHJveHlNYXBbY2hpbGRLZXldLmlzQnlwYXNzS2V5ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgY2hpbGRCeXBhc3MgPSBpMThuUHJveHlNYXBbY2hpbGRLZXldLmlzQnlwYXNzS2V5KCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY2hpbGRCeXBhc3MpIHtcbiAgICAgICAgICBpMThuUHJveHlNYXBbY2hpbGRLZXldLmFwcGx5STE4Ti5hcHBseSh0aGlzLCBbdmFsdWVdKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZih2YWx1ZSA9PT0gbnVsbCl7XG4gICAgICAgICAgICBpMThuUHJveHlNYXBbY2hpbGRLZXldLmFwcGx5STE4Ti5hcHBseSh0aGlzLCBbbnVsbF0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBXZSB1c2UgRGF0YVV0aWxzLmdldERhdGFWYWx1ZSgpIGhlcmUgdG8gc3VwcG9ydCBpMThuS2V5IGluIGRvdCBub3RhdGlvbiAoLikgZm9ybWF0OlxuICAgICAgICAgICAgLy8gZm9vLmJhciAuLi5cbiAgICAgICAgICAgIGlmIChEYXRhVXRpbHMuY29udGFpbnNEYXRhS2V5KGNoaWxkS2V5LCB2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgaTE4blByb3h5TWFwW2NoaWxkS2V5XS5hcHBseUkxOE4uYXBwbHkodGhpcywgW0RhdGFVdGlscy5nZXREYXRhVmFsdWUoY2hpbGRLZXksIHZhbHVlKV0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaTE4blByb3h5TWFwW2NoaWxkS2V5XS5hcHBseUkxOE4uYXBwbHkodGhpcywgW3VuZGVmaW5lZF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXRJMThOS2V5KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaTE4bktleSA9PT0gbnVsbCB8fCB0eXBlb2YgdGhpcy5pMThuS2V5ID09PSAndW5kZWZpbmVkJyB8fCB0aGlzLmkxOG5LZXkgPT09ICcnKSB7XG4gICAgICAvLyBsb3dlciBjYXNlIGZpcnN0IGNoYXJhY3RvclxuICAgICAgbGV0IGNsYXNzTmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcblxuICAgICAgcmV0dXJuIGNsYXNzTmFtZS5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIGNsYXNzTmFtZS5zbGljZSgxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pMThuS2V5O1xuICB9XG5cbiAgcHVibGljIHNldEkxOE5LZXkoaTE4bktleTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5pMThuS2V5ID0gaTE4bktleTtcbiAgfVxuXG4gIHB1YmxpYyBpc0J5cGFzc0tleSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ieXBhc3M7XG4gIH1cblxuICBwdWJsaWMgc2V0QnlwYXNzS2V5KGJ5cGFzczogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuYnlwYXNzID0gYnlwYXNzO1xuICB9XG5cbiAgcHVibGljIGdldEkxOE5WYWx1ZSgpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmkxOG5WYWx1ZTtcbiAgfVxufVxuIl19