Skip to content

Commit c28302a

Browse files
flatten first, then apply ordering, when flattening stacks
for #766, avoid concatening unordered data onto ordered data (ordering is still kind of a weird concept when dealing with stacked bars) fixes #772 .ordering not working for bar chart
1 parent 8841f08 commit c28302a

File tree

5 files changed

+15
-21
lines changed

5 files changed

+15
-21
lines changed

dc.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3259,15 +3259,9 @@ dc.stackMixin = function (_chart) {
32593259
};
32603260

32613261
function flattenStack() {
3262-
var groups = _chart.data();
3263-
3264-
if (groups.length) {
3265-
groups[0].values = _chart._computeOrderedGroups(groups[0].values);
3266-
}
3267-
3268-
return groups.reduce(function (all, layer) {
3269-
return all.concat(layer.values);
3270-
}, []);
3262+
var valueses = _chart.data().map(function (layer) { return layer.values; });
3263+
var flattened = Array.prototype.concat.apply([], valueses);
3264+
return _chart._computeOrderedGroups(flattened);
32713265
}
32723266

32733267
_chart.xAxisMin = function () {

dc.min.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.

dc.min.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.

src/stack-mixin.js

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -170,15 +170,9 @@ dc.stackMixin = function (_chart) {
170170
};
171171

172172
function flattenStack() {
173-
var groups = _chart.data();
174-
175-
if (groups.length) {
176-
groups[0].values = _chart._computeOrderedGroups(groups[0].values);
177-
}
178-
179-
return groups.reduce(function (all, layer) {
180-
return all.concat(layer.values);
181-
}, []);
173+
var valueses = _chart.data().map(function (layer) { return layer.values; });
174+
var flattened = Array.prototype.concat.apply([], valueses);
175+
return _chart._computeOrderedGroups(flattened);
182176
}
183177

184178
_chart.xAxisMin = function () {

web/js/dc.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3259,7 +3259,13 @@ dc.stackMixin = function (_chart) {
32593259
};
32603260

32613261
function flattenStack() {
3262-
return _chart.data().reduce(function (all, layer) {
3262+
var groups = _chart.data();
3263+
3264+
if (groups.length) {
3265+
groups[0].values = _chart._computeOrderedGroups(groups[0].values);
3266+
}
3267+
3268+
return groups.reduce(function (all, layer) {
32633269
return all.concat(layer.values);
32643270
}, []);
32653271
}

0 commit comments

Comments
 (0)