diff --git a/src/core/FileManager/FsFileManager.php b/src/core/FileManager/FsFileManager.php index e4a1751..d050d37 100644 --- a/src/core/FileManager/FsFileManager.php +++ b/src/core/FileManager/FsFileManager.php @@ -91,12 +91,16 @@ class FsFileManager $this->applySort($finder, $options['sort'] ?? 'name', $options['sort_direction'] ?? 'asc'); foreach ($finder as $file) { + $splInfo = $this->getSplInfo($directory.'/'.$file->getBasename()); + $data['files'][] = [ 'basename' => $file->getBasename(), 'path' => $directory, 'webPath' => $this->pathUri.'/'.$directory.'/'.$file->getBasename(), 'locked' => $this->isLocked($directory.'/'.$file->getBasename()), 'mime' => mime_content_type($file->getRealPath()), + 'size' => $splInfo ? $splInfo->getSize() : null, + 'updated_at' => $splInfo ? date('Y-m-d H:i', $splInfo->getMTime()) : null, ]; } diff --git a/src/core/Resources/assets/js/components/file-manager/Files.vue b/src/core/Resources/assets/js/components/file-manager/Files.vue index 79509b7..d3e6fee 100644 --- a/src/core/Resources/assets/js/components/file-manager/Files.vue +++ b/src/core/Resources/assets/js/components/file-manager/Files.vue @@ -106,7 +106,7 @@ - + .. @@ -115,7 +115,7 @@ - +
@@ -138,6 +138,10 @@ + + + +
@@ -323,6 +327,26 @@ export default { .catch((e) => { alert('An error occured') }) + }, + readableFilesize (size) { + if (size <= 0) { + return '0 KB' + } + + if (size === 1) { + return '1 byte' + } + + const mod = 1024 + const units = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'] + let i = 0 + + while (size > mod && i < units.length - 1) { + size /= mod + ++i + } + + return `${size.toFixed(2)} ${units[i]}` } }, mounted () {