UNPKG

@asi-ngtools/lib

Version:

This project is a little components library, simple to use, which will help you to simplify your project.

63 lines (62 loc) 4.63 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { TranslateService } from '@ngx-translate/core'; import { Pipe } from '@angular/core'; import * as nh from '../native-helper'; /** * Pipe allowing to concat items * items : items to concat * separator : a separator * base : translate base value * property : sub item property (if needed) */ export class AsiConcatTranslatePipe { /** * @param {?} translate */ constructor(translate) { this.translate = translate; } /** * @param {?} items * @param {?} separator * @param {?=} base * @param {?=} property * @return {?} */ transform(items, separator, base, property) { if (nh.isEmpty(items)) { return ''; } /** @type {?} */ let itemsTranslate; if (property != null) { itemsTranslate = nh.map(items, (item) => { return this.translate.instant(base + item[property]); }); } else { itemsTranslate = nh.map(items, (item) => { return this.translate.instant(base + item); }); } return nh.join(itemsTranslate, separator); } } AsiConcatTranslatePipe.decorators = [ { type: Pipe, args: [{ name: 'asiConcatTranslate', pure: false },] } ]; /** @nocollapse */ AsiConcatTranslatePipe.ctorParameters = () => [ { type: TranslateService } ]; if (false) { /** @type {?} */ AsiConcatTranslatePipe.prototype.translate; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNpLWNvbmNhdC10cmFuc2xhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bhc2ktbmd0b29scy9saWIvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvYXNpLWNvbmNhdC10cmFuc2xhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxLQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFhdkMsTUFBTTs7OztJQUVKLFlBQW9CLFNBQTJCO1FBQTNCLGNBQVMsR0FBVCxTQUFTLENBQWtCO0tBQzlDOzs7Ozs7OztJQUVELFNBQVMsQ0FBQyxLQUFpQixFQUFFLFNBQWlCLEVBQUUsSUFBYSxFQUFFLFFBQWlCO1FBQzlFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3RCLE1BQU0sQ0FBQyxFQUFFLENBQUM7U0FDWDs7UUFDRCxJQUFJLGNBQWMsQ0FBQztRQUNuQixFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNyQixjQUFjLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDdEMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUN0RCxDQUFDLENBQUM7U0FDSjtRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sY0FBYyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUM7YUFDNUMsQ0FBQyxDQUFDO1NBQ0o7UUFDRCxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxDQUFDLENBQUM7S0FDM0M7OztZQXhCRixJQUFJLFNBQUM7Z0JBQ0osSUFBSSxFQUFFLG9CQUFvQjtnQkFDMUIsSUFBSSxFQUFFLEtBQUs7YUFDWjs7OztZQWRRLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgKiBhcyBuaCBmcm9tICcuLi9uYXRpdmUtaGVscGVyJztcclxuXHJcbiAvKipcclxuICogUGlwZSBhbGxvd2luZyB0byBjb25jYXQgaXRlbXNcclxuICogaXRlbXMgOiBpdGVtcyB0byBjb25jYXRcclxuICogc2VwYXJhdG9yIDogYSBzZXBhcmF0b3JcclxuICogYmFzZSA6IHRyYW5zbGF0ZSBiYXNlIHZhbHVlXHJcbiAqIHByb3BlcnR5IDogc3ViIGl0ZW0gcHJvcGVydHkgKGlmIG5lZWRlZClcclxuICovXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnYXNpQ29uY2F0VHJhbnNsYXRlJyxcclxuICBwdXJlOiBmYWxzZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNpQ29uY2F0VHJhbnNsYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgdHJhbnNmb3JtKGl0ZW1zOiBBcnJheTxhbnk+LCBzZXBhcmF0b3I6IHN0cmluZywgYmFzZT86IHN0cmluZywgcHJvcGVydHk/OiBzdHJpbmcpIHtcclxuICAgIGlmIChuaC5pc0VtcHR5KGl0ZW1zKSkge1xyXG4gICAgICByZXR1cm4gJyc7XHJcbiAgICB9XHJcbiAgICBsZXQgaXRlbXNUcmFuc2xhdGU7XHJcbiAgICBpZiAocHJvcGVydHkgIT0gbnVsbCkge1xyXG4gICAgICBpdGVtc1RyYW5zbGF0ZSA9IG5oLm1hcChpdGVtcywgKGl0ZW0pID0+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy50cmFuc2xhdGUuaW5zdGFudChiYXNlICsgaXRlbVtwcm9wZXJ0eV0pO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGl0ZW1zVHJhbnNsYXRlID0gbmgubWFwKGl0ZW1zLCAoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KGJhc2UgKyBpdGVtKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmguam9pbihpdGVtc1RyYW5zbGF0ZSwgc2VwYXJhdG9yKTtcclxuICB9XHJcbn1cclxuIl19