mirror of
https://github.com/zulip/zulip.git
synced 2025-11-11 17:36:27 +00:00
analytics: Fix pie chart sorting computations in stats.js.
This commit is contained in:
@@ -385,36 +385,43 @@ function round_percentages(values) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function get_labels_and_data(names, data_subgroup, time_frame_integer) {
|
function get_labels_and_data(names, data_subgroup, time_frame_integer) {
|
||||||
var labels = [];
|
var data = [];
|
||||||
var values = [];
|
|
||||||
for (var key in data_subgroup) {
|
for (var key in data_subgroup) {
|
||||||
if (data_subgroup.hasOwnProperty(key)) {
|
if (data_subgroup[key].length < time_frame_integer) {
|
||||||
var sum = 0;
|
time_frame_integer = data_subgroup[key].length;
|
||||||
for (var i = time_frame_integer - 1; i >= 0; i-=1) {
|
}
|
||||||
sum += data_subgroup[key][i];
|
var sum = 0;
|
||||||
}
|
for (var i=1; i<=time_frame_integer; i+=1) {
|
||||||
if (sum > 0) {
|
sum += data_subgroup[key][data_subgroup[key].length-i];
|
||||||
values.push(sum);
|
}
|
||||||
labels.push(names[key]);
|
if (sum > 0) {
|
||||||
}
|
data.push({
|
||||||
|
value: sum,
|
||||||
|
label: names.hasOwnProperty(key) ? names[key] : key,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
labels = labels.sort(function (a, b) {
|
data.sort(function (a, b) {
|
||||||
return values[labels.indexOf(b)] - values[labels.indexOf(a)];
|
return b.value - a.value;
|
||||||
});
|
});
|
||||||
// Sort descending, using numeric comparison instead of the default string
|
var labels = [];
|
||||||
// comparison
|
var values = [];
|
||||||
values = values.sort(function (a, b) {
|
var j;
|
||||||
return b - a;
|
if (data.length <= 6) {
|
||||||
});
|
for (j=0; j<data.length; j+=1) {
|
||||||
if (values.length > 6) {
|
labels.push(data[j].label);
|
||||||
labels = labels.slice(0, 5);
|
values.push(data[j].value);
|
||||||
labels.push("Other");
|
|
||||||
var sum_remaining = 0;
|
|
||||||
for (var j=5; j<values.length; j+=1) {
|
|
||||||
sum_remaining += values[j];
|
|
||||||
}
|
}
|
||||||
values = values.slice(0, 5);
|
} else {
|
||||||
|
for (j=0; j<5; j+=1) {
|
||||||
|
labels.push(data[j].label);
|
||||||
|
values.push(data[j].value);
|
||||||
|
}
|
||||||
|
var sum_remaining = 0;
|
||||||
|
for (j=5; j<data.length; j+=1) {
|
||||||
|
sum_remaining += data[j].value;
|
||||||
|
}
|
||||||
|
labels.push("Other");
|
||||||
values.push(sum_remaining);
|
values.push(sum_remaining);
|
||||||
}
|
}
|
||||||
return [labels, values];
|
return [labels, values];
|
||||||
|
|||||||
Reference in New Issue
Block a user