From c6048ba9ad8345e98d896801424f5292bb307e2e Mon Sep 17 00:00:00 2001 From: Julian Leucker <leuckerj@gmail.com> Date: Sun, 11 Jun 2023 12:17:59 +0200 Subject: [PATCH] Re-Enable scrolling when celery progress dialog is opened --- CHANGELOG.rst | 1 + .../celery_progress/CeleryProgressBottom.vue | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index d514a864a..de404b440 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -14,6 +14,7 @@ Fixed * Progress page didn't work properly. * About page failed to load for apps with an unknown licence. +* Some pages couldn't be scrolled when a task progress popup was open. `3.1`_ - 2022-05-30 ------------------- diff --git a/aleksis/core/frontend/components/celery_progress/CeleryProgressBottom.vue b/aleksis/core/frontend/components/celery_progress/CeleryProgressBottom.vue index 912fb7792..1866c3d81 100644 --- a/aleksis/core/frontend/components/celery_progress/CeleryProgressBottom.vue +++ b/aleksis/core/frontend/components/celery_progress/CeleryProgressBottom.vue @@ -1,5 +1,11 @@ <template> - <v-bottom-sheet :value="show" persistent hide-overlay max-width="400px"> + <v-bottom-sheet + :value="show" + persistent + hide-overlay + max-width="400px" + ref="sheet" + > <v-expansion-panels accordion v-model="open"> <v-expansion-panel> <v-expansion-panel-header color="primary" class="white--text px-4"> @@ -33,6 +39,13 @@ export default { data() { return { open: 0 }; }, + mounted() { + // Vuetify uses the hideScroll method to disable scrolling by setting an event listener + // to the window. As event listeners can only be removed by referencing the listener + // method and because vuetify this method is called on every state change of the dialog, + // we simply replace the method in this component instance + this.$refs.sheet.hideScroll = this.$refs.sheet.showScroll; + }, computed: { show() { return this.celeryProgressByUser && this.celeryProgressByUser.length > 0; -- GitLab