Skip to content

Commit

Permalink
Implement count aggregate method
Browse files Browse the repository at this point in the history
  • Loading branch information
Aleksandar Jovanov committed Nov 24, 2019
1 parent a63ad69 commit 9638606
Showing 1 changed file with 38 additions and 21 deletions.
59 changes: 38 additions & 21 deletions ckanext/visualize/fanstatic/js/modules/visualize-data.js
Original file line number Diff line number Diff line change
Expand Up @@ -230,33 +230,34 @@ ckan.module('visualize-data', function($) {
num,
i
) {
return {
...chartData.datasets[0].data[i],
return $.extend({}, chartData.datasets[0].data[i], {
y: num
};
});
});
} else {
chartData.datasets[0].data = columns[currentxAxis].map(function(
num,
i
) {
return {
...chartData.datasets[0].data[i],
return $.extend({}, chartData.datasets[0].data[i], {
x: num
};
});
});
chartData.datasets[0].data = columns[currentyAxis].map(function(
num,
i
) {
return {
...chartData.datasets[0].data[i],
return $.extend({}, chartData.datasets[0].data[i], {
y: num
};
});
});
}
} else {
$.each(columns[column], function(i, item) {
// Extract the unique values from the selected column
var unique = columns[column].filter(
(v, i, a) => a.indexOf(v) === i
);
$.each(unique, function(i, item) {
chartData.labels.push(item);
});
}
Expand Down Expand Up @@ -285,34 +286,50 @@ ckan.module('visualize-data', function($) {
num,
i
) {
return {
...chartData.datasets[0].data[i],
return $.extend({}, chartData.datasets[0].data[i], {
y: num
};
});
});
} else {
chartData.datasets[0].data = columns[currentxAxis].map(function(
num,
i
) {
return {
...chartData.datasets[0].data[i],
return $.extend({}, chartData.datasets[0].data[i], {
x: num
};
});
});
chartData.datasets[0].data = columns[currentyAxis].map(function(
num,
i
) {
return {
...chartData.datasets[0].data[i],
return $.extend({}, chartData.datasets[0].data[i], {
y: num
};
});
});
}
} else {
$.each(columns[column], function(i, item) {
chartData.datasets[0].data.push(item);
// Extract the unique values from the x-axis column
var uniqueLabels = columns[currentxAxis].filter(
(v, i, a) => a.indexOf(v) === i
);
var j = 0;
$.each(uniqueLabels, function(x, label) {
var countRows = 0;
for (var i = j; i < columns[currentxAxis].length; i++) {
if (label === columns[currentxAxis][i]) {
countRows++;
} else {
chartData.datasets[0].data.push(countRows);
countRows = 0;
j = i;
break;
}

if (i === columns[currentxAxis].length - 1) {
chartData.datasets[0].data.push(countRows);
}
}
});
}
chart.destroy();
Expand Down

0 comments on commit 9638606

Please sign in to comment.