UNPKG

@knora/action

Version:
38 lines 3.92 kB
import * as tslib_1 from "tslib"; import { Pipe } from '@angular/core'; /** * This pipe can be used to shorten long text by a defined length. * * In markup: * * {{ str | kuiTruncate:['24'] }} * * or * * {{ str | kuiTruncate:['24', '...'] }} * * * The first parameter defines the length where to truncate the string. * Second optional parameter defines the characters to append to the shortened string. Default is '...'. * * The advantage of this pipe over the default Angular slice pipe is the simplicity of adding additional characters at the end of the shortened string. * The same construct with Angular slice pipe looks as follow: `{{ (str.length>24)? (str | slice:0:24)+'...':(str) }}`. * */ let TruncatePipe = class TruncatePipe { transform(value, args) { if (!value || value.length === 0) { return; } const limit = args.length > 0 ? parseInt(args[0], 10) : 20; const trail = args.length > 1 ? args[1] : '...'; return value.length > limit ? value.substring(0, limit) + trail : value; } }; TruncatePipe = tslib_1.__decorate([ Pipe({ name: 'kuiTruncate' }) ], TruncatePipe); export { TruncatePipe }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Brbm9yYS9hY3Rpb24vIiwic291cmNlcyI6WyJsaWIvcGlwZXMvdHJ1bmNhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUlILElBQWEsWUFBWSxHQUF6QixNQUFhLFlBQVk7SUFFckIsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFjO1FBRW5DLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDOUIsT0FBTztTQUNWO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUUsQ0FBQztDQUVKLENBQUE7QUFiWSxZQUFZO0lBSHhCLElBQUksQ0FBQztRQUNGLElBQUksRUFBRSxhQUFhO0tBQ3RCLENBQUM7R0FDVyxZQUFZLENBYXhCO1NBYlksWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBUaGlzIHBpcGUgY2FuIGJlIHVzZWQgdG8gc2hvcnRlbiBsb25nIHRleHQgYnkgYSBkZWZpbmVkIGxlbmd0aC5cbiAqXG4gKiBJbiBtYXJrdXA6XG4gKlxuICoge3sgc3RyIHwga3VpVHJ1bmNhdGU6WycyNCddIH19XG4gKlxuICogb3JcbiAqXG4gKiB7eyBzdHIgfCBrdWlUcnVuY2F0ZTpbJzI0JywgJy4uLiddIH19XG4gKlxuICpcbiAqIFRoZSBmaXJzdCBwYXJhbWV0ZXIgZGVmaW5lcyB0aGUgbGVuZ3RoIHdoZXJlIHRvIHRydW5jYXRlIHRoZSBzdHJpbmcuXG4gKiBTZWNvbmQgb3B0aW9uYWwgcGFyYW1ldGVyIGRlZmluZXMgdGhlIGNoYXJhY3RlcnMgdG8gYXBwZW5kIHRvIHRoZSBzaG9ydGVuZWQgc3RyaW5nLiBEZWZhdWx0IGlzICcuLi4nLlxuICpcbiAqIFRoZSBhZHZhbnRhZ2Ugb2YgdGhpcyBwaXBlIG92ZXIgdGhlIGRlZmF1bHQgQW5ndWxhciBzbGljZSBwaXBlIGlzIHRoZSBzaW1wbGljaXR5IG9mIGFkZGluZyBhZGRpdGlvbmFsIGNoYXJhY3RlcnMgYXQgdGhlIGVuZCBvZiB0aGUgc2hvcnRlbmVkIHN0cmluZy5cbiAqIFRoZSBzYW1lIGNvbnN0cnVjdCB3aXRoIEFuZ3VsYXIgc2xpY2UgcGlwZSBsb29rcyBhcyBmb2xsb3c6IGB7eyAoc3RyLmxlbmd0aD4yNCk/IChzdHIgfCBzbGljZTowOjI0KSsnLi4uJzooc3RyKSB9fWAuXG4gKlxuICovXG5AUGlwZSh7XG4gICAgbmFtZTogJ2t1aVRydW5jYXRlJ1xufSlcbmV4cG9ydCBjbGFzcyBUcnVuY2F0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuICAgIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG5cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCB2YWx1ZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxpbWl0ID0gYXJncy5sZW5ndGggPiAwID8gcGFyc2VJbnQoYXJnc1swXSwgMTApIDogMjA7XG4gICAgICAgIGNvbnN0IHRyYWlsID0gYXJncy5sZW5ndGggPiAxID8gYXJnc1sxXSA6ICcuLi4nO1xuICAgICAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gbGltaXQgPyB2YWx1ZS5zdWJzdHJpbmcoMCwgbGltaXQpICsgdHJhaWwgOiB2YWx1ZTtcbiAgICB9XG5cbn1cbiJdfQ==