Translation of dynamic content

This commit is contained in:
Rsl1122 2019-09-28 10:22:20 +03:00
parent e12e10b609
commit b8ba5c35d3
30 changed files with 170 additions and 75 deletions

View File

@ -84,7 +84,7 @@ public class NetworkPageExporter extends FileExporter {
.resolve("index.html");
Page page = pageFactory.networkPage();
export(to, exportPaths.resolveExportPaths(locale.replaceMatchingLanguage(page.toHtml())));
export(to, exportPaths.resolveExportPaths(locale.replaceLanguageInHtml(page.toHtml())));
}
public void exportJSON(Path toDirectory, Server server) throws IOException, NotFoundException {

View File

@ -86,7 +86,7 @@ public class PlayerPageExporter extends FileExporter {
try {
Page page = pageFactory.playerPage(playerUUID);
export(to, exportPaths.resolveExportPaths(locale.replaceMatchingLanguage(page.toHtml())));
export(to, exportPaths.resolveExportPaths(locale.replaceLanguageInHtml(page.toHtml())));
} catch (IllegalStateException notFound) {
throw new NotFoundException(notFound.getMessage());
}

View File

@ -87,7 +87,7 @@ public class PlayersPageExporter extends FileExporter {
.resolve("index.html");
Page page = pageFactory.playersPage();
export(to, exportPaths.resolveExportPaths(locale.replaceMatchingLanguage(page.toHtml())));
export(to, exportPaths.resolveExportPaths(locale.replaceLanguageInHtml(page.toHtml())));
}
private void exportJSON(Path toDirectory) throws NotFoundException, IOException {

View File

@ -90,7 +90,7 @@ public class ServerPageExporter extends FileExporter {
.resolve("index.html");
Page page = pageFactory.serverPage(serverUUID);
export(to, exportPaths.resolveExportPaths(locale.replaceMatchingLanguage(page.toHtml())));
export(to, exportPaths.resolveExportPaths(locale.replaceLanguageInHtml(page.toHtml())));
}
public void exportJSON(Path toDirectory, Server server) throws IOException, NotFoundException {

View File

@ -80,6 +80,7 @@ public class ServerPage implements Page {
public String toHtml() throws ParseException {
PlaceholderReplacer placeholders = new PlaceholderReplacer();
placeholders.put("serverUUID", server.getUuid().toString());
placeholders.put("serverName", server.getIdentifiableName());
placeholders.put("serverDisplayName", server.getName());

View File

@ -16,6 +16,7 @@
*/
package com.djrapitops.plan.delivery.webserver.response;
import com.djrapitops.plan.settings.locale.Locale;
import com.djrapitops.plan.storage.file.PlanFiles;
import java.io.IOException;
@ -25,8 +26,9 @@ import java.io.IOException;
*/
public class JavaScriptResponse extends FileResponse {
JavaScriptResponse(String fileName, PlanFiles files) throws IOException {
JavaScriptResponse(String fileName, PlanFiles files, Locale locale) throws IOException {
super(format(fileName), files);
super.translate(locale::replaceLanguageInJavascript);
super.setType(ResponseType.JAVASCRIPT);
}
}

View File

@ -27,6 +27,7 @@ import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.util.Objects;
import java.util.Optional;
import java.util.function.Function;
import java.util.zip.GZIPOutputStream;
/**
@ -115,8 +116,8 @@ public abstract class Response {
this.responseHeaders = responseHeaders;
}
protected void translate(Locale locale) {
content = locale.replaceMatchingLanguage(content);
protected void translate(Function<String, String> translator) {
content = translator.apply(content);
}
protected void fixThemeColors(Theme theme) {

View File

@ -116,7 +116,7 @@ public class ResponseFactory {
public Response javaScriptResponse(String fileName) {
try {
return new JavaScriptResponse(fileName, files);
return new JavaScriptResponse(fileName, files, locale);
} catch (IOException e) {
return notFound404("JS File not found from jar: " + fileName + ", " + e.toString());
}

View File

@ -73,7 +73,7 @@ public class ErrorResponse extends PageResponse {
@Override
public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException {
translate(locale);
translate(locale::replaceLanguageInHtml);
fixThemeColors(theme);
super.send(exchange, locale, theme);
}

View File

@ -55,7 +55,7 @@ public class PageResponse extends Response {
@Override
public void send(HttpExchange exchange, Locale locale, Theme theme) throws IOException {
translate(locale);
translate(locale::replaceLanguageInHtml);
fixThemeColors(theme);
super.send(exchange, locale, theme);
}

View File

@ -17,6 +17,7 @@
package com.djrapitops.plan.settings.locale;
import com.djrapitops.plan.settings.locale.lang.HtmlLang;
import com.djrapitops.plan.settings.locale.lang.JSLang;
import com.djrapitops.plan.settings.locale.lang.Lang;
import com.djrapitops.plan.storage.file.FileResource;
import com.djrapitops.plan.storage.file.PlanFiles;
@ -101,7 +102,7 @@ public class Locale extends HashMap<Lang, Message> {
this.langCode = locale.langCode;
}
public String replaceMatchingLanguage(String from) {
public String replaceLanguageInHtml(String from) {
if (isEmpty()) {
return from;
}
@ -114,12 +115,8 @@ public class Locale extends HashMap<Lang, Message> {
foundScripts.add(scriptMatcher.toMatchResult().group(0));
}
Lang[][] langs = new Lang[][]{
HtmlLang.values()
};
TranslatedString translated = new TranslatedString(from);
Arrays.stream(langs).flatMap(Arrays::stream)
Arrays.stream(HtmlLang.values())
// Longest first so that entries that contain each other don't partially replace.
.sorted((one, two) -> Integer.compare(
two.getIdentifier().length(),
@ -135,13 +132,61 @@ public class Locale extends HashMap<Lang, Message> {
for (int i = 0; i < parts.length; i++) {
complete.append(parts[i]);
if (i < parts.length - 1) {
complete.append(foundScripts.get(i));
complete.append(replaceLanguageInJavascript(foundScripts.get(i)));
}
}
return complete.toString();
}
public String replaceLanguageInJavascript(String from) {
if (isEmpty()) {
return from;
}
TranslatedString translated = new TranslatedString(from);
Arrays.stream(JSLang.values())
// Longest first so that entries that contain each other don't partially replace.
.sorted((one, two) -> Integer.compare(
two.getIdentifier().length(),
one.getIdentifier().length()
))
.forEach(lang -> getNonDefault(lang).ifPresent(replacement ->
translated.translate(lang.getDefault(), replacement.toString()))
);
for (Lang extra : new Lang[]{
HtmlLang.UNIT_NO_DATA,
HtmlLang.TITLE_WORLD_PLAYTIME,
HtmlLang.LABEL_OPERATOR,
HtmlLang.LABEL_BANNED,
HtmlLang.SIDE_SESSIONS,
HtmlLang.LABEL_PLAYTIME,
HtmlLang.LABEL_AFK_TIME,
HtmlLang.LABEL_LONGEST_SESSION,
HtmlLang.LABEL_SESSION_MEDIAN,
HtmlLang.LABEL_PLAYER_KILLS,
HtmlLang.LABEL_MOB_KILLS,
HtmlLang.LABEL_DEATHS,
HtmlLang.LABEL_PLAYERS_ONLINE,
HtmlLang.LABEL_REGISTERED,
HtmlLang.TITLE_SERVER,
HtmlLang.TITLE_LENGTH,
HtmlLang.TITLE_AVG_PING,
HtmlLang.TITLE_BEST_PING,
HtmlLang.TITLE_WORST_PING,
HtmlLang.LABEL_FREE_DISK_SPACE,
HtmlLang.LABEL_NEW_PLAYERS,
HtmlLang.LABEL_UNIQUE_PLAYERS,
}) {
getNonDefault(extra).ifPresent(replacement ->
translated.translate(extra.getDefault(), replacement.toString()));
}
return translated.toString();
}
@Override
public boolean equals(Object o) {
if (this == o) return true;

View File

@ -22,7 +22,7 @@ import org.apache.commons.lang3.StringUtils;
* Utility for translating String.
* <p>
* Improves performance by avoiding a double for-each loop since this class can be considered final in the lambda
* expression in {@link Locale#replaceMatchingLanguage(String)}.
* expression in {@link Locale#replaceLanguageInHtml(String)}.
*
* @author Rsl1122
*/

View File

@ -81,9 +81,6 @@ public enum HtmlLang implements Lang {
TITLE_TREND("Trend"),
COMPARING_7_DAYS("Comparing 7 days"),
// Servers tab
LABEL_REGISTERED_PLAYERS("Registered Players"),
LINK_SERVER_ANALYSIS("Server Analysis"),
LINK_QUICK_VIEW("Quick view"),
TITLE_ONLINE_ACTIVITY("Online Activity"),
TITLE_30_DAYS("30 days"),
TITLE_AS_NUMBERS("as Numbers"),
@ -208,13 +205,13 @@ public enum HtmlLang implements Lang {
LABEL_NICKNAME("Nickname"),
LOCAL_MACHINE("Local Machine"),
TITLE_CALENDAR(" Calendar"),
LABEL_SESSION_ENDED("Session Ended"),
LABEL_SESSION_LENGTH("Session Lenght"),
LABEL_OPERATOR("Operator"),
LABEL_BANNED("Banned"),
LABEL_MOB_KDR("Mob KDR"),
WITH("<th>With"),
NO_KILLS("No Kills"),
LABEL_MAX_FREE_DISK("Max Free Disk"),
LABEL_MIN_FREE_DISK("Min Free Disk")
;
private final String defaultValue;

View File

@ -0,0 +1,57 @@
/*
* This file is part of Player Analytics (Plan).
*
* Plan is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License v3 as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Plan is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with Plan. If not, see <https://www.gnu.org/licenses/>.
*/
package com.djrapitops.plan.settings.locale.lang;
/**
* Lang enum for all text included in the javascript files.
*
* @author Rsl1122
*/
public enum JSLang implements Lang {
TEXT_PREDICTED_RETENTION("This value is a prediction based on previous players"),
TEXT_NO_SERVERS("No servers found in the database"),
TEXT_NO_SERVER("No server to display online activity for"),
LABEL_REGISTERED_PLAYERS("Registered Players"),
LINK_SERVER_ANALYSIS("Server Analysis"),
LINK_QUICK_VIEW("Quick view"),
TEXT_FIRST_SESSION("First session"),
LABEL_SESSION_ENDED("Ended"),
LINK_PLAYER_PAGE("Player Page"),
LABEL_NO_SESSION_KILLS("None"),
UNIT_ENTITIES("Entities"),
UNIT_CHUNKS("Chunks"),
LABEL_RELATIVE_JOIN_ACTIVITY("Relative Join Activity"),
LABEL_DAY_OF_WEEK("Day of the Week"),
LABEL_WEEK_DAYS("'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'");
private final String defaultValue;
JSLang(String defaultValue) {
this.defaultValue = defaultValue;
}
@Override
public String getIdentifier() {
return "HTML - " + name();
}
@Override
public String getDefault() {
return defaultValue;
}
}

View File

@ -156,7 +156,6 @@ HTML - LABEL_RETENTION || 新玩家留坑率
HTML - LABEL_SERVER_DOWNTIME || 关服时间
HTML - LABEL_SERVER_OCCUPIED || 开服时间
HTML - LABEL_SESSION_ENDED || 时域之末
HTML - LABEL_SESSION_LENGTH || 时域长度
HTML - LABEL_SESSION_MEDIAN || 平均时域
HTML - LABEL_TIMES_KICKED || 被踢次数
HTML - LABEL_TOTAL_PLAYERS || 总玩家数

View File

@ -156,7 +156,6 @@ HTML - LABEL_RETENTION || Erhaltung neuer Spieler
HTML - LABEL_SERVER_DOWNTIME || Server Downtime
HTML - LABEL_SERVER_OCCUPIED || Server occupied
HTML - LABEL_SESSION_ENDED || Session beendet
HTML - LABEL_SESSION_LENGTH || Session Länge
HTML - LABEL_SESSION_MEDIAN || Session Durchschnitt
HTML - LABEL_TIMES_KICKED || Mal gekickt
HTML - LABEL_TOTAL_PLAYERS || Total Players

View File

@ -155,8 +155,7 @@ HTML - LABEL_REGULAR_PLAYERS || Regular Players
HTML - LABEL_RETENTION || New Player Retention
HTML - LABEL_SERVER_DOWNTIME || Server Downtime
HTML - LABEL_SERVER_OCCUPIED || Server occupied
HTML - LABEL_SESSION_ENDED || Session Ended
HTML - LABEL_SESSION_LENGTH || Session Lenght
HTML - LABEL_SESSION_ENDED || Ended
HTML - LABEL_SESSION_MEDIAN || Session Median
HTML - LABEL_TIMES_KICKED || Times Kicked
HTML - LABEL_TOTAL_PLAYERS || Total Players

View File

@ -156,7 +156,6 @@ HTML - LABEL_RETENTION || Uusien pysyvyys
HTML - LABEL_SERVER_DOWNTIME || Palvelin pois päältä
HTML - LABEL_SERVER_OCCUPIED || Palvelin pelaajien käytössä
HTML - LABEL_SESSION_ENDED || Istunto Päättyi
HTML - LABEL_SESSION_LENGTH || Istunnon Pituus
HTML - LABEL_SESSION_MEDIAN || Istuntojen Mediaani
HTML - LABEL_TIMES_KICKED || Heitetty pihalle
HTML - LABEL_TOTAL_PLAYERS || Pelaajia

View File

@ -156,7 +156,6 @@ HTML - LABEL_RETENTION || Rétention des nouveaux joueu
HTML - LABEL_SERVER_DOWNTIME || Temps hors-ligne du serveur
HTML - LABEL_SERVER_OCCUPIED || Serveur inoccupé
HTML - LABEL_SESSION_ENDED || Session terminée
HTML - LABEL_SESSION_LENGTH || Durée de la session
HTML - LABEL_SESSION_MEDIAN || Session médiane
HTML - LABEL_TIMES_KICKED || Nombre d'éjections
HTML - LABEL_TOTAL_PLAYERS || Joueurs totaux

View File

@ -156,7 +156,6 @@ HTML - LABEL_RETENTION || 新規プレイヤーの継
HTML - LABEL_SERVER_DOWNTIME || サーバーダウンタイム
HTML - LABEL_SERVER_OCCUPIED || サーバーの占有時間
HTML - LABEL_SESSION_ENDED || ログアウト時間
HTML - LABEL_SESSION_LENGTH || 最長オンライン
HTML - LABEL_SESSION_MEDIAN || 平均オンライン
HTML - LABEL_TIMES_KICKED || キック回数
HTML - LABEL_TOTAL_PLAYERS || トータルプレイヤー数

View File

@ -156,7 +156,6 @@ HTML - LABEL_RETENTION || Retenção de Novos Jogadores
HTML - LABEL_SERVER_DOWNTIME || Server Downtime
HTML - LABEL_SERVER_OCCUPIED || Server occupied
HTML - LABEL_SESSION_ENDED || Sessões Finalizadas
HTML - LABEL_SESSION_LENGTH || Tempo de Sessões
HTML - LABEL_SESSION_MEDIAN || Média de Sessões
HTML - LABEL_TIMES_KICKED || Vezes Kickado
HTML - LABEL_TOTAL_PLAYERS || Total Players

View File

@ -156,7 +156,6 @@ HTML - LABEL_RETENTION || New Player Retention
HTML - LABEL_SERVER_DOWNTIME || Server Downtime
HTML - LABEL_SERVER_OCCUPIED || Server occupied
HTML - LABEL_SESSION_ENDED || Oturum Sona Erdi
HTML - LABEL_SESSION_LENGTH || Oturum Giriş Süresi
HTML - LABEL_SESSION_MEDIAN || Session Median
HTML - LABEL_TIMES_KICKED || Kere Atılmış
HTML - LABEL_TOTAL_PLAYERS || Total Players

View File

@ -576,7 +576,7 @@ function worldMap(id, colorMin, colorMax, mapSeries) {
function worldPie(id, worldSeries, gmSeries, bgColor) {
var defaultTitle = '';
var defaultSubtitle = 'Click the slices to view used GameMode';
var defaultSubtitle = 'Click to expand';
var nightMode = window.localStorage.getItem('nightMode') == 'true';
var chart = Highcharts.chart(id, {
chart: {

View File

@ -229,7 +229,7 @@ function loadPlayerbaseOverviewValues(json, error) {
$(element).find('#data_regular_to_inactive').replaceWith(data.regular_to_inactive + smallTrend(data.regular_to_inactive_trend))
}
function loadServerBoxes(servers, error) {
function loadservers(servers, error) {
if (error) {
displayError($('#servers-tab'), error);
return;
@ -245,17 +245,17 @@ function loadServerBoxes(servers, error) {
var serversHtml = '';
for (var i = 0; i < servers.length; i++) {
serversHtml += createNetworkServerBox(i, servers[i]);
serversHtml += createnetworkserverBox(i, servers[i]);
}
$("#data_server_list").replaceWith(serversHtml);
for (var i = 0; i < servers.length; i++) {
$('#server_quick_view_' + i).click(onViewServer(i, servers));
$('#server_quick_view_' + i).click(onViewserver(i, servers));
}
onViewServer(0, servers)(); // Open first server.
onViewserver(0, servers)(); // Open first server.
}
function createNetworkServerBox(i, server) {
function createnetworkserverBox(i, server) {
return '<div class="card shadow mb-4">' +
'<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between">' +
'<h6 class="m-0 font-weight-bold col-black"><i class="fas fa-fw fa-server col-light-green"></i> ' + server.name + '</h6>' +
@ -273,7 +273,7 @@ function createNetworkServerBox(i, server) {
'</div>' // /card
}
function onViewServer(i, servers) {
function onViewserver(i, servers) {
return function () {
setTimeout(function () {
var server = servers[i];

View File

@ -129,7 +129,7 @@ function createConnectionsTableBody(connections) {
var table = '<tbody>';
if (connections.length === 0) {
table += '<tr><td>No Connection Data</td><td>-</td></tr>'
table += '<tr><td>No Data</td><td>-</td></tr>'
}
for (var i = 0; i < connections.length; i++) {
@ -142,7 +142,7 @@ function createConnectionsTableBody(connections) {
return table;
}
function loadServerAccordion(json, error) {
function loadserverAccordion(json, error) {
tab = $("#server-overview");
if (error) {
displayError(tab, error);
@ -160,8 +160,8 @@ function loadServerAccordion(json, error) {
var serversHtml = '';
for (var i = 0; i < servers.length; i++) {
var server = servers[i];
var title = createServerAccordionTitle(i, server);
var body = createServerAccordionBody(i, server);
var title = createserverAccordionTitle(i, server);
var body = createserverAccordionBody(i, server);
serversHtml += title + body;
}
@ -169,11 +169,11 @@ function loadServerAccordion(json, error) {
serverTable.append(serversHtml);
for (var i = 0; i < servers.length; i++) {
$('#server_h_' + i).click(onOpenServer(i, servers));
$('#server_h_' + i).click(onOpenserver(i, servers));
}
}
function onOpenServer(i, servers) {
function onOpenserver(i, servers) {
var opened = false;
return function () {
if (opened) {
@ -190,7 +190,7 @@ function onOpenServer(i, servers) {
}
}
function createServerAccordionTitle(i, server) {
function createserverAccordionTitle(i, server) {
return '<tr id="server_h_' + i + '" aria-controls="server_t_' + i + '" aria-expanded="false" class="clickable collapsed bg-light-green" data-target="#server_t_' + i + '" data-toggle="collapse"><td>'
+ server.server_name +
(server.operator ? ' <i class="fab fa-fw fa-superpowers"></i>' : '') +
@ -201,7 +201,7 @@ function createServerAccordionTitle(i, server) {
+ '<td>' + server.last_seen + '</td></tr>'
}
function createServerAccordionBody(i, server) {
function createserverAccordionBody(i, server) {
return '<tr class="collapse" data-parent="#tableSAccordion" id="server_t_' + i + '">' +
'<td colspan="4">' +
@ -212,7 +212,7 @@ function createServerAccordionBody(i, server) {
(server.operator || server.banned ? '<br>' : '') +
'<p><i class="col-teal far fa-fw fa-calendar-check"></i> Sessions<span class="float-right"><b>' + server.session_count + '</b></span></p>' +
'<p><i class="col-green far fa-fw fa-clock"></i> Playtime<span class="float-right"><b>' + server.playtime + '</b></span></p>' +
'<p><i class="col-grey far fa-fw fa-clock"></i> Time AFK<span class="float-right"><b>' + server.afk_time + '</b></span></p>' +
'<p><i class="col-grey far fa-fw fa-clock"></i> AFK Time<span class="float-right"><b>' + server.afk_time + '</b></span></p>' +
'<p><i class="col-teal far fa-fw fa-clock"></i> Longest Session<span class="float-right"><b>' + server.longest_session_length + '</b></span></p>' +
'<p><i class="col-teal far fa-fw fa-clock"></i> Session Median<span class="float-right"><b>' + server.session_median + '</b></span></p>' +
'<br>' +

View File

@ -41,7 +41,7 @@ function displayError(element, error) {
}
/* This function loads Server Overview tab */
function loadServerOverviewValues(json, error) {
function loadserverOverviewValues(json, error) {
tab = $('#server-overview');
if (error) {

View File

@ -80,7 +80,7 @@ function createAccordionBody(i, session) {
'<div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">' +
'<p><i class="col-teal far fa-fw fa-clock"></i> Ended<span class="float-right"><b>' + session.end + '</b></span></p>' +
'<p><i class="col-green far fa-fw fa-clock"></i> Length<span class="float-right"><b>' + session.length + '</b></span></p>' +
'<p><i class="col-grey far fa-fw fa-clock"></i> Time AFK<span class="float-right"><b>' + session.afk_time + '</b></span></p>' +
'<p><i class="col-grey far fa-fw fa-clock"></i> AFK Time<span class="float-right"><b>' + session.afk_time + '</b></span></p>' +
'<p><i class="col-green fa fa-fw fa-server"></i> Server<span class="float-right"><b>' + session.server_name + '</b></span></p><br>' +
'<p><i class="col-red fa fa-fw fa-crosshairs"></i> Player Kills<span class="float-right"><b>' + session.player_kills.length + '</b></span></p>' +
'<p><i class="col-green fa fa-fw fa-crosshairs"></i> Mob Kills<span class="float-right"><b>' + session.mob_kills + '</b></span></p>' +
@ -89,7 +89,7 @@ function createAccordionBody(i, session) {
'</div><div class="col-xs-12 col-sm-12 col-md-6 col-lg-6">' +
'<div id="worldpie_' + i + '" class="chart-pie"></div>' +
'<a href="/player/' + session.player_name + '" class="float-right btn bg-blue"><i class="fa fa-user"></i><span> Player Page</span></a>' +
(session.network_server ? '<a href="/server/' + session.server_name + '" class="float-right btn bg-light-green mr-2"><i class="fa fa-server"></i><span> Server Page</span></a>' : '') +
(session.network_server ? '<a href="/server/' + session.server_name + '" class="float-right btn bg-light-green mr-2"><i class="fa fa-server"></i><span> Server Analysis</span></a>' : '') +
'</div>' +
'</div></td></tr>'
}

View File

@ -825,7 +825,7 @@
try {
setLoadingText('Calculating values..');
jsonRequest("../v1/network/overview", loadNetworkOverviewValues);
jsonRequest("../v1/network/servers", loadServerBoxes);
jsonRequest("../v1/network/servers", loadservers);
jsonRequest("../v1/network/sessionsOverview", loadSessionValues);
jsonRequest("../v1/network/playerbaseOverview", loadPlayerbaseOverviewValues);
jsonRequest("../v1/sessions", loadSessionAccordion);

View File

@ -753,7 +753,7 @@
jsonRequest("../v1/player?player=${playerName}", function (json, error) {
loadPlayerOverviewValues(json, error);
loadSessionAccordion(json, error);
loadServerAccordion(json, error);
loadserverAccordion(json, error);
loadPlayerKills(json, error);
loadPlayerDeaths(json, error);
loadPvPPvEValues(json, error);

View File

@ -1299,12 +1299,12 @@
<script>
try {
setLoadingText('Calculating values..');
jsonRequest("../v1/serverOverview?server=${serverName}", loadServerOverviewValues);
jsonRequest("../v1/onlineOverview?server=${serverName}", loadOnlineActivityOverviewValues);
jsonRequest("../v1/sessionsOverview?server=${serverName}", loadSessionValues);
jsonRequest("../v1/playerVersus?server=${serverName}", loadPvPPvEValues);
jsonRequest("../v1/playerbaseOverview?server=${serverName}", loadPlayerbaseOverviewValues);
jsonRequest("../v1/performanceOverview?server=${serverName}", loadPerformanceValues);
jsonRequest("../v1/serverOverview?server=${serverUUID}", loadserverOverviewValues);
jsonRequest("../v1/onlineOverview?server=${serverUUID}", loadOnlineActivityOverviewValues);
jsonRequest("../v1/sessionsOverview?server=${serverUUID}", loadSessionValues);
jsonRequest("../v1/playerVersus?server=${serverUUID}", loadPvPPvEValues);
jsonRequest("../v1/playerbaseOverview?server=${serverUUID}", loadPlayerbaseOverviewValues);
jsonRequest("../v1/performanceOverview?server=${serverUUID}", loadPerformanceValues);
setLoadingText('Rendering graphs..');
// TODO remove
@ -1345,10 +1345,10 @@
uniquePlayers: 'Unique Players',
newPlayers: 'New Players',
tps: 'TPS',
cpu: 'CPU Usage (%)',
ram: 'RAM Usage (MB)',
entities: 'Loaded Entities',
chunks: 'Loaded Chunks',
cpu: 'CPU (%)',
ram: 'RAM (MB)',
entities: 'Entities',
chunks: 'Chunks',
maxPing: 'Worst Ping',
minPing: 'Best Ping',
avgPing: 'Average Ping',
@ -1390,7 +1390,7 @@
}
};
jsonRequest("../v1/graph?type=performance&server=${serverName}", function (json, error) {
jsonRequest("../v1/graph?type=performance&server=${serverUUID}", function (json, error) {
if (json) {
var series = {
playersOnline: {
@ -1455,7 +1455,7 @@
}
});
jsonRequest("../v1/graph?type=aggregatedPing&server=${serverName}", function (json, error) {
jsonRequest("../v1/graph?type=aggregatedPing&server=${serverUUID}", function (json, error) {
if (json) {
var series = {
avgPing: {
@ -1486,7 +1486,7 @@
}
});
jsonRequest("../v1/graph?type=worldPie&server=${serverName}", function (json, error) {
jsonRequest("../v1/graph?type=worldPie&server=${serverUUID}", function (json, error) {
if (json) {
var worldSeries = {name: 'World Playtime', colorByPoint: true, data: json.world_series};
var gmSeries = json.gm_series;
@ -1496,7 +1496,7 @@
}
});
jsonRequest("../v1/graph?type=activity&server=${serverName}", function (json, error) {
jsonRequest("../v1/graph?type=activity&server=${serverUUID}", function (json, error) {
if (json) {
activityPie('activityPie', {
name: 'Players', colorByPoint: true, data: json.activity_pie_series
@ -1508,7 +1508,7 @@
}
});
jsonRequest("../v1/graph?type=geolocation&server=${serverName}", function (json, error) {
jsonRequest("../v1/graph?type=geolocation&server=${serverUUID}", function (json, error) {
if (json) {
var geolocationSeries = {
name: 'Players',
@ -1535,7 +1535,7 @@
}
});
jsonRequest("../v1/graph?type=uniqueAndNew&server=${serverName}", function (json, error) {
jsonRequest("../v1/graph?type=uniqueAndNew&server=${serverUUID}", function (json, error) {
if (json) {
var uniquePlayers = {
name: s.name.uniquePlayers, type: s.type.spline, tooltip: s.tooltip.zeroDecimals,
@ -1551,7 +1551,7 @@
}
});
jsonRequest("../v1/graph?type=serverCalendar&server=${serverName}", function (json, error) {
jsonRequest("../v1/graph?type=serverCalendar&server=${serverUUID}", function (json, error) {
if (json) {
$('#calendar').text('');
onlineActivityCalendar('#calendar', json.data, json.firstDay);
@ -1563,7 +1563,7 @@
}
});
jsonRequest("../v1/graph?type=punchCard&server=${serverName}", function (json, error) {
jsonRequest("../v1/graph?type=punchCard&server=${serverUUID}", function (json, error) {
if (json) {
var punchCardSeries = {
name: 'Relative Join Activity',
@ -1578,7 +1578,7 @@
setLoadingText('Sorting players table..');
jsonRequest("../v1/players?server=${serverName}", function (json, error) {
jsonRequest("../v1/players?server=${serverUUID}", function (json, error) {
if (json) {
$('.player-table').DataTable({
responsive: true,
@ -1590,8 +1590,8 @@
$('.player-table').text("Failed to load Players table data: " + error);
}
});
jsonRequest("../v1/kills?server=${serverName}", loadPlayerKills);
jsonRequest("../v1/pingTable?server=${serverName}", loadPingTable);
jsonRequest("../v1/kills?server=${serverUUID}", loadPlayerKills);
jsonRequest("../v1/pingTable?server=${serverUUID}", loadPingTable);
$('.server-name').text('${serverName}');
$('.player-plugin-table').DataTable({
@ -1601,7 +1601,7 @@
setLoadingText('Almost done..');
openPage();
jsonRequest("../v1/sessions?server=${serverName}", loadSessionAccordion);
jsonRequest("../v1/sessions?server=${serverUUID}", loadSessionAccordion);
setLoadingText('Done.');
setTimeout(function () {