@@ -19,8 +19,8 @@ module.exports = function plot(gd, cdModule) {
19
19
var success = prepareRegl ( gd ) ;
20
20
if ( ! success ) return ;
21
21
22
- var gdDimensions = { } ;
23
- var gdDimensionsOriginalOrder = { } ;
22
+ var currentDims = { } ;
23
+ var initialDims = { } ;
24
24
var fullIndices = { } ;
25
25
var inputIndices = { } ;
26
26
@@ -30,37 +30,37 @@ module.exports = function plot(gd, cdModule) {
30
30
var trace = d [ 0 ] . trace ;
31
31
fullIndices [ i ] = trace . index ;
32
32
var iIn = inputIndices [ i ] = trace . _fullInput . index ;
33
- gdDimensions [ i ] = gd . data [ iIn ] . dimensions ;
34
- gdDimensionsOriginalOrder [ i ] = gd . data [ iIn ] . dimensions . slice ( ) ;
33
+ currentDims [ i ] = gd . data [ iIn ] . dimensions ;
34
+ initialDims [ i ] = gd . data [ iIn ] . dimensions . slice ( ) ;
35
35
} ) ;
36
36
37
- var filterChanged = function ( i , originalDimensionIndex , newRanges ) {
37
+ var filterChanged = function ( i , initialDimIndex , newRanges ) {
38
38
// Have updated `constraintrange` data on `gd.data` and raise `Plotly.restyle` event
39
39
// without having to incur heavy UI blocking due to an actual `Plotly.restyle` call
40
40
41
- var gdDimension = gdDimensionsOriginalOrder [ i ] [ originalDimensionIndex ] ;
41
+ var dim = initialDims [ i ] [ initialDimIndex ] ;
42
42
var newConstraints = newRanges . map ( function ( r ) { return r . slice ( ) ; } ) ;
43
43
44
44
// Store constraint range in preGUI
45
45
// This one doesn't work if it's stored in pieces in _storeDirectGUIEdit
46
46
// because it's an array of variable dimensionality. So store the whole
47
47
// thing at once manually.
48
- var aStr = 'dimensions[' + originalDimensionIndex + '].constraintrange' ;
48
+ var aStr = 'dimensions[' + initialDimIndex + '].constraintrange' ;
49
49
var preGUI = fullLayout . _tracePreGUI [ gd . _fullData [ fullIndices [ i ] ] . _fullInput . uid ] ;
50
50
if ( preGUI [ aStr ] === undefined ) {
51
- var initialVal = gdDimension . constraintrange ;
51
+ var initialVal = dim . constraintrange ;
52
52
preGUI [ aStr ] = initialVal || null ;
53
53
}
54
54
55
- var fullDimension = gd . _fullData [ fullIndices [ i ] ] . dimensions [ originalDimensionIndex ] ;
55
+ var fullDimension = gd . _fullData [ fullIndices [ i ] ] . dimensions [ initialDimIndex ] ;
56
56
57
57
if ( ! newConstraints . length ) {
58
- delete gdDimension . constraintrange ;
58
+ delete dim . constraintrange ;
59
59
delete fullDimension . constraintrange ;
60
60
newConstraints = null ;
61
61
} else {
62
62
if ( newConstraints . length === 1 ) newConstraints = newConstraints [ 0 ] ;
63
- gdDimension . constraintrange = newConstraints ;
63
+ dim . constraintrange = newConstraints ;
64
64
fullDimension . constraintrange = newConstraints . slice ( ) ;
65
65
// wrap in another array for restyle event data
66
66
newConstraints = [ newConstraints ] ;
@@ -85,7 +85,7 @@ module.exports = function plot(gd, cdModule) {
85
85
86
86
function visible ( dimension ) { return ! ( 'visible' in dimension ) || dimension . visible ; }
87
87
88
- function newIdx ( visibleIndices , orig , dim ) {
88
+ function newIndex ( visibleIndices , orig , dim ) {
89
89
var origIndex = orig . indexOf ( dim ) ;
90
90
var currentIndex = visibleIndices . indexOf ( origIndex ) ;
91
91
if ( currentIndex === - 1 ) {
@@ -98,26 +98,26 @@ module.exports = function plot(gd, cdModule) {
98
98
function sorter ( orig ) {
99
99
return function sorter ( d1 , d2 ) {
100
100
return (
101
- newIdx ( visibleIndices , orig , d1 ) -
102
- newIdx ( visibleIndices , orig , d2 )
101
+ newIndex ( visibleIndices , orig , d1 ) -
102
+ newIndex ( visibleIndices , orig , d2 )
103
103
) ;
104
104
} ;
105
105
}
106
106
107
107
// drag&drop sorting of the visible dimensions
108
- var orig = sorter ( gdDimensionsOriginalOrder [ i ] . filter ( visible ) ) ;
109
- gdDimensions [ i ] . sort ( orig ) ;
108
+ var orig = sorter ( initialDims [ i ] . filter ( visible ) ) ;
109
+ currentDims [ i ] . sort ( orig ) ;
110
110
111
111
// invisible dimensions are not interpreted in the context of drag&drop sorting as an invisible dimension
112
112
// cannot be dragged; they're interspersed into their original positions by this subsequent merging step
113
- gdDimensionsOriginalOrder [ i ] . filter ( function ( d ) { return ! visible ( d ) ; } )
113
+ initialDims [ i ] . filter ( function ( d ) { return ! visible ( d ) ; } )
114
114
. sort ( function ( d ) {
115
115
// subsequent splicing to be done left to right, otherwise indices may be incorrect
116
- return gdDimensionsOriginalOrder [ i ] . indexOf ( d ) ;
116
+ return initialDims [ i ] . indexOf ( d ) ;
117
117
} )
118
118
. forEach ( function ( d ) {
119
- gdDimensions [ i ] . splice ( gdDimensions [ i ] . indexOf ( d ) , 1 ) ; // remove from the end
120
- gdDimensions [ i ] . splice ( gdDimensionsOriginalOrder [ i ] . indexOf ( d ) , 0 , d ) ; // insert at original index
119
+ currentDims [ i ] . splice ( currentDims [ i ] . indexOf ( d ) , 1 ) ; // remove from the end
120
+ currentDims [ i ] . splice ( initialDims [ i ] . indexOf ( d ) , 0 , d ) ; // insert at original index
121
121
} ) ;
122
122
123
123
// TODO: we can't really store this part of the interaction state
@@ -127,10 +127,10 @@ module.exports = function plot(gd, cdModule) {
127
127
// Registry.call('_storeDirectGUIEdit',
128
128
// gd.data[inputIndices[i]],
129
129
// fullLayout._tracePreGUI[gd._fullData[fullIndices[i]]._fullInput.uid],
130
- // {dimensions: gdDimensions [i]}
130
+ // {dimensions: currentDims [i]}
131
131
// );
132
132
133
- gd . emit ( 'plotly_restyle' , [ { dimensions : [ gdDimensions [ i ] ] } , [ inputIndices [ i ] ] ] ) ;
133
+ gd . emit ( 'plotly_restyle' , [ { dimensions : [ currentDims [ i ] ] } , [ inputIndices [ i ] ] ] ) ;
134
134
} ;
135
135
136
136
parcoords (
0 commit comments