From b238d9610af39ece0d00c2d7bbc15b1e2e7a09ba Mon Sep 17 00:00:00 2001 From: Richard Hansen Date: Sat, 14 Aug 2021 22:35:22 -0400 Subject: [PATCH] ace2_inner: Factor out duplicate line height application --- src/static/js/ace2_inner.js | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/src/static/js/ace2_inner.js b/src/static/js/ace2_inner.js index ffe0ffe61..c315a31d1 100644 --- a/src/static/js/ace2_inner.js +++ b/src/static/js/ace2_inner.js @@ -3589,9 +3589,21 @@ function Ace2Inner(editorInfo, cssManagers) { let newNumLines = rep.lines.length(); if (newNumLines < 1) newNumLines = 1; - let sidebarLine = sideDivInner.firstChild; - // Apply height to existing sidediv lines + if (newNumLines !== sideDivInner.children.length) { + while (sideDivInner.children.length < newNumLines) { + const div = outerDoc.createElement('DIV'); + sideDivInner.appendChild(div); + $(div).append($(`${sideDivInner.children.length}`)); + } + + // Remove extra lines + while (sideDivInner.children.length > newNumLines) { + sideDivInner.removeChild(sideDivInner.lastChild); + } + } + + let sidebarLine = sideDivInner.firstChild; currentLine = 0; while (sidebarLine && currentLine <= sideDivInner.children.length) { if (lineOffsets[currentLine] != null) { @@ -3601,25 +3613,6 @@ function Ace2Inner(editorInfo, cssManagers) { sidebarLine = sidebarLine.nextSibling; currentLine++; } - - if (newNumLines !== sideDivInner.children.length) { - // Create missing line and apply height - while (sideDivInner.children.length < newNumLines) { - const div = outerDoc.createElement('DIV'); - sideDivInner.appendChild(div); - if (lineOffsets[currentLine]) { - div.style.height = `${lineOffsets[currentLine]}px`; - div.style.lineHeight = `${lineHeights[currentLine]}px`; - } - $(div).append($(`${sideDivInner.children.length}`)); - currentLine++; - } - - // Remove extra lines - while (sideDivInner.children.length > newNumLines) { - sideDivInner.removeChild(sideDivInner.lastChild); - } - } };