From 9ac65023941d3c7275b967af3f0530cae6bcbf64 Mon Sep 17 00:00:00 2001 From: Cryptkeeper Date: Tue, 23 Feb 2016 19:19:15 -0600 Subject: [PATCH] Allow the server to control category visibility --- assets/js/site.js | 17 ----------------- assets/js/util.js | 17 +++++++++++++++++ config.json | 3 ++- lib/server.js | 3 ++- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/assets/js/site.js b/assets/js/site.js index 61d402a..c64eb67 100644 --- a/assets/js/site.js +++ b/assets/js/site.js @@ -10,8 +10,6 @@ var isConnected = false; var mojangServicesUpdater; var sortServersTask; -var categoriesVisible = true; - function updateServerStatus(lastEntry) { var info = lastEntry.info; var div = $('#status_' + safeName(info.name)); @@ -108,19 +106,6 @@ function sortServers() { } } -function setCategoriesVisible(newCategoriesVisible) { - categoriesVisible = newCategoriesVisible; - - $('.category-header').css('display', (categoriesVisible ? 'block' : 'none')); - $('.server-container').css('margin', (categoriesVisible ? '10px auto' : '0 auto')); - - sortServers(); - - if (typeof(localStorage)) { - localStorage.setItem('categoriesVisible', categoriesVisible); - } -} - function setAllGraphVisibility(visible) { if (visible) { var keys = Object.keys(hiddenGraphData); @@ -305,8 +290,6 @@ $(document).ready(function() { }); socket.on('add', function(servers) { - createCategories(); - if (Object.keys(publicConfig.categories).length > 0) { $('#category-controller').css('display', 'block'); } diff --git a/assets/js/util.js b/assets/js/util.js index 8261892..beb4af8 100644 --- a/assets/js/util.js +++ b/assets/js/util.js @@ -6,9 +6,26 @@ var lastMojangServiceUpdate; var publicConfig; var createdCategories = false; +var categoriesVisible; function setPublicConfig(json) { publicConfig = json; + + $('#server-container-list').html(''); + + createdCategories = false; + + createCategories(); + setCategoriesVisible(publicConfig.categoriesVisible); +} + +function setCategoriesVisible(newCategoriesVisible) { + categoriesVisible = newCategoriesVisible; + + $('.category-header').css('display', (categoriesVisible ? 'block' : 'none')); + $('.server-container').css('margin', (categoriesVisible ? '10px auto' : '0 auto')); + + sortServers(); } function createCategories() { diff --git a/config.json b/config.json index 41a5237..aa0986c 100644 --- a/config.json +++ b/config.json @@ -31,5 +31,6 @@ "major": "Major Networks", "midsized": "Midsized Networks", "small": "Small Networks" - } + }, + "categoriesVisible": true } diff --git a/lib/server.js b/lib/server.js index 3d7b46b..01036d7 100644 --- a/lib/server.js +++ b/lib/server.js @@ -67,7 +67,8 @@ function handleRequest(req, res) { categories: categories, graphDuration: config.graphDuration, servers: servers, - bootTime: util.getBootTime() + bootTime: util.getBootTime(), + categoriesVisible: config.categoriesVisible || false }; res.write('setPublicConfig(' + JSON.stringify(publicConfig) + ');');