UNPKG

com.phloxui

Version:

PhloxUI Ng2+ Framework

109 lines (108 loc) 9.58 kB
/** * @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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWJzdHJhY3RJMThOQXBwbGljYWJsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3NoYXJlL0Fic3RyYWN0STE4TkFwcGxpY2FibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7O0FBRTlDLE1BQU0sNkJBQXVDLFNBQVEsa0JBQWtCOzs7OztJQVE5RCxTQUFTLENBQUMsS0FBVTtRQUN6QixFQUFFLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQ2pDLE1BQU0sQ0FBQztTQUNSO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFFdkIscUJBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUV6QyxFQUFFLENBQUMsQ0FBQyxPQUFPLFlBQVksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3JDLEdBQUcsQ0FBQyxDQUFDLHFCQUFJLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUNsQyxFQUFFLENBQUMsQ0FBQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDekQsUUFBUSxDQUFDO2lCQUNaOztnQkFHRCxxQkFBSSxXQUFXLEdBQVksS0FBSyxDQUFDO2dCQUVqQyxFQUFFLENBQUMsQ0FBQyxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQztvQkFDN0QsV0FBVyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDcEQ7Z0JBRUQsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztvQkFDaEIsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDdkQ7Z0JBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ04sRUFBRSxDQUFBLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxDQUFBLENBQUM7d0JBQ2pCLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7cUJBQ3REO29CQUFDLElBQUksQ0FBQyxDQUFDOzs7d0JBR04sRUFBRSxDQUFDLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUMvQyxZQUFZLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ3pGO3dCQUFDLElBQUksQ0FBQyxDQUFDOzRCQUNOLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7eUJBQzNEO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjs7Ozs7SUFHSSxVQUFVO1FBQ2YsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7O1lBRXhGLHFCQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUV0QyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQy9EO1FBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7Ozs7OztJQUdmLFVBQVUsQ0FBQyxPQUFlO1FBQy9CLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDOzs7OztJQUdsQixXQUFXO1FBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7Ozs7SUFHZCxZQUFZLENBQUMsTUFBZTtRQUNqQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQzs7Ozs7SUFHaEIsWUFBWTtRQUNqQixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQzs7Q0FFekI7O0lBekVFLE1BQU0sRUFBRTs7OztJQUVSLE1BQU0sQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElJMThOQXBwbGljYWJsZSB9IGZyb20gJy4vSUkxOE5BcHBsaWNhYmxlJztcbmltcG9ydCB7IEFic3RyYWN0SGFzT3B0aW9ucyB9IGZyb20gJy4vQWJzdHJhY3RIYXNPcHRpb25zJztcbmltcG9ydCB7IE9wdGlvbiB9IGZyb20gJy4uL2RlY29yYXRvci9PcHRpb24uZGVjb3JhdG9yJztcbmltcG9ydCB7IERhdGFVdGlscyB9IGZyb20gJy4vdXRpbHMvRGF0YVV0aWxzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0STE4TkFwcGxpY2FibGUgZXh0ZW5kcyBBYnN0cmFjdEhhc09wdGlvbnMgaW1wbGVtZW50cyBJSTE4TkFwcGxpY2FibGUge1xuXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgaTE4bktleTogc3RyaW5nO1xuICBAT3B0aW9uKCdpMThuQnlwYXNzJylcbiAgcHJvdGVjdGVkIGJ5cGFzczogYm9vbGVhbjtcbiAgcHJvdGVjdGVkIGkxOG5WYWx1ZTogYW55O1xuXG4gIHB1YmxpYyBhcHBseUkxOE4odmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pMThuVmFsdWUgPSB2YWx1ZTtcblxuICAgIGxldCBpMThuUHJveHlNYXAgPSB0aGlzWydfaTE4blByb3hpZXNfJ107XG5cbiAgICBpZiAodHlwZW9mIGkxOG5Qcm94eU1hcCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIGZvciAobGV0IGNoaWxkS2V5IGluIGkxOG5Qcm94eU1hcCkge1xuICAgICAgICBpZiAodHlwZW9mIGkxOG5Qcm94eU1hcFtjaGlsZEtleV0uYXBwbHlJMThOICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNoZWNrIGJ5cGFzc1xuICAgICAgICBsZXQgY2hpbGRCeXBhc3M6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgICAgICBpZiAodHlwZW9mIGkxOG5Qcm94eU1hcFtjaGlsZEtleV0uaXNCeXBhc3NLZXkgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBjaGlsZEJ5cGFzcyA9IGkxOG5Qcm94eU1hcFtjaGlsZEtleV0uaXNCeXBhc3NLZXkoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChjaGlsZEJ5cGFzcykge1xuICAgICAgICAgIGkxOG5Qcm94eU1hcFtjaGlsZEtleV0uYXBwbHlJMThOLmFwcGx5KHRoaXMsIFt2YWx1ZV0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmKHZhbHVlID09PSBudWxsKXtcbiAgICAgICAgICAgIGkxOG5Qcm94eU1hcFtjaGlsZEtleV0uYXBwbHlJMThOLmFwcGx5KHRoaXMsIFtudWxsXSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFdlIHVzZSBEYXRhVXRpbHMuZ2V0RGF0YVZhbHVlKCkgaGVyZSB0byBzdXBwb3J0IGkxOG5LZXkgaW4gZG90IG5vdGF0aW9uICguKSBmb3JtYXQ6XG4gICAgICAgICAgICAvLyBmb28uYmFyIC4uLlxuICAgICAgICAgICAgaWYgKERhdGFVdGlscy5jb250YWluc0RhdGFLZXkoY2hpbGRLZXksIHZhbHVlKSkge1xuICAgICAgICAgICAgICBpMThuUHJveHlNYXBbY2hpbGRLZXldLmFwcGx5STE4Ti5hcHBseSh0aGlzLCBbRGF0YVV0aWxzLmdldERhdGFWYWx1ZShjaGlsZEtleSwgdmFsdWUpXSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpMThuUHJveHlNYXBbY2hpbGRLZXldLmFwcGx5STE4Ti5hcHBseSh0aGlzLCBbdW5kZWZpbmVkXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEkxOE5LZXkoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pMThuS2V5ID09PSBudWxsIHx8IHR5cGVvZiB0aGlzLmkxOG5LZXkgPT09ICd1bmRlZmluZWQnIHx8IHRoaXMuaTE4bktleSA9PT0gJycpIHtcbiAgICAgIC8vIGxvd2VyIGNhc2UgZmlyc3QgY2hhcmFjdG9yXG4gICAgICBsZXQgY2xhc3NOYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuXG4gICAgICByZXR1cm4gY2xhc3NOYW1lLmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsgY2xhc3NOYW1lLnNsaWNlKDEpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmkxOG5LZXk7XG4gIH1cblxuICBwdWJsaWMgc2V0STE4TktleShpMThuS2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmkxOG5LZXkgPSBpMThuS2V5O1xuICB9XG5cbiAgcHVibGljIGlzQnlwYXNzS2V5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmJ5cGFzcztcbiAgfVxuXG4gIHB1YmxpYyBzZXRCeXBhc3NLZXkoYnlwYXNzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5ieXBhc3MgPSBieXBhc3M7XG4gIH1cblxuICBwdWJsaWMgZ2V0STE4TlZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuaTE4blZhbHVlO1xuICB9XG59XG4iXX0=