From a0d921ffe30acd37da30572d3da985578241a5d2 Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 7 Sep 2022 18:02:49 -0400 Subject: [PATCH 1/3] Cleanup virtual term scroll Add scroll to bottom button when scrolled --- app/frontend/templates/panel/server_term.html | 30 +++++++++++++++++-- app/translations/en_EN.json | 3 +- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/app/frontend/templates/panel/server_term.html b/app/frontend/templates/panel/server_term.html index 5c460568..37b763d2 100644 --- a/app/frontend/templates/panel/server_term.html +++ b/app/frontend/templates/panel/server_term.html @@ -40,6 +40,9 @@
+ +
+
@@ -193,8 +196,7 @@ function new_line_handler(data) { $('#virt_console').append(data.line) const elem = document.getElementById('virt_console'); - const scrollDiff = (elem.scrollHeight - elem.scrollTop) - elem.clientHeight; - if (!$("#stop_scroll").is(':checked') && scrollDiff < 450) { + if (!$("#stop_scroll").is(':checked') && chkScroll) { scrollConsole() } } @@ -293,6 +295,30 @@ return nextCommand; } } + + const chkScroll = (e) => { + const elem = $(e.currentTarget); + + if (Math.round(elem[0].scrollHeight - elem.scrollTop()) <= elem.outerHeight()) { + document.getElementById("to-bottom").style.visibility = "hidden"; + return true; + }else{ + document.getElementById("to-bottom").style.visibility = "visible"; + return false; + } + } + + const scrollToBottom = (id) => { + const element = $(`#virt_console`); + element.animate({ + scrollTop: element.prop("scrollHeight") + }, 500); +} + + $(document).ready(() => { + $('#virt_console').on('scroll', chkScroll); + $('#to-bottom').on('click', scrollToBottom) + }); {% end %} \ No newline at end of file diff --git a/app/translations/en_EN.json b/app/translations/en_EN.json index 176cf2b8..bd21b722 100644 --- a/app/translations/en_EN.json +++ b/app/translations/en_EN.json @@ -359,7 +359,8 @@ "schedule": "Schedule", "serverDetails": "Server Details", "terminal": "Terminal", - "metrics": "Metrics" + "metrics": "Metrics", + "reset": "Reset Scroll" }, "serverFiles": { "clickUpload": "Click here to select your files", -- GitLab From 84838aae4d356660b5006068cf26e3e56556ca88 Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 7 Sep 2022 18:16:18 -0400 Subject: [PATCH 2/3] Fix vterm scroll logic when user is on bottom --- app/frontend/templates/panel/server_term.html | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/app/frontend/templates/panel/server_term.html b/app/frontend/templates/panel/server_term.html index 37b763d2..1d807314 100644 --- a/app/frontend/templates/panel/server_term.html +++ b/app/frontend/templates/panel/server_term.html @@ -196,7 +196,7 @@ function new_line_handler(data) { $('#virt_console').append(data.line) const elem = document.getElementById('virt_console'); - if (!$("#stop_scroll").is(':checked') && chkScroll) { + if (!scrolled) { scrollConsole() } } @@ -301,10 +301,10 @@ if (Math.round(elem[0].scrollHeight - elem.scrollTop()) <= elem.outerHeight()) { document.getElementById("to-bottom").style.visibility = "hidden"; - return true; + scrolled = false; }else{ document.getElementById("to-bottom").style.visibility = "visible"; - return false; + scrolled = true; } } @@ -316,6 +316,7 @@ } $(document).ready(() => { + var scrolled; $('#virt_console').on('scroll', chkScroll); $('#to-bottom').on('click', scrollToBottom) }); -- GitLab From e6351dab75292d39794dab5612921ed3e6f39a68 Mon Sep 17 00:00:00 2001 From: Zedifus Date: Mon, 19 Sep 2022 21:49:50 +0100 Subject: [PATCH 3/3] Update changelog !454 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5d83a0d5..79d05990 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,7 @@ TBD - Fix traceback error when a user click the roles config tab while already on the roles config page; **this is for new role creation only** ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/452)) - Fix logic issue when removing items from backup exclusions ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/453)) ### Tweaks -TBD +- Add button to scroll to bottom of vterm ([Merge Request](https://gitlab.com/crafty-controller/crafty-4/-/merge_requests/454)) ### Lang TBD

-- GitLab