UNPKG

angular-l10n

Version:

An Angular library to translate messages, dates and numbers

127 lines 3.71 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Directive, ElementRef, Input, Renderer2 } from '@angular/core'; import { takeUntil } from 'rxjs/operators'; import { TranslationService } from '../services/translation.service'; import { BaseDirective } from '../models/base-directive'; var TranslateDirective = /** @class */ (function (_super) { tslib_1.__extends(TranslateDirective, _super); function TranslateDirective(translation, el, renderer) { var _this = _super.call(this, el, renderer) || this; _this.translation = translation; _this.el = el; _this.renderer = renderer; return _this; } Object.defineProperty(TranslateDirective.prototype, "l10nTranslate", { set: /** * @param {?} params * @return {?} */ function (params) { this.params = params; }, enumerable: true, configurable: true }); Object.defineProperty(TranslateDirective.prototype, "translate", { set: /** * @param {?} params * @return {?} */ function (params) { this.params = params; }, enumerable: true, configurable: true }); /** * @return {?} */ TranslateDirective.prototype.setup = /** * @return {?} */ function () { var _this = this; this.translation.translationChanged().pipe(takeUntil(this.destroy)).subscribe(function () { _this.replace(); }); }; /** * @return {?} */ TranslateDirective.prototype.replace = /** * @return {?} */ function () { this.replaceText(); this.replaceAttributes(); }; /** * @return {?} */ TranslateDirective.prototype.replaceText = /** * @return {?} */ function () { if (!!this.key) { this.setText(this.getValue(this.key)); } }; /** * @return {?} */ TranslateDirective.prototype.replaceAttributes = /** * @return {?} */ function () { if (this.attributes.length > 0) { /** @type {?} */ var keys = this.getAttributesKeys(); /** @type {?} */ var data = this.translation.translate(keys, this.params); this.setAttributes(data); } }; /** * @param {?} key * @return {?} */ TranslateDirective.prototype.getValue = /** * @param {?} key * @return {?} */ function (key) { return this.translation.translate(key, this.params); }; TranslateDirective.decorators = [ { type: Directive, args: [{ selector: '[l10nTranslate],[translate]' },] } ]; /** @nocollapse */ TranslateDirective.ctorParameters = function () { return [ { type: TranslationService }, { type: ElementRef }, { type: Renderer2 } ]; }; TranslateDirective.propDecorators = { l10nTranslate: [{ type: Input }], translate: [{ type: Input }], params: [{ type: Input }] }; return TranslateDirective; }(BaseDirective)); export { TranslateDirective }; if (false) { /** @type {?} */ TranslateDirective.prototype.params; /** @type {?} */ TranslateDirective.prototype.translation; /** @type {?} */ TranslateDirective.prototype.el; /** @type {?} */ TranslateDirective.prototype.renderer; } //# sourceMappingURL=translate.directive.js.map