From 0661c0b1bd3d79ad15c959f06dc61779ab531529 Mon Sep 17 00:00:00 2001 From: Rsl1122 Date: Thu, 19 Jul 2018 09:51:19 +0300 Subject: [PATCH] Fixed litebans table breaking the server page #636 --- .../plan/data/element/TableContainer.java | 23 ++++++++++++++----- .../djrapitops/plan/utilities/html/Html.java | 2 +- .../utilities/html/tables/PlayersTable.java | 2 +- .../html/tables/PluginPlayersTable.java | 7 +----- Plan/src/main/resources/web/player.html | 2 +- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java b/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java index d9bec89cc..3114995e9 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/element/TableContainer.java @@ -24,7 +24,7 @@ public class TableContainer { protected final Formatter[] formatters; private List values; - private boolean jqueryDatatable; + private String jqueryDatatable; private String color; @@ -56,7 +56,7 @@ public class TableContainer { return getTableHeader() + parseHeader() + parseBody() + - "" + (jqueryDatatable ? "" : ""); + "" + (jqueryDatatable != null ? "" : ""); } public final String parseBody() { @@ -112,17 +112,28 @@ public class TableContainer { } /** - * Make use of JQuery Datatables plugin. + * Make use of jQuery Data-tables plugin. + *

+ * Use this with custom tables. *

* If this is called, result of {@code parseHtml()} should be wrapped with {@code Html.PANEL.parse(Html.PANEL_BODY.parse(result))} */ public void useJqueryDataTables() { - this.jqueryDatatable = true; + this.jqueryDatatable = "player-plugin-table"; + } + + /** + * Make use of jQuery Data-tables plugin. + * + * @param sortType "player-table" or "player-plugin-table" + */ + public void useJqueryDataTables(String sortType) { + jqueryDatatable = sortType; } private String getTableHeader() { - if (jqueryDatatable) { - return "

" + Html.TABLE_JQUERY.parse(); + if (jqueryDatatable != null) { + return "
" + Html.TABLE_JQUERY.parse(jqueryDatatable); } else { return Html.TABLE_SCROLL.parse(); } diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/html/Html.java b/Plan/src/main/java/com/djrapitops/plan/utilities/html/Html.java index fb5188052..a1e33c9e0 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/html/Html.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/html/Html.java @@ -65,7 +65,7 @@ public enum Html { TABLE_END(""), TABLE(""), TABLE_SCROLL("
"), - TABLE_JQUERY("
"), + TABLE_JQUERY("
"), TABLE_COLORED("
"), TABLE_HEAD("${0}"), TABLE_BODY("${0}"), diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PlayersTable.java b/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PlayersTable.java index 08f9d7fa3..ac4975fe4 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PlayersTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PlayersTable.java @@ -39,7 +39,7 @@ public class PlayersTable extends TableContainer { ); this.players = players; this.maxPlayers = maxPlayers; - useJqueryDataTables(); + useJqueryDataTables("player-table"); setFormatter(2, Formatters.timeAmount()); setFormatter(4, Formatters.yearLongValue()); diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PluginPlayersTable.java b/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PluginPlayersTable.java index e7c1418de..558de9b3e 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PluginPlayersTable.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/html/tables/PluginPlayersTable.java @@ -32,7 +32,7 @@ public class PluginPlayersTable extends TableContainer { this.players = players; - useJqueryDataTables(); + useJqueryDataTables("player-plugin-table"); if (players.isEmpty()) { addRow("No Players"); @@ -42,11 +42,6 @@ public class PluginPlayersTable extends TableContainer { } } - @Override - public String parseHtml() { - return super.parseHtml().replace("player-table", "player-plugin-table"); - } - private static String[] getHeaders(Set columnNames) { List header = new ArrayList<>(columnNames); Collections.sort(header); diff --git a/Plan/src/main/resources/web/player.html b/Plan/src/main/resources/web/player.html index 148a986f0..02ba42296 100644 --- a/Plan/src/main/resources/web/player.html +++ b/Plan/src/main/resources/web/player.html @@ -864,7 +864,7 @@