From f7a8e4102b6b0e206276048d0cf70723d3d30727 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Fri, 20 Sep 2024 22:21:09 +0300 Subject: [PATCH] fix scroll --- app/javascript/submission_form/areas.vue | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/javascript/submission_form/areas.vue b/app/javascript/submission_form/areas.vue index 65524fce..05fe7e2f 100644 --- a/app/javascript/submission_form/areas.vue +++ b/app/javascript/submission_form/areas.vue @@ -132,10 +132,18 @@ export default { this.scrollInContainer(areaRef.$el) } else { const targetRect = areaRef.$refs.scrollToElem.getBoundingClientRect() - const root = this.$root.$el?.parentNode?.classList?.contains('ds') ? this.$root.$el : document.body - const rootRect = root.getBoundingClientRect() const scrollEl = this.scrollEl || window + let rootRect = {} + + if (this.scrollEl === document.documentElement) { + rootRect = this.scrollEl.getBoundingClientRect() + } else { + const root = this.$root.$el?.parentNode?.classList?.contains('ds') ? this.$root.$el : document.body + + rootRect = root.getBoundingClientRect() + } + scrollEl.scrollTo({ top: targetRect.top - rootRect.top, behavior: 'smooth' }) }