From ae418a7a73a9caddecd20681922b35c31d021cc3 Mon Sep 17 00:00:00 2001 From: Christian Koop Date: Sat, 25 Sep 2021 13:51:38 +0200 Subject: [PATCH 1/2] Fix Pagination in Template GUI [SD-8499] --- README.md | 2 +- .../gui/TemplateManagerGui.java | 70 +++++++++++++------ .../gui/TicketManagerGui.java | 2 +- 3 files changed, 51 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index b91fcc2..066128f 100644 --- a/README.md +++ b/README.md @@ -1 +1 @@ -ultimatemoderation +# UltimateModeration diff --git a/src/main/java/com/songoda/ultimatemoderation/gui/TemplateManagerGui.java b/src/main/java/com/songoda/ultimatemoderation/gui/TemplateManagerGui.java index 631b42b..2bc84c4 100644 --- a/src/main/java/com/songoda/ultimatemoderation/gui/TemplateManagerGui.java +++ b/src/main/java/com/songoda/ultimatemoderation/gui/TemplateManagerGui.java @@ -23,6 +23,8 @@ public class TemplateManagerGui extends Gui { private PunishmentType punishmentType = PunishmentType.ALL; private final Player player; + private int page = 1; + public TemplateManagerGui(UltimateModeration plugin, Player player) { super(6); setDefaultItem(null); @@ -30,24 +32,35 @@ public class TemplateManagerGui extends Gui { this.player = player; setTitle(plugin.getLocale().getMessage("gui.templatemanager.title").getMessage()); - showPage(); + toCurrentPage(); } - protected void showPage() { - if (inventory != null) + private void toPrevPage() { + if (this.page <= 1) { + return; + } + + --this.page; + toCurrentPage(); + } + + private void toNextPage() { + if (findTemplates(this.page + 1, this.punishmentType).size() > 0) { + ++this.page; + toCurrentPage(); + } + } + + private void toCurrentPage() { + if (inventory != null) { inventory.clear(); + } + setActionForRange(0, 53, null); int numTemplates = plugin.getTemplateManager().getTemplates().size(); this.pages = (int) Math.floor(numTemplates / 28.0); - List