mirror of
https://github.com/Start9Labs/start-os.git
synced 2026-03-30 04:01:58 +00:00
34 lines
926 B
TypeScript
34 lines
926 B
TypeScript
import { Pipe, PipeTransform } from '@angular/core'
|
|
|
|
@Pipe({
|
|
name: 'truncateCenter',
|
|
})
|
|
export class TruncateCenterPipe implements PipeTransform {
|
|
transform (value: string, front: number, back: number, fullOnDesktop: boolean = false): unknown {
|
|
if (value.length <= front + back + 3) return value
|
|
if (fullOnDesktop && screen.width > 500) return value
|
|
return value.slice(0, front) + '...' + value.slice(value.length - back, value.length)
|
|
}
|
|
}
|
|
|
|
@Pipe({
|
|
name: 'truncateEnd',
|
|
})
|
|
export class TruncateEndPipe implements PipeTransform {
|
|
transform (val: string, length: number): unknown {
|
|
if (val.length <= length) return val
|
|
return val.slice(0, length) + '...'
|
|
}
|
|
}
|
|
|
|
@Pipe({
|
|
name: 'truncateTail',
|
|
})
|
|
export class TruncateTailPipe implements PipeTransform {
|
|
transform (val: string, length: number): unknown {
|
|
if (val.length <= length) return val
|
|
return '...' + val.substr(length * -1)
|
|
}
|
|
}
|
|
|