@alihbuzaid/ember-ui
Version:
Fleetbase UI provides all the interface components, helpers, services and utilities for building a Fleetbase extension into the Console.
21 lines (15 loc) • 735 B
JavaScript
import { helper } from '@ember/component/helper';
export default helper(function truncateFilename([filename, maxLength = 20]) {
if (!filename || typeof filename !== 'string' || filename.length <= maxLength) {
return filename;
}
const extensionMatch = filename.match(/\.(.+)$/);
const extension = extensionMatch ? extensionMatch[0] : '';
const baseName = filename.slice(0, -extension.length);
if (maxLength <= extension.length) {
// If the maximum length is less than or equal to the extension's length, return only the extension
return `...${extension}`;
}
const truncated = baseName.slice(0, maxLength - extension.length - 3) + '...';
return truncated + extension;
});