This is an automated email from the ASF dual-hosted git repository. humbedooh pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-ponymail-foal.git
commit 61f8ff6508096728e7d895fa60dbe19e403e5620 Author: Daniel Gruno <[email protected]> AuthorDate: Fri Dec 10 20:02:02 2021 +0100 refactor calc_per_page This should fix #146. --- webui/js/source/listview-flat.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/webui/js/source/listview-flat.js b/webui/js/source/listview-flat.js index f42138d..be2810f 100644 --- a/webui/js/source/listview-flat.js +++ b/webui/js/source/listview-flat.js @@ -15,6 +15,11 @@ limitations under the License. */ +let compact_email_height = 24; // a normal email element is 24 pixels high +let preview_email_height = 40; + +let narrow_width = 600; // <= 600 pixels and we're in narrow view + function calc_per_page() { // Figure out how many emails per page let body = document.body; @@ -23,12 +28,13 @@ function calc_per_page() { html.clientHeight, html.scrollHeight); let width = Math.max(body.scrollWidth, html.clientWidth, html.scrollWidth); - let email_h = G_current_listmode_compact ? 24 : 40; - if (width < 600) { - console.log("Using narrow view, halving emails per page..."); - email_h = G_current_listmode_compact ? 36 : 80; + let email_h = G_current_listmode_compact ? compact_email_height : preview_email_height; + if (width < narrow_width) { + console.log("Using narrow view, reducing emails per page..."); + email_h = G_current_listmode_compact ? compact_email_height * 1.5 : preview_email_height*2; } - height -= 180; + height -= document.getElementById("emails").scrollHeight + 4; // top area height plus spacing + email_h += 2; let per_page = Math.max(5, Math.floor(height / email_h)); per_page -= per_page % 5; console.log("Viewport is %ux%u. We can show %u emails per page".format(width, height, per_page));
