diff --git a/frontend/src/components/Search.vue b/frontend/src/components/Search.vue index 211baf23..0762f05e 100644 --- a/frontend/src/components/Search.vue +++ b/frontend/src/components/Search.vue @@ -136,12 +136,6 @@ export default { } }, mounted() { - window.addEventListener("keydown", event => { - if (event.keyCode === 27) { - this.closeHovers() - } - }) - this.$refs.result.addEventListener('scroll', event => { if (event.target.offsetHeight + event.target.scrollTop >= event.target.scrollHeight - 100) { this.resultsCount += 50 diff --git a/frontend/src/components/files/Listing.vue b/frontend/src/components/files/Listing.vue index 4c222285..7c27f7e2 100644 --- a/frontend/src/components/files/Listing.vue +++ b/frontend/src/components/files/Listing.vue @@ -101,7 +101,7 @@ export default { components: { Item }, data: function () { return { - show: 50, + showLimit: 50, uploading: { id: 0, count: 0, @@ -111,7 +111,7 @@ export default { } }, computed: { - ...mapState(['req', 'selected', 'user']), + ...mapState(['req', 'selected', 'user', 'show']), nameSorted () { return (this.req.sorting.by === 'name') }, @@ -139,14 +139,14 @@ export default { return { dirs, files } }, dirs () { - return this.items.dirs.slice(0, this.show) + return this.items.dirs.slice(0, this.showLimit) }, files () { - let show = this.show - this.items.dirs.length + let showLimit = this.showLimit - this.items.dirs.length - if (show < 0) show = 0 + if (showLimit < 0) showLimit = 0 - return this.items.files.slice(0, show) + return this.items.files.slice(0, showLimit) }, nameIcon () { if (this.nameSorted && !this.ascOrdered) { @@ -194,7 +194,11 @@ export default { base64: function (name) { return window.btoa(unescape(encodeURIComponent(name))) }, - keyEvent (event) { + keyEvent (event) { + if (this.show !== null) { + return + } + if (!event.ctrlKey && !event.metaKey) { return } @@ -292,7 +296,7 @@ export default { }, scrollEvent () { if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { - this.show += 50 + this.showLimit += 50 } }, dragEnter () { diff --git a/frontend/src/views/Files.vue b/frontend/src/views/Files.vue index b9d4ddeb..4241db80 100644 --- a/frontend/src/views/Files.vue +++ b/frontend/src/views/Files.vue @@ -61,7 +61,8 @@ export default { 'user', 'reload', 'multiple', - 'loading' + 'loading', + 'show' ]), isPreview () { return !this.loading && !this.isListing && !this.isEditor @@ -158,10 +159,17 @@ export default { } }, keyEvent (event) { - // Esc! - if (event.keyCode === 27) { - this.$store.commit('closeHovers') + if (this.show !== null) { + // Esc! + if (event.keyCode === 27) { + this.$store.commit('closeHovers') + } + return + } + + // Esc! + if (event.keyCode === 27) { // If we're on a listing, unselect all // files and folders. if (this.isListing) {