From 5aa57e0681a4eb202787f9a49fda5a28f8651f5a Mon Sep 17 00:00:00 2001 From: Dane Everitt Date: Tue, 14 Aug 2018 21:17:10 -0700 Subject: [PATCH] Break out file manager file/directory rows into individual components --- .../server/components/FileManagerFileRow.vue | 47 ++++++++++ .../components/FileManagerFolderRow.vue | 47 ++++++++++ .../server/subpages/FileManager.vue | 89 +++---------------- resources/assets/scripts/helpers/index.js | 34 +++++++ 4 files changed, 138 insertions(+), 79 deletions(-) create mode 100644 resources/assets/scripts/components/server/components/FileManagerFileRow.vue create mode 100644 resources/assets/scripts/components/server/components/FileManagerFolderRow.vue create mode 100644 resources/assets/scripts/helpers/index.js diff --git a/resources/assets/scripts/components/server/components/FileManagerFileRow.vue b/resources/assets/scripts/components/server/components/FileManagerFileRow.vue new file mode 100644 index 000000000..c58e5f04b --- /dev/null +++ b/resources/assets/scripts/components/server/components/FileManagerFileRow.vue @@ -0,0 +1,47 @@ + + + diff --git a/resources/assets/scripts/components/server/components/FileManagerFolderRow.vue b/resources/assets/scripts/components/server/components/FileManagerFolderRow.vue new file mode 100644 index 000000000..caea64b03 --- /dev/null +++ b/resources/assets/scripts/components/server/components/FileManagerFolderRow.vue @@ -0,0 +1,47 @@ + + + diff --git a/resources/assets/scripts/components/server/subpages/FileManager.vue b/resources/assets/scripts/components/server/subpages/FileManager.vue index 1b1f62cdf..81ab9d0b1 100644 --- a/resources/assets/scripts/components/server/subpages/FileManager.vue +++ b/resources/assets/scripts/components/server/subpages/FileManager.vue @@ -30,28 +30,11 @@

This directory is empty.

- -
- -
-
{{directory.name}}
-
-
{{formatDate(directory.modified)}}
-
-
-
-
- - -
-
{{file.name}}
-
{{readableSize(file.size)}}
-
{{formatDate(file.modified)}}
-
+
+ +
+
+
@@ -59,16 +42,16 @@ diff --git a/resources/assets/scripts/helpers/index.js b/resources/assets/scripts/helpers/index.js new file mode 100644 index 000000000..0fa47e9a6 --- /dev/null +++ b/resources/assets/scripts/helpers/index.js @@ -0,0 +1,34 @@ +import format from 'date-fns/format'; + +/** + * Return the human readable filesize for a given number of bytes. This + * uses 1024 as the base, so the response is denoted accordingly. + * + * @param {Number} bytes + * @return {String} + */ +export function readableSize (bytes) { + if (Math.abs(bytes) < 1024) { + return `${bytes} Bytes`; + } + + let u = -1; + const units = ['KiB', 'MiB', 'GiB', 'TiB']; + + do { + bytes /= 1024; + u++; + } while (Math.abs(bytes) >= 1024 && u < units.length - 1); + + return `${bytes.toFixed(1)} ${units[u]}`; +} + +/** + * Format the given date as a human readable string. + * + * @param {String} date + * @return {String} + */ +export function formatDate (date) { + return format(date, 'MMM D, YYYY [at] HH:MM'); +}