aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/filters/truncate-filter.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/filters/truncate-filter.ts')
-rw-r--r--catalog-ui/src/app/filters/truncate-filter.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/catalog-ui/src/app/filters/truncate-filter.ts b/catalog-ui/src/app/filters/truncate-filter.ts
new file mode 100644
index 0000000000..e660871e3b
--- /dev/null
+++ b/catalog-ui/src/app/filters/truncate-filter.ts
@@ -0,0 +1,26 @@
+export class TruncateFilter {
+ constructor() {
+ let filter = <TruncateFilter>(str:string, length:number) => {
+ if (str.length <= length) {
+ return str;
+ }
+
+ //if(str[length - 1] === ' '){
+ // return str.substring(0, length - 1) + '...';
+ //}
+
+ let char;
+ let index = length;
+ while (char !== ' ' && index !== 0) {
+ index--;
+ char = str[index];
+ }
+ if (index === 0) {
+ return (index === 0) ? str : str.substring(0, length - 3) + '...';
+ }
+ return (index === 0) ? str : str.substring(0, index) + '...';
+ };
+ return filter;
+ }
+
+}