Skip to content

Commit fdf27cb

Browse files
committed
Merge branch 'failing-transform-test' into fix-transform-animate
2 parents 383662f + 5bebe13 commit fdf27cb

22 files changed

+1021
-114
lines changed

src/components/annotations/annotation_defaults.js

+4-48
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,8 @@
1010
'use strict';
1111

1212
var Lib = require('../../lib');
13-
var Color = require('../color');
1413
var Axes = require('../../plots/cartesian/axes');
15-
14+
var handleAnnotationCommonDefaults = require('./common_defaults');
1615
var attributes = require('./attributes');
1716

1817

@@ -29,26 +28,9 @@ module.exports = function handleAnnotationDefaults(annIn, annOut, fullLayout, op
2928

3029
if(!(visible || clickToShow)) return annOut;
3130

32-
coerce('opacity');
33-
var bgColor = coerce('bgcolor');
34-
35-
var borderColor = coerce('bordercolor'),
36-
borderOpacity = Color.opacity(borderColor);
37-
38-
coerce('borderpad');
39-
40-
var borderWidth = coerce('borderwidth');
41-
var showArrow = coerce('showarrow');
42-
43-
coerce('text', showArrow ? ' ' : 'new text');
44-
coerce('textangle');
45-
Lib.coerceFont(coerce, 'font', fullLayout.font);
46-
47-
coerce('width');
48-
coerce('align');
31+
handleAnnotationCommonDefaults(annIn, annOut, fullLayout, coerce);
4932

50-
var h = coerce('height');
51-
if(h) coerce('valign');
33+
var showArrow = annOut.showarrow;
5234

5335
// positioning
5436
var axLetters = ['x', 'y'],
@@ -90,14 +72,8 @@ module.exports = function handleAnnotationDefaults(annIn, annOut, fullLayout, op
9072
// if you have one coordinate you should have both
9173
Lib.noneOrAll(annIn, annOut, ['x', 'y']);
9274

75+
// if you have one part of arrow length you should have both
9376
if(showArrow) {
94-
coerce('arrowcolor', borderOpacity ? annOut.bordercolor : Color.defaultLine);
95-
coerce('arrowhead');
96-
coerce('arrowsize');
97-
coerce('arrowwidth', ((borderOpacity && borderWidth) || 1) * 2);
98-
coerce('standoff');
99-
100-
// if you have one part of arrow length you should have both
10177
Lib.noneOrAll(annIn, annOut, ['ax', 'ay']);
10278
}
10379

@@ -111,25 +87,5 @@ module.exports = function handleAnnotationDefaults(annIn, annOut, fullLayout, op
11187
annOut._yclick = (yClick === undefined) ? annOut.y : yClick;
11288
}
11389

114-
var hoverText = coerce('hovertext');
115-
var globalHoverLabel = fullLayout.hoverlabel || {};
116-
117-
if(hoverText) {
118-
var hoverBG = coerce('hoverlabel.bgcolor', globalHoverLabel.bgcolor ||
119-
(Color.opacity(bgColor) ? Color.rgb(bgColor) : Color.defaultLine)
120-
);
121-
122-
var hoverBorder = coerce('hoverlabel.bordercolor', globalHoverLabel.bordercolor ||
123-
Color.contrast(hoverBG)
124-
);
125-
126-
Lib.coerceFont(coerce, 'hoverlabel.font', {
127-
family: globalHoverLabel.font.family,
128-
size: globalHoverLabel.font.size,
129-
color: globalHoverLabel.font.color || hoverBorder
130-
});
131-
}
132-
coerce('captureevents', !!hoverText);
133-
13490
return annOut;
13591
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
/**
2+
* Copyright 2012-2017, Plotly, Inc.
3+
* All rights reserved.
4+
*
5+
* This source code is licensed under the MIT license found in the
6+
* LICENSE file in the root directory of this source tree.
7+
*/
8+
9+
'use strict';
10+
11+
var Lib = require('../../lib');
12+
var Color = require('../color');
13+
14+
// defaults common to 'annotations' and 'annotations3d'
15+
module.exports = function handleAnnotationCommonDefaults(annIn, annOut, fullLayout, coerce) {
16+
coerce('opacity');
17+
var bgColor = coerce('bgcolor');
18+
19+
var borderColor = coerce('bordercolor');
20+
var borderOpacity = Color.opacity(borderColor);
21+
22+
coerce('borderpad');
23+
24+
var borderWidth = coerce('borderwidth');
25+
var showArrow = coerce('showarrow');
26+
27+
coerce('text', showArrow ? ' ' : 'new text');
28+
coerce('textangle');
29+
Lib.coerceFont(coerce, 'font', fullLayout.font);
30+
31+
coerce('width');
32+
coerce('align');
33+
34+
var h = coerce('height');
35+
if(h) coerce('valign');
36+
37+
if(showArrow) {
38+
coerce('arrowcolor', borderOpacity ? annOut.bordercolor : Color.defaultLine);
39+
coerce('arrowhead');
40+
coerce('arrowsize');
41+
coerce('arrowwidth', ((borderOpacity && borderWidth) || 1) * 2);
42+
coerce('standoff');
43+
44+
}
45+
46+
var hoverText = coerce('hovertext');
47+
var globalHoverLabel = fullLayout.hoverlabel || {};
48+
49+
if(hoverText) {
50+
var hoverBG = coerce('hoverlabel.bgcolor', globalHoverLabel.bgcolor ||
51+
(Color.opacity(bgColor) ? Color.rgb(bgColor) : Color.defaultLine)
52+
);
53+
54+
var hoverBorder = coerce('hoverlabel.bordercolor', globalHoverLabel.bordercolor ||
55+
Color.contrast(hoverBG)
56+
);
57+
58+
Lib.coerceFont(coerce, 'hoverlabel.font', {
59+
family: globalHoverLabel.font.family,
60+
size: globalHoverLabel.font.size,
61+
color: globalHoverLabel.font.color || hoverBorder
62+
});
63+
}
64+
65+
coerce('captureevents', !!hoverText);
66+
};

0 commit comments

Comments
 (0)