Skip to content

Commit d3bd87f

Browse files
authored
Merge pull request #1568 from plotly/fix-supply-transform-defaults
supplyTransformDefaults to fill in missing transformModules
2 parents 0ec992e + bc99323 commit d3bd87f

File tree

2 files changed

+19
-4
lines changed

2 files changed

+19
-4
lines changed

src/plots/plots.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -828,14 +828,15 @@ plots.supplyTraceDefaults = function(traceIn, traceOutIndex, layout, traceInInde
828828
coerce('legendgroup');
829829
}
830830

831-
supplyTransformDefaults(traceIn, traceOut, layout);
831+
plots.supplyTransformDefaults(traceIn, traceOut, layout);
832832
}
833833

834834
return traceOut;
835835
};
836836

837-
function supplyTransformDefaults(traceIn, traceOut, layout) {
837+
plots.supplyTransformDefaults = function(traceIn, traceOut, layout) {
838838
var globalTransforms = layout._globalTransforms || [];
839+
var transformModules = layout._transformModules || [];
839840

840841
if(!Array.isArray(traceIn.transforms) && globalTransforms.length === 0) return;
841842

@@ -856,15 +857,15 @@ function supplyTransformDefaults(traceIn, traceOut, layout) {
856857
transformOut.type = type;
857858
transformOut._module = _module;
858859

859-
Lib.pushUnique(layout._transformModules, _module);
860+
Lib.pushUnique(transformModules, _module);
860861
}
861862
else {
862863
transformOut = Lib.extendFlat({}, transformIn);
863864
}
864865

865866
containerOut.push(transformOut);
866867
}
867-
}
868+
};
868869

869870
function applyTransforms(fullTrace, fullData, layout, fullLayout) {
870871
var container = fullTrace.transforms,

test/jasmine/tests/plots_test.js

+14
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,20 @@ describe('Test Plots', function() {
240240
});
241241
});
242242

243+
describe('Plots.supplyTransformDefaults', function() {
244+
it('should accept an empty layout when transforms present', function() {
245+
var traceOut = {};
246+
Plots.supplyTransformDefaults({}, traceOut, {
247+
_globalTransforms: [{ type: 'filter'}]
248+
});
249+
250+
// This isn't particularly interseting. More relevant is that
251+
// the above supplyTransformDefaults call didn't fail due to
252+
// missing transformModules data.
253+
expect(traceOut.transforms.length).toEqual(1);
254+
});
255+
});
256+
243257
describe('Plots.getSubplotIds', function() {
244258
var getSubplotIds = Plots.getSubplotIds;
245259

0 commit comments

Comments
 (0)