Преглед изворни кода

BugFix: initSlimScrollForRevisionToc

Yuki Takei пре 7 година
родитељ
комит
30b67fdfa8
1 измењених фајлова са 7 додато и 2 уклоњено
  1. 7 2
      resource/js/legacy/crowi.js

+ 7 - 2
resource/js/legacy/crowi.js

@@ -169,9 +169,10 @@ Crowi.handleKeyCtrlSlashHandler = (event) => {
 
 Crowi.initSlimScrollForRevisionToc = () => {
   const revisionTocElem = document.querySelector('.growi .revision-toc');
+  const tocContentElem = document.querySelector('.growi .revision-toc .markdownIt-TOC');
 
   // growi layout only
-  if (revisionTocElem == null) {
+  if (revisionTocElem == null || tocContentElem == null) {
     return;
   }
 
@@ -182,7 +183,11 @@ Crowi.initSlimScrollForRevisionToc = () => {
 
   function resetScrollbar(revisionTocTop) {
     // window height - revisionTocTop - .system-version height
-    const h = window.innerHeight - revisionTocTop - 20;
+    let h = window.innerHeight - revisionTocTop - 20;
+
+    const tocContentHeight = tocContentElem.getBoundingClientRect().height + 15;  // add margin
+
+    h = Math.min(h, tocContentHeight);
 
     $('#revision-toc-content').slimScroll({
       railVisible: true,