-
-
-
-
-
-
-
{{ directory.basename }}
-
-
-
-
-
-
-
-
-
-
- {{ `${file.filename}.${file.extension}` }}
-
- {{ bytesToHuman(file.size) }}
-
-
+
+
+
+
+
+
+
+
{{ directory.basename }}
+
+
+
+
+
+
+
+
+
+ {{ `${file.filename}.${file.extension}` }}
+
{{ bytesToHuman(file.size) }}
+
{{ file.dimensions }}
+
+
diff --git a/src/components/manager/Thumbnail.vue b/src/components/manager/Thumbnail.vue
index 23cb82a..3d44fb9 100644
--- a/src/components/manager/Thumbnail.vue
+++ b/src/components/manager/Thumbnail.vue
@@ -1,13 +1,10 @@
-
-
-
-
-
-
+
+
+
+
+
+
diff --git a/src/mixins/helper.js b/src/mixins/helper.js
index 831ea50..fdd7980 100644
--- a/src/mixins/helper.js
+++ b/src/mixins/helper.js
@@ -31,6 +31,28 @@ export default {
return date.toLocaleString(this.$store.state.fm.settings.lang);
},
+ /**
+ * get file dimensions
+ * @param disk
+ * @param file
+ * @returns {string}
+ */
+ async getFileDimension(disk, file) {
+ const url = `${this.$store.getters['fm/settings/baseUrl']}/preview?disk=${disk || 'images'}&path=${encodeURIComponent(file.path)}&v=${file.timestamp}`;
+ let dimensions = 'N/A x N/A';
+ const imageLoadPromise = new Promise((resolve) => {
+ const img = new Image();
+ img.onload = function onload() {
+ dimensions = `${this.width} x ${this.height}`;
+ resolve();
+ };
+ img.src = url;
+ });
+ await imageLoadPromise;
+
+ return dimensions;
+ },
+
/**
* Mime type to icon
* @param mime