Skip to content

Commit 8f3da82

Browse files
committed
provide uids to traces a little earlier - to fix carpet clip ids
1 parent 95f9b33 commit 8f3da82

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

src/plots/plots.js

+12-9
Original file line numberDiff line numberDiff line change
@@ -929,7 +929,9 @@ plots.supplyDataDefaults = function(dataIn, dataOut, layout, fullLayout) {
929929

930930
for(i = 0; i < dataIn.length; i++) {
931931
trace = dataIn[i];
932-
fullTrace = plots.supplyTraceDefaults(trace, colorCnt, fullLayout, i);
932+
fullTrace = plots.supplyTraceDefaults(trace, colorCnt, fullLayout, i,
933+
// reuse uid we may have pulled out of oldFullData
934+
fullLayout._traceUids[i]);
933935

934936
fullTrace.uid = fullLayout._traceUids[i];
935937

@@ -942,16 +944,17 @@ plots.supplyDataDefaults = function(dataIn, dataOut, layout, fullLayout) {
942944

943945
for(var j = 0; j < expandedTraces.length; j++) {
944946
var expandedTrace = expandedTraces[j];
945-
var fullExpandedTrace = plots.supplyTraceDefaults(expandedTrace, cnt, fullLayout, i);
947+
var fullExpandedTrace = plots.supplyTraceDefaults(
948+
expandedTrace, cnt, fullLayout, i,
949+
// set uid using parent uid and expanded index
950+
// to promote consistency between update calls
951+
fullTrace.uid + j
952+
);
946953

947954
// relink private (i.e. underscore) keys expanded trace to full expanded trace so
948955
// that transform supply-default methods can set _ keys for future use.
949956
relinkPrivateKeys(fullExpandedTrace, expandedTrace);
950957

951-
// set uid using parent uid and expanded index
952-
// to promote consistency between update calls
953-
fullExpandedTrace.uid = fullTrace.uid + j;
954-
955958
// add info about parent data trace
956959
fullExpandedTrace.index = i;
957960
fullExpandedTrace._input = trace;
@@ -1076,10 +1079,10 @@ plots.supplyFrameDefaults = function(frameIn) {
10761079
return frameOut;
10771080
};
10781081

1079-
plots.supplyTraceDefaults = function(traceIn, colorIndex, layout, traceInIndex) {
1082+
plots.supplyTraceDefaults = function(traceIn, colorIndex, layout, traceInIndex, uid) {
10801083
var colorway = layout.colorway || Color.defaults;
1081-
var traceOut = {},
1082-
defaultColor = colorway[colorIndex % colorway.length];
1084+
var traceOut = {uid: uid};
1085+
var defaultColor = colorway[colorIndex % colorway.length];
10831086

10841087
var i;
10851088

0 commit comments

Comments
 (0)