Skip to content

Commit 827ac27

Browse files
authored
Fix X axis sorting on new charts (#611)
1 parent c5ed5dd commit 827ac27

File tree

7 files changed

+46
-9
lines changed

7 files changed

+46
-9
lines changed

ckanext/querytool/fanstatic/javascript/dist/modules/table-module.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ckanext/querytool/fanstatic/javascript/dist/modules/viz-preview.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ckanext/querytool/fanstatic/javascript/dist/modules/viz-preview.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ckanext/querytool/fanstatic/javascript/dist/visualizations_settings.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ckanext/querytool/fanstatic/javascript/dist/visualizations_settings.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ckanext/querytool/fanstatic/javascript/modules/viz-preview.js

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,41 @@ ckan.module('querytool-viz-preview', function() {
212212
if (data.success) {
213213
this.fetched_data = data.result;
214214

215+
function removeCustomSorting(fetchedData) {
216+
for (var key in fetchedData) {
217+
if (fetchedData.hasOwnProperty(key)) {
218+
var name = key;
219+
220+
name = name
221+
.replace(/^"|"$/g, "")
222+
.replace(/^\d{1,2}\./, "");
223+
224+
if (name === "x" || !fetchedData[name]) {
225+
fetchedData[name] = fetchedData[key];
226+
227+
if (Array.isArray(fetchedData[name])) {
228+
if (name === "x") {
229+
fetchedData[name] = fetchedData[name].map(
230+
function (item) {
231+
return item
232+
.replace(/^"|"$/g, "")
233+
.replace(/^\d{1,2}\./, "");
234+
}
235+
);
236+
} else {
237+
delete fetchedData[key];
238+
fetchedData[name][0] = fetchedData[name][0]
239+
.replace(/^"|"$/g, "")
240+
.replace(/^\d{1,2}\./, "");
241+
}
242+
}
243+
}
244+
}
245+
}
246+
247+
return fetchedData;
248+
}
249+
215250
// Reset all metrics
216251
this.y_axis_max = null;
217252
this.y_axis_avg = null;
@@ -221,6 +256,8 @@ ckan.module('querytool-viz-preview', function() {
221256

222257
// Get max/avg/min
223258
if (category) {
259+
this.fetched_data = removeCustomSorting(this.fetched_data);
260+
224261
this.y_axis_max = this.fetched_data.y_axis_max;
225262
this.y_axis_avg = this.fetched_data.y_axis_avg;
226263
this.y_axis_min = this.fetched_data.y_axis_min;
@@ -1710,7 +1747,7 @@ ckan.module('querytool-viz-preview', function() {
17101747
colorInputs.parent().remove();
17111748
}
17121749

1713-
for (tmp = 0; tmp < len_data; tmp++) {
1750+
for (tmp = len_data -1; tmp >=0; tmp--) {
17141751
let label;
17151752

17161753
if (["pie", "donut"].includes(chartType)) {

ckanext/querytool/fanstatic/javascript/visualizations_settings.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -982,9 +982,9 @@
982982
axis_range_min_id.attr("id", "axis_range_min_" + order);
983983
axis_range_max_id.attr("id", "axis_range_max_" + order);
984984

985-
x_sort_labels_id.attr('id', 'x_sort_labels_' + order);
986-
x_sort_labels_name.attr('name', 'x_sort_labels_' + order);
987-
x_sort_labels_label.attr('for', 'x_sort_labels_' + order);
985+
x_sort_labels_id.attr('id', 'chart_field_x_sort_labels_' + order);
986+
x_sort_labels_name.attr('name', 'chart_field_x_sort_labels_' + order);
987+
x_sort_labels_label.attr('for', 'chart_field_x_sort_labels_' + order);
988988

989989
item.find("[id*=chart_field_graph_]").change();
990990
incrementCopyButton();

0 commit comments

Comments
 (0)