@spartacus/storefront
Version:
Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.
30 lines • 3.43 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
const defaultLimit = 20;
export class TruncatePipe {
/**
* example usage {{ exampleString | cxTruncate: [1, ''] }}
*/
transform(value, args) {
if (!args) {
return value;
}
let trail = '...';
const limit = args.length > 0 && args[0] && Number.isInteger(+args[0])
? args[0]
: defaultLimit;
if (args.length > 1 && args[1] !== undefined) {
trail = args[1];
}
return value.length > limit ? value.substring(0, limit) + trail : value;
}
}
TruncatePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: TruncatePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
TruncatePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: TruncatePipe, name: "cxTruncate" });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: TruncatePipe, decorators: [{
type: Pipe,
args: [{
name: 'cxTruncate',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1bmNhdGUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3N0b3JlZnJvbnRsaWIvc2hhcmVkL2NvbXBvbmVudHMvdHJ1bmNhdGUtdGV4dC1wb3BvdmVyL3RydW5jYXRlLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBELE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUt4QixNQUFNLE9BQU8sWUFBWTtJQUN2Qjs7T0FFRztJQUNILFNBQVMsQ0FBQyxLQUFhLEVBQUUsSUFBd0I7UUFDL0MsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNULE9BQU8sS0FBSyxDQUFDO1NBQ2Q7UUFFRCxJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7UUFFbEIsTUFBTSxLQUFLLEdBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDVCxDQUFDLENBQUMsWUFBWSxDQUFDO1FBRW5CLElBQUksSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLFNBQVMsRUFBRTtZQUM1QyxLQUFLLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUUsQ0FBQzs7eUdBckJVLFlBQVk7dUdBQVosWUFBWTsyRkFBWixZQUFZO2tCQUh4QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxZQUFZO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuY29uc3QgZGVmYXVsdExpbWl0ID0gMjA7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2N4VHJ1bmNhdGUnLFxufSlcbmV4cG9ydCBjbGFzcyBUcnVuY2F0ZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLyoqXG4gICAqIGV4YW1wbGUgdXNhZ2Uge3sgZXhhbXBsZVN0cmluZyB8IGN4VHJ1bmNhdGU6IFsxLCAnJ10gfX1cbiAgICovXG4gIHRyYW5zZm9ybSh2YWx1ZTogc3RyaW5nLCBhcmdzPzogW251bWJlciwgc3RyaW5nP10pOiBzdHJpbmcge1xuICAgIGlmICghYXJncykge1xuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGxldCB0cmFpbCA9ICcuLi4nO1xuXG4gICAgY29uc3QgbGltaXQgPVxuICAgICAgYXJncy5sZW5ndGggPiAwICYmIGFyZ3NbMF0gJiYgTnVtYmVyLmlzSW50ZWdlcigrYXJnc1swXSlcbiAgICAgICAgPyBhcmdzWzBdXG4gICAgICAgIDogZGVmYXVsdExpbWl0O1xuXG4gICAgaWYgKGFyZ3MubGVuZ3RoID4gMSAmJiBhcmdzWzFdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRyYWlsID0gYXJnc1sxXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWUubGVuZ3RoID4gbGltaXQgPyB2YWx1ZS5zdWJzdHJpbmcoMCwgbGltaXQpICsgdHJhaWwgOiB2YWx1ZTtcbiAgfVxufVxuIl19