Skip to content

Commit 133f3ab

Browse files
committed
moving gd[].dimensions out of parcoords.js #1
1 parent ab2b4fe commit 133f3ab

File tree

2 files changed

+16
-9
lines changed

2 files changed

+16
-9
lines changed

src/traces/parcoords/parcoords.js

+3-8
Original file line numberDiff line numberDiff line change
@@ -777,14 +777,9 @@ module.exports = function(root, svg, styledData, layout, callbacks) {
777777
var invScale = dimension.domainToUnitScale.invert;
778778

779779
// update gd.data as if a Plotly.restyle were fired
780-
var gdDimension = p.model._gdDimensionsOriginalOrder[dimension.crossfilterDimensionIndex];
781-
var gdConstraintRange = gdDimension.constraintrange;
782-
if(!gdConstraintRange || gdConstraintRange.length !== 2) {
783-
gdConstraintRange = gdDimension.constraintrange = [];
784-
}
785-
gdConstraintRange[0] = invScale(f[0]);
786-
gdConstraintRange[1] = invScale(f[1]);
787-
callbacks.filterChanged();
780+
var originalDimensionIndex = dimension.crossfilterDimensionIndex;
781+
var newRange = f.map(invScale);
782+
callbacks.filterChanged(p.key, originalDimensionIndex, newRange);
788783
}
789784
}
790785

src/traces/parcoords/plot.js

+13-1
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,28 @@ var Lib = require('../../lib');
1313

1414
module.exports = function plot(gd, cdparcoords) {
1515

16+
var gdDimensionsOriginalOrder = {};
17+
1618
var fullLayout = gd._fullLayout;
1719
var svg = fullLayout._paper;
1820
var root = fullLayout._paperdiv;
1921
var data = cdparcoords.map(function(d, i) {
2022
var item = Lib.extendDeep(d[0]);
2123
item._gdDimensions = gd.data[i].dimensions;
24+
gdDimensionsOriginalOrder[i] = gd.data[i].dimensions.slice();
2225
return item;
2326
});
2427

25-
var filterChanged = function() {
28+
var filterChanged = function(i, originalDimensionIndex, newRange) {
29+
30+
var gdDimension = gdDimensionsOriginalOrder[i][originalDimensionIndex];
31+
var gdConstraintRange = gdDimension.constraintrange;
32+
if(!gdConstraintRange || gdConstraintRange.length !== 2) {
33+
gdConstraintRange = gdDimension.constraintrange = [];
34+
}
35+
gdConstraintRange[0] = newRange[0];
36+
gdConstraintRange[1] = newRange[1];
37+
2638
gd.emit('plotly_restyle');
2739
};
2840

0 commit comments

Comments
 (0)