File tree 3 files changed +22
-11
lines changed
Filter options
3 files changed +22
-11
lines changed
Original file line number Diff line number Diff line change @@ -344,13 +344,25 @@ lib.mergeArray = function(traceAttr, cd, cdAttr) {
344
344
}
345
345
} ;
346
346
347
- lib . getTargetArray = function ( trace , target ) {
347
+ /** Returns target as set by 'target' transform attribute
348
+ *
349
+ * @param {object } trace : full trace object
350
+ * @param {object } transformOpts : transform option object
351
+ * - target (string} :
352
+ * either an attribute string referencing an array in the trace object, or
353
+ * a set array.
354
+ *
355
+ * @return {array or false } : the target array (NOT a copy!!) or false if invalid
356
+ */
357
+ lib . getTargetArray = function ( trace , transformOpts ) {
358
+ var target = transformOpts . target ;
359
+
348
360
if ( typeof target === 'string' && target ) {
349
361
var array = lib . nestedProperty ( trace , target ) . get ( ) ;
350
-
351
- return Array . isArray ( array ) ? array : [ ] ;
362
+ return Array . isArray ( array ) ? array : false ;
363
+ } else if ( Array . isArray ( target ) ) {
364
+ return target ;
352
365
}
353
- else if ( Array . isArray ( target ) ) return target . slice ( ) ;
354
366
355
367
return false ;
356
368
} ;
Original file line number Diff line number Diff line change @@ -142,12 +142,11 @@ exports.supplyDefaults = function(transformIn) {
142
142
exports . calcTransform = function ( gd , trace , opts ) {
143
143
if ( ! opts . enabled ) return ;
144
144
145
+ var targetArray = Lib . getTargetArray ( trace , opts ) ;
146
+ if ( ! targetArray ) return ;
147
+
145
148
var target = opts . target ;
146
- var targetArray = Lib . getTargetArray ( trace , target ) ;
147
149
var len = targetArray . length ;
148
-
149
- if ( ! len ) return ;
150
-
151
150
var targetCalendar = opts . targetcalendar ;
152
151
153
152
// even if you provide targetcalendar, if target is a string and there
Original file line number Diff line number Diff line change @@ -73,12 +73,12 @@ exports.supplyDefaults = function(transformIn) {
73
73
exports . calcTransform = function ( gd , trace , opts ) {
74
74
if ( ! opts . enabled ) return ;
75
75
76
+ var targetArray = Lib . getTargetArray ( trace , opts ) ;
77
+ if ( ! targetArray ) return ;
78
+
76
79
var target = opts . target ;
77
- var targetArray = Lib . getTargetArray ( trace , target ) ;
78
80
var len = targetArray . length ;
79
81
80
- if ( ! len ) return ;
81
-
82
82
var arrayAttrs = PlotSchema . findArrayAttributes ( trace ) ;
83
83
var d2c = Axes . getDataToCoordFunc ( gd , trace , target , targetArray ) ;
84
84
var indices = getIndices ( opts , targetArray , d2c ) ;
You can’t perform that action at this time.
0 commit comments