diff --git a/src/components/manager/DiskList.vue b/src/components/manager/DiskList.vue index 30f59cc..b214885 100644 --- a/src/components/manager/DiskList.vue +++ b/src/components/manager/DiskList.vue @@ -1,15 +1,13 @@ diff --git a/src/components/manager/GridView.vue b/src/components/manager/GridView.vue index 7c57d73..8557fd1 100644 --- a/src/components/manager/GridView.vue +++ b/src/components/manager/GridView.vue @@ -1,53 +1,33 @@ 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