From 8d9c1bd915d781b5f540400f73a12581959b106f Mon Sep 17 00:00:00 2001 From: "jakub.salavec" Date: Thu, 19 Jun 2025 16:33:08 +0200 Subject: [PATCH] Added - disclosure triangles --- .../src/main/web/css/gemp-001/hall.css | 21 +++++++++++++++ .../src/main/web/js/gemp-022/hallUi.js | 27 ++++++++++--------- 2 files changed, 35 insertions(+), 13 deletions(-) diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/css/gemp-001/hall.css b/gemp-lotr/gemp-lotr-async/src/main/web/css/gemp-001/hall.css index 071714a42..bc08b7b52 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/css/gemp-001/hall.css +++ b/gemp-lotr/gemp-lotr-async/src/main/web/css/gemp-001/hall.css @@ -288,6 +288,9 @@ table.tables tr.privateForPlayer { padding: 4px; margin: 2px; border-radius: 3px; + display: flex; + align-items: center; + gap: 6px; } .wc-queues { @@ -889,3 +892,21 @@ form#queueSpawnerForm input { .bold { font-weight: bold; } + +.disclosureTriangle { + display: inline-block; + width: 0; + height: 0; + margin-left: 4px; + margin-right: 4px; + vertical-align: middle; + border-top: 6px solid transparent; + border-bottom: 6px solid transparent; + border-left: 8px solid #fff; + transition: transform 0.2s ease; +} + +/* Rotate down when expanded */ +.eventHeader.expanded .disclosureTriangle { + transform: rotate(90deg); +} diff --git a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js index 49a6a94dd..969c206d6 100644 --- a/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js +++ b/gemp-lotr/gemp-lotr-async/src/main/web/js/gemp-022/hallUi.js @@ -641,27 +641,28 @@ var GempLotrHallUI = Class.extend({ }, initTable: function(displayed, headerID, tableID) { - var header = $("#" + headerID); + const header = $("#" + headerID); + const content = $("#" + tableID); + const that = this; - var content = $("#" + tableID); + // Inject triangle span if not already present + if (header.find(".disclosureTriangle").length === 0) { + header.prepend(""); + } - var that = this; - var toggle = function() { - if (content.hasClass("hidden")) - content.removeClass("hidden"); - else - content.addClass("hidden"); - content.toggle("blind", {}, 200); + const toggle = function () { + content.toggleClass("hidden").toggle("blind", {}, 200); + header.toggleClass("expanded"); that.updateHallSettings(); }; - - header.click(toggle); + + header.off("click").on("click", toggle); if (displayed) { content.show(); + header.addClass("expanded"); } else { - content.addClass("hidden"); - content.hide(); + content.addClass("hidden").hide(); } },