Skip to content

Commit 423dfd3

Browse files
committed
streamline logic
1 parent 313301c commit 423dfd3

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/components/titles/index.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ var interactConstants = require('../../constants/interactions');
1414

1515
var OPPOSITE_SIDE = require('../../constants/alignment').OPPOSITE_SIDE;
1616
var numStripRE = / [XY][0-9]* /;
17-
var MATHJAX_PADDING_BOTTOM = 10;
17+
var MATHJAX_PADDING_MULTIPLIER = 0.83;
18+
var EXTRA_SPACING_BETWEEN_TITLE_AND_SUBTITLE = 0;
1819

1920
/**
2021
* Titles - (re)draw titles on the axes and plot:
@@ -79,12 +80,12 @@ function draw(gd, titleClass, options) {
7980
var subtitleProp = options.subtitlePropName;
8081
var subtitleEnabled = !!subtitleProp;
8182
var subtitlePlaceholder = options.subtitlePlaceholder;
82-
var subtitle = (cont.title || {}).subtitle;
83-
var subtitleTxt = (subtitle && subtitle.text ? subtitle.text : '').trim();
83+
var subtitle = (cont.title || {}).subtitle || {text: '', font: {}};
84+
var subtitleTxt = subtitle.text.trim();
8485
var subtitleIsPlaceholder = false;
8586
var subtitleOpacity = 1;
8687

87-
var subtitleFont = subtitle && subtitle.font ? subtitle.font : {};
88+
var subtitleFont = subtitle.font;
8889
var subFontFamily = subtitleFont.family;
8990
var subFontSize = subtitleFont.size;
9091
var subFontColor = subtitleFont.color;
@@ -210,7 +211,7 @@ function draw(gd, titleClass, options) {
210211
if(titleMathHeight) {
211212
// Increase the y position of the subtitle by the height of the title,
212213
// plus a bit of padding
213-
var newSubtitleY = Number(subtitleElement.attr('y')) + titleMathHeight + MATHJAX_PADDING_BOTTOM;
214+
var newSubtitleY = Number(subtitleElement.attr('y')) + titleMathHeight + MATHJAX_PADDING_MULTIPLIER * subFontSize + EXTRA_SPACING_BETWEEN_TITLE_AND_SUBTITLE;
214215
subtitleElement.attr('y', newSubtitleY);
215216
}
216217
}
@@ -238,9 +239,9 @@ function draw(gd, titleClass, options) {
238239
var titleElHeight = titleEl.node().getBBox().height;
239240
var titleElMathGroup = group.select('.' + titleClass + '-math-group');
240241
var titleElMathHeight = titleElMathGroup.node() ? titleElMathGroup.node().getBBox().height : 0;
241-
var subtitleShift = titleElMathHeight ? titleElMathHeight + MATHJAX_PADDING_BOTTOM : titleElHeight;
242+
var subtitleShift = titleElMathHeight ? titleElMathHeight + (MATHJAX_PADDING_MULTIPLIER * subFontSize) : titleElHeight;
242243
var subtitleAttributes = Lib.extendFlat({}, attributes, {
243-
y: subtitleShift + attributes.y
244+
y: subtitleShift + EXTRA_SPACING_BETWEEN_TITLE_AND_SUBTITLE + attributes.y
244245
});
245246

246247
subtitleEl.attr('transform', transformVal);
@@ -380,7 +381,7 @@ function draw(gd, titleClass, options) {
380381
// Only adjust if subtitle is enabled and title text was originally empty
381382
if(subtitleEnabled && !txt) {
382383
var ht = Drawing.bBox(el.node()).height;
383-
var newSubtitleY = Number(subtitleEl.attr('y')) + ht;
384+
var newSubtitleY = Number(subtitleEl.attr('y')) + ht + EXTRA_SPACING_BETWEEN_TITLE_AND_SUBTITLE;
384385
subtitleEl.attr('y', newSubtitleY);
385386
}
386387

0 commit comments

Comments
 (0)