UNPKG

@knora/action

Version:
41 lines 4.06 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) }}`. * */ var TruncatePipe = /** @class */ (function () { function TruncatePipe() { } TruncatePipe.prototype.transform = function (value, args) { if (!value || value.length === 0) { return; } var limit = args.length > 0 ? parseInt(args[0], 10) : 20; var trail = args.length > 1 ? args[1] : '...'; return value.length > limit ? value.substring(0, limit) + trail : value; }; TruncatePipe = tslib_1.__decorate([ Pipe({ name: 'kuiTruncate' }) ], TruncatePipe); return TruncatePipe; }()); export { TruncatePipe }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Brbm9yYS9hY3Rpb24vIiwic291cmNlcyI6WyJsaWIvcGlwZXMvdHJ1bmNhdGUucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFcEQ7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUlIO0lBQUE7SUFhQSxDQUFDO0lBWEcsZ0NBQVMsR0FBVCxVQUFVLEtBQWEsRUFBRSxJQUFjO1FBRW5DLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDOUIsT0FBTztTQUNWO1FBRUQsSUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRCxJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDaEQsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDNUUsQ0FBQztJQVhRLFlBQVk7UUFIeEIsSUFBSSxDQUFDO1lBQ0YsSUFBSSxFQUFFLGFBQWE7U0FDdEIsQ0FBQztPQUNXLFlBQVksQ0FheEI7SUFBRCxtQkFBQztDQUFBLEFBYkQsSUFhQztTQWJZLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVGhpcyBwaXBlIGNhbiBiZSB1c2VkIHRvIHNob3J0ZW4gbG9uZyB0ZXh0IGJ5IGEgZGVmaW5lZCBsZW5ndGguXG4gKlxuICogSW4gbWFya3VwOlxuICpcbiAqIHt7IHN0ciB8IGt1aVRydW5jYXRlOlsnMjQnXSB9fVxuICpcbiAqIG9yXG4gKlxuICoge3sgc3RyIHwga3VpVHJ1bmNhdGU6WycyNCcsICcuLi4nXSB9fVxuICpcbiAqXG4gKiBUaGUgZmlyc3QgcGFyYW1ldGVyIGRlZmluZXMgdGhlIGxlbmd0aCB3aGVyZSB0byB0cnVuY2F0ZSB0aGUgc3RyaW5nLlxuICogU2Vjb25kIG9wdGlvbmFsIHBhcmFtZXRlciBkZWZpbmVzIHRoZSBjaGFyYWN0ZXJzIHRvIGFwcGVuZCB0byB0aGUgc2hvcnRlbmVkIHN0cmluZy4gRGVmYXVsdCBpcyAnLi4uJy5cbiAqXG4gKiBUaGUgYWR2YW50YWdlIG9mIHRoaXMgcGlwZSBvdmVyIHRoZSBkZWZhdWx0IEFuZ3VsYXIgc2xpY2UgcGlwZSBpcyB0aGUgc2ltcGxpY2l0eSBvZiBhZGRpbmcgYWRkaXRpb25hbCBjaGFyYWN0ZXJzIGF0IHRoZSBlbmQgb2YgdGhlIHNob3J0ZW5lZCBzdHJpbmcuXG4gKiBUaGUgc2FtZSBjb25zdHJ1Y3Qgd2l0aCBBbmd1bGFyIHNsaWNlIHBpcGUgbG9va3MgYXMgZm9sbG93OiBge3sgKHN0ci5sZW5ndGg+MjQpPyAoc3RyIHwgc2xpY2U6MDoyNCkrJy4uLic6KHN0cikgfX1gLlxuICpcbiAqL1xuQFBpcGUoe1xuICAgIG5hbWU6ICdrdWlUcnVuY2F0ZSdcbn0pXG5leHBvcnQgY2xhc3MgVHJ1bmNhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgYXJnczogc3RyaW5nW10pOiBzdHJpbmcge1xuXG4gICAgICAgIGlmICghdmFsdWUgfHwgdmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBsaW1pdCA9IGFyZ3MubGVuZ3RoID4gMCA/IHBhcnNlSW50KGFyZ3NbMF0sIDEwKSA6IDIwO1xuICAgICAgICBjb25zdCB0cmFpbCA9IGFyZ3MubGVuZ3RoID4gMSA/IGFyZ3NbMV0gOiAnLi4uJztcbiAgICAgICAgcmV0dXJuIHZhbHVlLmxlbmd0aCA+IGxpbWl0ID8gdmFsdWUuc3Vic3RyaW5nKDAsIGxpbWl0KSArIHRyYWlsIDogdmFsdWU7XG4gICAgfVxuXG59XG4iXX0=