From 1adcb13cc110705e60d921eba52eacb97fe895f6 Mon Sep 17 00:00:00 2001 From: Zankaria Date: Tue, 16 Jan 2024 01:11:03 +0100 Subject: [PATCH] Fix bans page --- js/longtable/longtable.js | 23 +++++++++++++++++++---- js/mod/ban-list.js | 22 +--------------------- stylesheets/longtable/longtable.css | 13 +++++++------ 3 files changed, 27 insertions(+), 31 deletions(-) diff --git a/js/longtable/longtable.js b/js/longtable/longtable.js index b557d5c5..1d4e4136 100644 --- a/js/longtable/longtable.js +++ b/js/longtable/longtable.js @@ -28,14 +28,28 @@ $.fn.longtable = function(fields, options, data) { } else { el = $(""); - if (fields[field].fmt) { // Special formatting? + if (fields[field].fmt) { + // Apply ad-hoc formatting. el.html(fields[field].fmt(data[id])); } else { el.html(data[id][field]); } } + + if (fields[field].handle_longwords) { + el.css("word-break", "break-all"); + } + + if (fields[field].max_width) { + el.css("max-width", fields[field].max_width); + } el.css("width", fields[field].width); + + if (fields[field].max_height) { + el.css("max-height", fields[field].max_height); + } + return el; }, _gen_tr: function(id) { @@ -111,11 +125,12 @@ $.fn.longtable = function(fields, options, data) { first = Math.floor(first / options.row_h); last = Math.ceil (last / options.row_h); - first = first < 0 ? 0 : first; + first = first < 1 ? 1 : first; last = last >= data.length ? data.length - 1 : last; $.each(shown_rows, function(id) { - if (id < first || id > last) { + // Remove only the rows after. + if (id > last) { lt._remove(id); } }); @@ -178,4 +193,4 @@ $.fn.longtable = function(fields, options, data) { $(window).on("scroll resize", lt.update_viewport); return lt; -}; +}; \ No newline at end of file diff --git a/js/mod/ban-list.js b/js/mod/ban-list.js index 7e5fdac0..5aea8edc 100644 --- a/js/mod/ban-list.js +++ b/js/mod/ban-list.js @@ -37,7 +37,7 @@ var banlist_init = function(token, my_boards, inMod) { } return pre+f.mask; } }, - reason: {name: _("Reason"), width: "calc(100% - 715px - 6 * 4px)", fmt: function(f) { + reason: {name: _("Reason"), width: "40%", max_width: "40%", max_height: "240px", handle_longwords: true, fmt: function(f) { var add = "", suf = ''; if (f.seen == 1) add += ""; if (f.message) { @@ -133,25 +133,5 @@ var banlist_init = function(token, my_boards, inMod) { $(".banform").off("submit").submit(); }); - - if (device_type == 'desktop') { - // Stick topbar - var stick_on = $(".banlist-opts").offset().top; - var state = true; - $(window).on("scroll resize", function() { - if ($(window).scrollTop() > stick_on && state == true) { - $("body").css("margin-top", $(".banlist-opts").height()); - $(".banlist-opts").addClass("boardlist top").detach().prependTo("body"); - $("#banlist tr:not(.row)").addClass("tblhead").detach().appendTo(".banlist-opts"); - state = !state; - } - else if ($(window).scrollTop() < stick_on && state == false) { - $("body").css("margin-top", "auto"); - $(".banlist-opts").removeClass("boardlist top").detach().prependTo(".banform"); - $(".tblhead").detach().prependTo("#banlist"); - state = !state; - } - }); - } }); } diff --git a/stylesheets/longtable/longtable.css b/stylesheets/longtable/longtable.css index 09d9a0ab..17f287fa 100644 --- a/stylesheets/longtable/longtable.css +++ b/stylesheets/longtable/longtable.css @@ -1,26 +1,28 @@ .longtable { - display: block; position: relative; box-sizing: border-box; + display: table; + table-layout: fixed; + width: 100%; } .longtable > tbody { - display: block; box-sizing: border-box; + display: block; } .longtable > tbody > tr { - display: block; box-sizing: border-box; clear: left; width: 100%; } .longtable > tbody > tr > td { - display: block; + display: table; box-sizing: border-box; float: left; padding: 0; + word-break: break-word; } .longtable > tbody > tr > th { - display: block; + *display: table; box-sizing: border-box; float: left; padding: 0; @@ -28,4 +30,3 @@ .longtable > tbody > tr > th.sortable { cursor: pointer; } -