@progress/sitefinity-nextjs-sdk
Version:
Provides OOB widgets developed using the Next.js framework, which includes an abstraction layer for Sitefinity communication. Additionally, it offers an expanded API, typings, and tools for further development and integration.
50 lines (49 loc) • 1.32 kB
JavaScript
export const getFileSize = (item) => {
const size = item['TotalSize'];
if (size < 1024) {
return `${size} B`;
}
const sizeKB = Math.ceil(size / 1024);
return `${sizeKB} KB`;
};
export const getExtension = (item) => {
const extension = item['Extension'];
if (extension) {
return extension.replace('.', '');
}
return extension;
};
export const getFileExtensionCssClass = (extension) => {
let color;
switch (extension) {
case 'xlsx':
case 'xls':
color = '--bs-green';
break;
case 'doc':
case 'docx':
color = '--bs-blue';
break;
case 'ppt':
case 'pptx':
color = '--bs-orange';
break;
case 'pdf':
color = '--bs-red';
break;
case 'zip':
case 'rar':
color = '--bs-purple';
break;
default:
color = '--bs-gray';
break;
}
return color;
};
export const splitAt = (index, xs) => [xs.slice(0, index), xs.slice(index)];
export const getPageQueryString = (page) => {
const indexOf = page.ViewUrl.indexOf(page.RelativeUrlPath);
const dividedUrls = splitAt(indexOf + page.RelativeUrlPath.length, page.ViewUrl);
return dividedUrls[1];
};