diff --git a/Plan/src/main/java/com/djrapitops/plan/data/store/containers/NetworkContainer.java b/Plan/src/main/java/com/djrapitops/plan/data/store/containers/NetworkContainer.java index 438d74baa..ae8b7259d 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/store/containers/NetworkContainer.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/store/containers/NetworkContainer.java @@ -16,6 +16,7 @@ import com.djrapitops.plan.system.settings.theme.ThemeVal; import com.djrapitops.plan.utilities.MiscUtils; import com.djrapitops.plan.utilities.html.graphs.ActivityStackGraph; import com.djrapitops.plan.utilities.html.graphs.WorldMap; +import com.djrapitops.plan.utilities.html.graphs.bar.GeolocationBarGraph; import com.djrapitops.plan.utilities.html.graphs.line.OnlineActivityGraph; import com.djrapitops.plan.utilities.html.graphs.pie.ActivityPie; import com.djrapitops.plugin.api.TimeAmount; @@ -99,6 +100,11 @@ public class NetworkContainer extends DataContainer { putSupplier(NetworkKeys.WORLD_MAP_SERIES, () -> new WorldMap(PlayersMutator.forContainer(bungeeContainer)).toHighChartsSeries() ); + Key geolocationBarChart = new Key<>(GeolocationBarGraph.class, "GEOLOCATION_BAR_CHART"); + putSupplier(geolocationBarChart, () -> new GeolocationBarGraph(getUnsafe(NetworkKeys.PLAYERS_MUTATOR))); + putSupplier(NetworkKeys.COUNTRY_CATEGORIES, () -> getUnsafe(geolocationBarChart).toHighChartsCategories()); + putSupplier(NetworkKeys.COUNTRY_SERIES, () -> getUnsafe(geolocationBarChart).toHighChartsSeries()); + putSupplier(NetworkKeys.PLAYERS_ONLINE_SERIES, () -> new OnlineActivityGraph(TPSMutator.forContainer(bungeeContainer)).toHighChartsSeries() ); diff --git a/Plan/src/main/java/com/djrapitops/plan/data/store/keys/AnalysisKeys.java b/Plan/src/main/java/com/djrapitops/plan/data/store/keys/AnalysisKeys.java index b6f3a919f..53dbd7cd8 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/store/keys/AnalysisKeys.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/store/keys/AnalysisKeys.java @@ -129,8 +129,8 @@ public class AnalysisKeys { public static final PlaceholderKey CALENDAR_SERIES = new PlaceholderKey<>(String.class, "calendarSeries"); public static final PlaceholderKey UNIQUE_PLAYERS_SERIES = new PlaceholderKey<>(String.class, "uniquePlayersSeries"); public static final PlaceholderKey NEW_PLAYERS_SERIES = new PlaceholderKey<>(String.class, "newPlayersSeries"); - public static final PlaceholderKey COUNTRY_CATEGORIES = new PlaceholderKey<>(String.class, "countryCategories"); - public static final PlaceholderKey COUNTRY_SERIES = new PlaceholderKey<>(String.class, "countrySeries"); + public static final PlaceholderKey COUNTRY_CATEGORIES = CommonPlaceholderKeys.COUNTRY_CATEGORIES; + public static final PlaceholderKey COUNTRY_SERIES = CommonPlaceholderKeys.COUNTRY_SERIES; // Variables used only during analysis public static final Key SESSIONS_MUTATOR = CommonKeys.SESSIONS_MUTATOR; public static final Key TPS_MUTATOR = CommonKeys.TPS_MUTATOR; diff --git a/Plan/src/main/java/com/djrapitops/plan/data/store/keys/CommonPlaceholderKeys.java b/Plan/src/main/java/com/djrapitops/plan/data/store/keys/CommonPlaceholderKeys.java index ba8bb5e4e..25b253555 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/store/keys/CommonPlaceholderKeys.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/store/keys/CommonPlaceholderKeys.java @@ -22,7 +22,9 @@ class CommonPlaceholderKeys { static final PlaceholderKey ACTIVITY_STACK_SERIES = new PlaceholderKey<>(String.class, "activityStackSeries"); static final PlaceholderKey ACTIVITY_STACK_CATEGORIES = new PlaceholderKey<>(String.class, "activityStackCategories"); static final PlaceholderKey ACTIVITY_PIE_SERIES = new PlaceholderKey<>(String.class, "activityPieSeries"); - + public static final PlaceholderKey COUNTRY_CATEGORIES = new PlaceholderKey<>(String.class, "countryCategories"); + public static final PlaceholderKey COUNTRY_SERIES = new PlaceholderKey<>(String.class, "countrySeries"); + static final PlaceholderKey HEALTH_NOTES = new PlaceholderKey<>(String.class, "healthNotes"); static final PlaceholderKey HEALTH_INDEX = new PlaceholderKey<>(Double.class, "healthIndex"); diff --git a/Plan/src/main/java/com/djrapitops/plan/data/store/keys/NetworkKeys.java b/Plan/src/main/java/com/djrapitops/plan/data/store/keys/NetworkKeys.java index ca5b242b6..f85c0c4ed 100644 --- a/Plan/src/main/java/com/djrapitops/plan/data/store/keys/NetworkKeys.java +++ b/Plan/src/main/java/com/djrapitops/plan/data/store/keys/NetworkKeys.java @@ -42,6 +42,8 @@ public class NetworkKeys { public static final PlaceholderKey ACTIVITY_STACK_SERIES = CommonPlaceholderKeys.ACTIVITY_STACK_SERIES; public static final PlaceholderKey ACTIVITY_STACK_CATEGORIES = CommonPlaceholderKeys.ACTIVITY_STACK_CATEGORIES; public static final PlaceholderKey ACTIVITY_PIE_SERIES = CommonPlaceholderKeys.ACTIVITY_PIE_SERIES; + public static final PlaceholderKey COUNTRY_CATEGORIES = CommonPlaceholderKeys.COUNTRY_CATEGORIES; + public static final PlaceholderKey COUNTRY_SERIES = CommonPlaceholderKeys.COUNTRY_SERIES; public static final PlaceholderKey HEALTH_INDEX = CommonPlaceholderKeys.HEALTH_INDEX; public static final PlaceholderKey HEALTH_NOTES = CommonPlaceholderKeys.HEALTH_NOTES; diff --git a/Plan/src/main/java/com/djrapitops/plan/system/webserver/pages/parsing/NetworkPage.java b/Plan/src/main/java/com/djrapitops/plan/system/webserver/pages/parsing/NetworkPage.java index 5de8dda2f..3095a2053 100644 --- a/Plan/src/main/java/com/djrapitops/plan/system/webserver/pages/parsing/NetworkPage.java +++ b/Plan/src/main/java/com/djrapitops/plan/system/webserver/pages/parsing/NetworkPage.java @@ -37,6 +37,7 @@ public class NetworkPage implements Page { PLAYERS_DAY, PLAYERS_WEEK, PLAYERS_MONTH, PLAYERS_NEW_DAY, PLAYERS_NEW_WEEK, PLAYERS_NEW_MONTH, WORLD_MAP_SERIES, WORLD_MAP_HIGH_COLOR, WORLD_MAP_LOW_COLOR, + COUNTRY_CATEGORIES, COUNTRY_SERIES, HEALTH_INDEX, HEALTH_NOTES, ACTIVITY_PIE_SERIES, ACTIVITY_STACK_SERIES, ACTIVITY_STACK_CATEGORIES ); diff --git a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/HtmlExport.java b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/HtmlExport.java index c91dbfb55..342a9c034 100644 --- a/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/HtmlExport.java +++ b/Plan/src/main/java/com/djrapitops/plan/utilities/file/export/HtmlExport.java @@ -122,6 +122,7 @@ public class HtmlExport extends SpecificExport { "web/js/script.js", "web/js/charts/activityPie.js", "web/js/charts/lineGraph.js", + "web/js/charts/horizontalBarGraph.js", "web/js/charts/stackGraph.js", "web/js/charts/performanceGraph.js", "web/js/charts/playerGraph.js", diff --git a/Plan/src/main/resources/web/network.html b/Plan/src/main/resources/web/network.html index 3c69a7270..397cf3e51 100644 --- a/Plan/src/main/resources/web/network.html +++ b/Plan/src/main/resources/web/network.html @@ -473,7 +473,14 @@
-
+
+
+
+
+
+
+
+
@@ -511,6 +518,7 @@ +