Skip to content

Commit 5161478

Browse files
committed
small fixes
1 parent 6e9cb40 commit 5161478

File tree

3 files changed

+27
-33
lines changed

3 files changed

+27
-33
lines changed

Diff for: src/components/drawing/index.js

+21-20
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,11 @@ drawing.pattern = function(sel, gd, patternID, shape, bgcolor, fgcolor, size, so
373373
var fullID = 'p' + fullLayout._uid + '-' + patternID;
374374
var width, height;
375375

376+
// linear interpolation
377+
var linearFn = function(x, x0, x1, y0, y1) {
378+
return y0 + (y1 - y0) * (x - x0) / (x1 - x0);
379+
};
380+
376381
var path, linewidth, radius;
377382
var patternTag;
378383
var patternAttrs = {};
@@ -468,10 +473,6 @@ drawing.pattern = function(sel, gd, patternID, shape, bgcolor, fgcolor, size, so
468473
if(solidity < Math.PI / 4) {
469474
radius = Math.sqrt(solidity * size * size / Math.PI);
470475
} else {
471-
// linear interpolation
472-
var linearFn = function(x, x0, x1, y0, y1) {
473-
return y0 + (y1 - y0) * (x - x0) / (x1 - x0);
474-
};
475476
radius = linearFn(solidity, Math.PI / 4, 1.0, size / 2, size / Math.sqrt(2));
476477
}
477478
patternTag = 'circle';
@@ -561,6 +562,13 @@ drawing.initPatterns = function(gd) {
561562
fullLayout._patternUrlQueryParts = {};
562563
};
563564

565+
drawing.getPatternAttr = function(mp, i, dflt) {
566+
if(mp && Lib.isArrayOrTypedArray(mp)) {
567+
return i < mp.length ? mp[i] : dflt;
568+
}
569+
return mp;
570+
};
571+
564572
drawing.pointStyle = function(s, trace, gd) {
565573
if(!s.size()) return;
566574

@@ -665,20 +673,13 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd) {
665673

666674
// for legend - arrays will propagate through here, but we don't need
667675
// to treat it as per-point.
668-
if(Array.isArray(gradientType)) {
676+
if(Lib.isArrayOrTypedArray(gradientType)) {
669677
gradientType = gradientType[0];
670678
if(!gradientInfo[gradientType]) gradientType = 0;
671679
}
672680

673-
var getPatternAttr = function(mp, i, dflt) {
674-
if(mp && Array.isArray(mp)) {
675-
if(i < mp.length) return mp[i];
676-
else return dflt;
677-
}
678-
return mp;
679-
};
680681
var markerPattern = marker.pattern;
681-
var patternShape = markerPattern && getPatternAttr(markerPattern.shape, d.i, '');
682+
var patternShape = markerPattern && drawing.getPatternAttr(markerPattern.shape, d.i, '');
682683

683684
if(gradientType && gradientType !== 'none') {
684685
var gradientColor = d.mgc;
@@ -691,13 +692,13 @@ drawing.singlePointStyle = function(d, sel, trace, fns, gd) {
691692
drawing.gradient(sel, gd, gradientID, gradientType,
692693
[[0, gradientColor], [1, fillColor]], 'fill');
693694
} else if(patternShape) {
694-
var patternBGColor = getPatternAttr(markerPattern.bgcolor, d.i, null);
695-
var patternSize = getPatternAttr(markerPattern.size, d.i, 8);
696-
var patternSolidity = getPatternAttr(markerPattern.solidity, d.i, 0.3);
697-
var perPointPattern = Array.isArray(markerPattern.shape) ||
698-
Array.isArray(markerPattern.bgcolor) ||
699-
Array.isArray(markerPattern.size) ||
700-
Array.isArray(markerPattern.solidity);
695+
var patternBGColor = drawing.getPatternAttr(markerPattern.bgcolor, d.i, null);
696+
var patternSize = drawing.getPatternAttr(markerPattern.size, d.i, 8);
697+
var patternSolidity = drawing.getPatternAttr(markerPattern.solidity, d.i, 0.3);
698+
var perPointPattern = Lib.isArrayOrTypedArray(markerPattern.shape) ||
699+
Lib.isArrayOrTypedArray(markerPattern.bgcolor) ||
700+
Lib.isArrayOrTypedArray(markerPattern.size) ||
701+
Lib.isArrayOrTypedArray(markerPattern.solidity);
701702

702703
var patternID = trace.uid;
703704
if(perPointPattern) patternID += '-' + d.i;

Diff for: src/components/legend/style.js

+4-11
Original file line numberDiff line numberDiff line change
@@ -361,20 +361,13 @@ module.exports = function style(s, gd, legend) {
361361

362362
var fillColor = d0.mc || marker.color;
363363

364-
var getPatternAttr = function(mp, dflt) {
365-
if(mp && Array.isArray(mp)) {
366-
if(mp.length > 0) return mp[0];
367-
else return dflt;
368-
}
369-
return mp;
370-
};
371364
var markerPattern = marker.pattern;
372-
var patternShape = markerPattern && getPatternAttr(markerPattern.shape, '');
365+
var patternShape = markerPattern && Drawing.getPatternAttr(markerPattern.shape, 0, '');
373366

374367
if(patternShape) {
375-
var patternBGColor = getPatternAttr(markerPattern.bgcolor, null);
376-
var patternSize = Math.min(12, getPatternAttr(markerPattern.size, 8));
377-
var patternSolidity = getPatternAttr(markerPattern.solidity, 0.3);
368+
var patternBGColor = Drawing.getPatternAttr(markerPattern.bgcolor, 0, null);
369+
var patternSize = Math.min(12, Drawing.getPatternAttr(markerPattern.size, 0, 8));
370+
var patternSolidity = Drawing.getPatternAttr(markerPattern.solidity, 0, 0.3);
378371
var patternID = 'legend-' + trace.uid;
379372
p.call(Drawing.pattern, gd, patternID, patternShape, patternBGColor,
380373
fillColor, patternSize, patternSolidity, 'fill');

Diff for: src/traces/bar/style_defaults.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ module.exports = function handleStyleDefaults(traceIn, traceOut, coerce, default
2323

2424
coerce('marker.line.width');
2525
coerce('marker.opacity');
26-
var pattern = coerce('marker.pattern.shape');
27-
if(pattern) {
26+
var patternShape = coerce('marker.pattern.shape');
27+
if(patternShape) {
2828
coerce('marker.pattern.bgcolor');
2929
coerce('marker.pattern.size');
3030
coerce('marker.pattern.solidity');

0 commit comments

Comments
 (0)