mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-07 06:25:50 +01:00
closes #5992
This commit is contained in:
@@ -117,7 +117,7 @@ define('admin/general/dashboard', ['semver', 'Chart', 'translator', 'benchpress'
|
||||
|
||||
updateRegisteredGraph(data.onlineRegisteredCount, data.onlineGuestCount);
|
||||
updatePresenceGraph(data.users);
|
||||
updateTopicsGraph(data.topics);
|
||||
updateTopicsGraph(data.topTenTopics);
|
||||
|
||||
$('#active-users').translateHtml(html);
|
||||
};
|
||||
@@ -444,39 +444,36 @@ define('admin/general/dashboard', ['semver', 'Chart', 'translator', 'benchpress'
|
||||
}
|
||||
|
||||
function updateTopicsGraph(topics) {
|
||||
if (!Object.keys(topics).length) {
|
||||
topics = { 0: {
|
||||
if (!topics.length) {
|
||||
topics = [{
|
||||
title: 'No users browsing',
|
||||
value: 1,
|
||||
} };
|
||||
count: 1,
|
||||
}];
|
||||
}
|
||||
|
||||
var tids = Object.keys(topics);
|
||||
|
||||
graphs.topics.data.labels = [];
|
||||
graphs.topics.data.datasets[0].data = [];
|
||||
graphs.topics.data.datasets[0].backgroundColor = [];
|
||||
graphs.topics.data.datasets[0].hoverBackgroundColor = [];
|
||||
|
||||
for (var i = 0, ii = tids.length; i < ii; i += 1) {
|
||||
graphs.topics.data.labels.push(topics[tids[i]].title);
|
||||
graphs.topics.data.datasets[0].data.push(topics[tids[i]].value);
|
||||
topics.forEach(function (topic, i) {
|
||||
graphs.topics.data.labels.push(topic.title);
|
||||
graphs.topics.data.datasets[0].data.push(topic.count);
|
||||
graphs.topics.data.datasets[0].backgroundColor.push(topicColors[i]);
|
||||
graphs.topics.data.datasets[0].hoverBackgroundColor.push(lighten(topicColors[i], 10));
|
||||
}
|
||||
});
|
||||
|
||||
function buildTopicsLegend() {
|
||||
var legend = $('#topics-legend').html('');
|
||||
|
||||
for (var i = 0, ii = tids.length; i < ii; i += 1) {
|
||||
var topic = topics[tids[i]];
|
||||
var label = topic.value === '0' ? topic.title : '<a title="' + topic.title + '"href="' + RELATIVE_PATH + '/topic/' + tids[i] + '" target="_blank"> ' + topic.title + '</a>';
|
||||
topics.forEach(function (topic, i) {
|
||||
var label = topic.count === '0' ? topic.title : '<a title="' + topic.title + '"href="' + RELATIVE_PATH + '/topic/' + topic.tid + '" target="_blank"> ' + topic.title + '</a>';
|
||||
|
||||
legend.append('<li>' +
|
||||
'<div style="background-color: ' + topicColors[i] + ';"></div>' +
|
||||
'<span>' + label + '</span>' +
|
||||
'</li>');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
buildTopicsLegend();
|
||||
|
||||
@@ -89,7 +89,7 @@ SocketRooms.getAll = function (socket, data, callback) {
|
||||
|
||||
var topTenTopics = [];
|
||||
Object.keys(totals.topics).forEach(function (tid) {
|
||||
topTenTopics.push({ tid: tid, count: totals.topics[tid].count });
|
||||
topTenTopics.push({ tid: tid, count: totals.topics[tid].count || 0 });
|
||||
});
|
||||
|
||||
topTenTopics = topTenTopics.sort(function (a, b) {
|
||||
@@ -105,13 +105,11 @@ SocketRooms.getAll = function (socket, data, callback) {
|
||||
topics.getTopicsFields(topTenTids, ['title'], next);
|
||||
},
|
||||
function (titles, next) {
|
||||
totals.topics = {};
|
||||
topTenTopics.forEach(function (topic, index) {
|
||||
totals.topics[topic.tid] = {
|
||||
value: topic.count || 0,
|
||||
title: String(titles[index].title),
|
||||
};
|
||||
totals.topTenTopics = topTenTopics.map(function (topic, index) {
|
||||
topic.title = titles[index].title;
|
||||
return topic;
|
||||
});
|
||||
|
||||
next(null, totals);
|
||||
},
|
||||
], callback);
|
||||
|
||||
Reference in New Issue
Block a user