From 06c31e0847ecf011ffabfa4dc3f7453ef25a3f5c Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Fri, 20 Nov 2020 12:07:54 -0700 Subject: [PATCH 1/3] Include the "resolve all container" height in contentTop --- .../javascripts/lib/utils/common_utils.js | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/lib/utils/common_utils.js b/app/assets/javascripts/lib/utils/common_utils.js index ef25fd83db9da1..71297db282c23c 100644 --- a/app/assets/javascripts/lib/utils/common_utils.js +++ b/app/assets/javascripts/lib/utils/common_utils.js @@ -218,26 +218,35 @@ export const isMetaKey = e => e.metaKey || e.ctrlKey || e.altKey || e.shiftKey; export const isMetaClick = e => e.metaKey || e.ctrlKey || e.which === 2; export const contentTop = () => { + const isDesktop = breakpointInstance.isDesktop(); const heightCalculators = [ () => $('#js-peek').outerHeight(), () => $('.navbar-gitlab').outerHeight(), + ({ desktop }) => { + let size = 0; + + if (!desktop) { + size = document.querySelector('.line-resolve-all-container').offsetHeight; + } + + return size; + }, () => $('.merge-request-tabs').outerHeight(), () => $('.js-diff-files-changed').outerHeight(), - () => { - const isDesktop = breakpointInstance.isDesktop(); + ({ desktop }) => { const diffsTabIsActive = window.mrTabs?.currentAction === 'diffs'; let size; - if (isDesktop && diffsTabIsActive) { + if (desktop && diffsTabIsActive) { size = $('.diff-file .file-title-flex-parent:visible').outerHeight(); } return size; }, - () => { + ({ desktop }) => { let size; - if (breakpointInstance.isDesktop()) { + if (desktop) { size = $('.mr-version-controls').outerHeight(); } @@ -246,7 +255,7 @@ export const contentTop = () => { ]; return heightCalculators.reduce((totalHeight, calculator) => { - return totalHeight + (calculator() || 0); + return totalHeight + (calculator({ desktop: isDesktop }) || 0); }, 0); }; -- GitLab From 6d15993681bd7fd196523c9e105dcdbcb3a6440c Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Wed, 18 Nov 2020 17:19:06 -0700 Subject: [PATCH 2/3] Add changelog for mobile view fix --- changelogs/unreleased/defect-resolve-all-scroll-height.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 changelogs/unreleased/defect-resolve-all-scroll-height.yml diff --git a/changelogs/unreleased/defect-resolve-all-scroll-height.yml b/changelogs/unreleased/defect-resolve-all-scroll-height.yml new file mode 100644 index 00000000000000..96b44d13e82f68 --- /dev/null +++ b/changelogs/unreleased/defect-resolve-all-scroll-height.yml @@ -0,0 +1,5 @@ +--- +title: Fix overscroll for MR diffs in mobile view +merge_request: 48091 +author: +type: fixed -- GitLab From 81cf4370d499937b40618b0d9d0ca05b24d3307b Mon Sep 17 00:00:00 2001 From: Thomas Randolph Date: Tue, 24 Nov 2020 08:34:17 -0700 Subject: [PATCH 3/3] Only attempt to use DOM nodes that exist --- app/assets/javascripts/lib/utils/common_utils.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/assets/javascripts/lib/utils/common_utils.js b/app/assets/javascripts/lib/utils/common_utils.js index 71297db282c23c..f88a0433535fd9 100644 --- a/app/assets/javascripts/lib/utils/common_utils.js +++ b/app/assets/javascripts/lib/utils/common_utils.js @@ -223,10 +223,11 @@ export const contentTop = () => { () => $('#js-peek').outerHeight(), () => $('.navbar-gitlab').outerHeight(), ({ desktop }) => { + const container = document.querySelector('.line-resolve-all-container'); let size = 0; - if (!desktop) { - size = document.querySelector('.line-resolve-all-container').offsetHeight; + if (!desktop && container) { + size = container.offsetHeight; } return size; -- GitLab