\r
// html for the main menu\r
var mainmenu = "";\r
+var categoriesmainmenu = "";\r
+var familiesmainmenu = "";\r
+var chartsmainmenu = "";\r
\r
\r
// ------------------------------------------------------------------------\r
if(mainchart) cleanThisChart(mainchart);\r
\r
mainchart = $.extend(true, {}, c);\r
+ mainchart.enabled = true;\r
mainchart.refreshCount = 0;\r
mainchart.last_updated = 0;\r
mainchart.chartOptions.explorer = null;\r
\r
else if(mode == MODE_THUMBS)\r
initMainChart(mycharts[i]);\r
+\r
+ else\r
+ initMainChart(mycharts[i]);\r
+}\r
+\r
+function initMainChartIndexOfMyCharts(i) {\r
+ initMainChart(mycharts[i]);\r
}\r
\r
var last_main_chart_max='normal';\r
document.getElementById('thumbgraphs_container').style.display = 'none';\r
document.getElementById('groupgraphs_container').style.display = 'none';\r
\r
- document.getElementById("main_menu_div").innerHTML = "<ul class=\"nav navbar-nav\"><li><a href=\"javascript:switchToThumbGraphs();\">Back to Home</a></li><li class=\"active\"><a href=\"#\">" + mainchart.title + "</a></li></ul>";\r
+ document.getElementById("main_menu_div").innerHTML = "<ul class=\"nav navbar-nav\"><li><a href=\"javascript:switchToThumbGraphs();\"><span class=\"glyphicon glyphicon-circle-arrow-left\"></span> Back to Home</a></li><li class=\"active\"><a href=\"#\">" + mainchart.name + "</a></li>" + familiesmainmenu + chartsmainmenu + "</ul>";\r
\r
window.scrollTo(0, 0);\r
\r
document.getElementById('thumbgraphs_container').style.display = 'none';\r
document.getElementById('groupgraphs_container').style.display = 'block';\r
\r
- document.getElementById("main_menu_div").innerHTML = "<ul class=\"nav navbar-nav\"><li><a href=\"javascript:switchToThumbGraphs();\">Back to Home</a></li><li class=\"active\"><a href=\"#\">" + group_charts[0].family + " charts</a></li></ul>";\r
+ document.getElementById("main_menu_div").innerHTML = "<ul class=\"nav navbar-nav\"><li><a href=\"javascript:switchToThumbGraphs();\">Back to Home</a></li><li class=\"active\"><a href=\"#\">" + group_charts[0].family + "</a></li>" + familiesmainmenu + chartsmainmenu + "</ul>";\r
\r
window.scrollTo(0, 0);\r
\r
// create an array for grouping all same-type graphs together\r
var dimensions = 0;\r
var categories = new Array();\r
+ var families = new Array();\r
+ var chartslist = new Array();\r
$.each(mycharts, function(i, c) {\r
+ var j;\r
+\r
+ chartslist.push({name: c.name, type: c.type, id: i});\r
+\r
dimensions += c.dimensions.length;\r
c.chartOptions.width = width;\r
c.chartOptions.height = height;\r
calculateChartPointsToShow(c, c.chartOptions.isStacked?THUMBS_STACKED_POINTS_DIVISOR:THUMBS_POINTS_DIVISOR, THUMBS_MAX_TIME_TO_SHOW, -1);\r
\r
if(c.enabled) {\r
- var j;\r
var h = "<div class=\"thumbgraph\" id=\"" + c.div + "_parent\"><table><tr><td><div class=\"thumbgraph\" id=\"" + c.div + "\">" + chartIsLoadingHTML(c.name, c.chartOptions.width, c.chartOptions.height) + "</div></td></tr><tr><td align=\"center\">"\r
+ thumbChartActions(i, c)\r
+ "</td></tr><tr><td height='15'></td></tr></table></div>";\r
}\r
}\r
\r
- if(j == categories.length) {\r
+ if(j == categories.length)\r
categories.push({name: c.type, title: c.category, description: '', priority: c.categoryPriority, count: 1, glyphicon: c.glyphicon, html: h});\r
+ }\r
+\r
+ // find the families object for this type\r
+ for(j = 0; j < families.length ;j++) {\r
+ if(families[j].name == c.family) {\r
+ families[j].count++;\r
+ break;\r
}\r
}\r
+\r
+ if(j == families.length)\r
+ families.push({name: c.family, count: 1});\r
});\r
\r
document.getElementById('server_summary_id').innerHTML = "<small>NetData server at <b>" + all.hostname + "</b> is maintaining <b>" + mycharts.length + "</b> charts, having <b>" + dimensions + "</b> dimensions (by default with <b>" + all.history + "</b> entries each), which are updated every <b>" + all.update_every + "s</b>, using a total of <b>" + (Math.round(all.memory * 10 / 1024 / 1024) / 10) + " MB</b> for the round robin database.</small>";\r
}\r
categories.sort(categoriessort);\r
\r
+ function familiessort(a, b) {\r
+ if(a.name < b.name) return -1;\r
+ return 1;\r
+ }\r
+ families.sort(familiessort);\r
+\r
+ function chartslistsort(a, b) {\r
+ if(a.name < b.name) return -1;\r
+ return 1;\r
+ }\r
+ chartslist.sort(chartslistsort);\r
+\r
// combine all the htmls into one\r
var allcategories = "<table width=\"100%\">";\r
- mainmenu = "<ul class=\"nav navbar-nav\"><li><a href=\"#\">Home</a></li>";\r
+ mainmenu = '<ul class="nav navbar-nav">';\r
+\r
+ categoriesmainmenu = '<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class=\"glyphicon glyphicon-fire\"></span> Chart Sections <b class="caret"></b></a><ul class="dropdown-menu">';\r
$.each(categories, function(i, a) {\r
allcategories += a.html;\r
- mainmenu += "<li><a href=\"#" + a.name + "\">" + a.title + "</a></li>";\r
+ categoriesmainmenu += "<li><a href=\"#" + a.name + "\">" + a.title + "</a></li>";\r
});\r
+ categoriesmainmenu += "</ul></li>";\r
allcategories += "</table>";\r
+\r
+ familiesmainmenu = '<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class=\"glyphicon glyphicon-th-large\"></span> Chart Families <b class="caret"></b></a><ul class="dropdown-menu">';\r
+ $.each(families, function(i, a) {\r
+ familiesmainmenu += "<li><a href=\"javascript:initGroupGraphs('" + a.name + "');\">" + a.name + " <span class=\"badge pull-right\">" + a.count + "</span></a></li>";\r
+ });\r
+ familiesmainmenu += "</ul></li>";\r
+\r
+ chartsmainmenu = '<li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class=\"glyphicon glyphicon-resize-full\"></span> All Charts <b class="caret"></b></a><ul class="dropdown-menu">';\r
+ $.each(chartslist, function(i, a) {\r
+ chartsmainmenu += "<li><a href=\"javascript:initMainChartIndexOfMyCharts('" + a.id + "');\">" + a.name + "</a></li>";\r
+ });\r
+ chartsmainmenu += "</ul></li>";\r
+\r
+ mainmenu += categoriesmainmenu;\r
+ mainmenu += familiesmainmenu;\r
+ mainmenu += chartsmainmenu;\r
mainmenu += "</ul>";\r
\r
thumbsContainer.innerHTML = allcategories;\r