Merge pull request #5398 from spalger/fix/segmentOrder

[pointSeries/addToSiri] use Map() so that numeric keys are not sorted
This commit is contained in:
Spencer 2015-11-17 13:43:46 -06:00
commit c092d5d997
3 changed files with 25 additions and 25 deletions

View file

@ -9,20 +9,20 @@ describe('addToSiri', function () {
}));
it('creates a new series the first time it sees an id', function () {
var series = {};
var series = new Map();
var point = {};
var id = 'id';
addToSiri(series, point, id);
expect(series).to.have.own.property(id);
expect(series[id]).to.be.an('object');
expect(series[id].label).to.be(id);
expect(series[id].values).to.have.length(1);
expect(series[id].values[0]).to.be(point);
expect(series.has(id)).to.be(true);
expect(series.get(id)).to.be.an('object');
expect(series.get(id).label).to.be(id);
expect(series.get(id).values).to.have.length(1);
expect(series.get(id).values[0]).to.be(point);
});
it('adds points to existing series if id has been seen', function () {
var series = {};
var series = new Map();
var id = 'id';
var point = {};
@ -31,25 +31,25 @@ describe('addToSiri', function () {
var point2 = {};
addToSiri(series, point2, id);
expect(series).to.have.own.property(id);
expect(series[id]).to.be.an('object');
expect(series[id].label).to.be(id);
expect(series[id].values).to.have.length(2);
expect(series[id].values[0]).to.be(point);
expect(series[id].values[1]).to.be(point2);
expect(series.has(id)).to.be(true);
expect(series.get(id)).to.be.an('object');
expect(series.get(id).label).to.be(id);
expect(series.get(id).values).to.have.length(2);
expect(series.get(id).values[0]).to.be(point);
expect(series.get(id).values[1]).to.be(point2);
});
it('allows overriding the series label', function () {
var series = {};
var series = new Map();
var id = 'id';
var label = 'label';
var point = {};
addToSiri(series, point, id, label);
expect(series).to.have.own.property(id);
expect(series[id]).to.be.an('object');
expect(series[id].label).to.be(label);
expect(series[id].values).to.have.length(1);
expect(series[id].values[0]).to.be(point);
expect(series.has(id)).to.be(true);
expect(series.get(id)).to.be.an('object');
expect(series.get(id).label).to.be(label);
expect(series.get(id).values).to.have.length(1);
expect(series.get(id).values[0]).to.be(point);
});
});

View file

@ -3,15 +3,15 @@ define(function (require) {
return function addToSiri(series, point, id, label) {
id = id == null ? '' : id + '';
if (series[id]) {
series[id].values.push(point);
if (series.has(id)) {
series.get(id).values.push(point);
return;
}
series[id] = {
series.set(id, {
label: label == null ? id : label,
values: [point]
};
});
};
};
});

View file

@ -29,8 +29,8 @@ define(function (require) {
addToSiri(series, point, seriesId, seriesLabel);
});
}, {})
.values()
}, new Map())
.thru(series => [...series.values()])
.value();
if (multiY) {