Merge pull request #5398 from spalger/fix/segmentOrder
[pointSeries/addToSiri] use Map() so that numeric keys are not sorted
This commit is contained in:
commit
c092d5d997
|
@ -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);
|
||||
});
|
||||
});
|
||||
|
|
|
@ -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]
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
});
|
||||
|
|
|
@ -29,8 +29,8 @@ define(function (require) {
|
|||
addToSiri(series, point, seriesId, seriesLabel);
|
||||
});
|
||||
|
||||
}, {})
|
||||
.values()
|
||||
}, new Map())
|
||||
.thru(series => [...series.values()])
|
||||
.value();
|
||||
|
||||
if (multiY) {
|
||||
|
|
Loading…
Reference in a new issue