From 3ad11f6bd9d3eedca3c260383645a815cd8f4b84 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 00:27:54 -0400 Subject: [PATCH 01/37] standardize on attr over style for text-anchor not a huge deal, but can improve caching --- src/components/legend/draw.js | 3 +-- src/traces/sankey/render.js | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 774c5e2e420..034352813ea 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -373,9 +373,8 @@ function drawTexts(g, gd) { text.attr({ x: 40, y: 0, - 'data-unformatted': name + 'text-anchor': 'start' }) - .style('text-anchor', 'start') .classed('user-select-none', true) .call(Drawing.font, fullLayout.legend.font) .text(name); diff --git a/src/traces/sankey/render.js b/src/traces/sankey/render.js index 50a3d5870c5..65efc63ce8e 100644 --- a/src/traces/sankey/render.js +++ b/src/traces/sankey/render.js @@ -625,7 +625,7 @@ module.exports = function(svg, styledData, layout, callbacks) { nodeLabelTextPath .text(function(d) {return d.horizontal || d.node.dy > 5 ? d.node.label : '';}) - .style('text-anchor', function(d) {return d.horizontal && d.left ? 'end' : 'start';}); + .attr('text-anchor', function(d) {return d.horizontal && d.left ? 'end' : 'start';}); nodeLabelTextPath .transition() From 9949092fa15897541e1ee58919ac74b05046d1ab Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 00:36:35 -0400 Subject: [PATCH 02/37] centralize data-unformatted and use it for bBox cache key --- src/components/annotations/draw.js | 2 -- src/components/drawing/index.js | 19 ++++++++++++++----- src/components/legend/draw.js | 2 -- src/components/titles/index.js | 6 ++---- src/lib/svg_text_utils.js | 21 +++++++++++++++------ src/plot_api/plot_api.js | 6 +++--- src/snapshot/tosvg.js | 2 +- 7 files changed, 35 insertions(+), 23 deletions(-) diff --git a/src/components/annotations/draw.js b/src/components/annotations/draw.js index 7db7e18c14d..d78bfbe4d46 100644 --- a/src/components/annotations/draw.js +++ b/src/components/annotations/draw.js @@ -203,7 +203,6 @@ function drawRaw(gd, options, index, subplotId, xa, ya) { var annText = annTextGroupInner.append('text') .classed('annotation-text', true) - .attr('data-unformatted', options.text) .text(options.text); function textLayout(s) { @@ -693,7 +692,6 @@ function drawRaw(gd, options, index, subplotId, xa, ya) { .call(textLayout) .on('edit', function(_text) { options.text = _text; - this.attr({'data-unformatted': options.text}); this.call(textLayout); var update = {}; diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index bfb083cf6d3..c63923b094c 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -615,11 +615,17 @@ var savedBBoxesCount = 0; var maxSavedBBoxes = 10000; drawing.bBox = function(node) { - // cache elements we've already measured so we don't have to + // Cache elements we've already measured so we don't have to // remeasure the same thing many times + // We have a few bBox callers though who pass a node larger than + // a or a MathJax , such as an axis group containing many labels. + // These will not generate a hash (unless we figure out an appropriate + // hash key for them) and thus we will not hash them. var hash = nodeHash(node); - var out = drawing.savedBBoxes[hash]; - if(out) return Lib.extendFlat({}, out); + if(hash) { + var out = drawing.savedBBoxes[hash]; + if(out) return Lib.extendFlat({}, out); + } var tester = drawing.tester.node(); @@ -659,7 +665,7 @@ drawing.bBox = function(node) { } // cache this bbox - drawing.savedBBoxes[hash] = bb; + if(hash) drawing.savedBBoxes[hash] = bb; savedBBoxesCount++; return Lib.extendFlat({}, bb); @@ -683,7 +689,10 @@ drawing.bBox = function(node) { // return h; // } function nodeHash(node) { - return node.innerHTML + + var inputText = node.getAttribute('data-unformatted'); + if(inputText === null) return; + return inputText + '~' + + node.getAttribute('data-math') + node.getAttribute('text-anchor') + node.getAttribute('style'); } diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 034352813ea..504492d068b 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -390,8 +390,6 @@ function drawTexts(g, gd) { text.call(svgTextUtils.makeEditable, {gd: gd}) .call(textLayout) .on('edit', function(text) { - this.attr({'data-unformatted': text}); - this.text(text) .call(textLayout); diff --git a/src/components/titles/index.js b/src/components/titles/index.js index 02287decbcc..ee727bcb9e8 100644 --- a/src/components/titles/index.js +++ b/src/components/titles/index.js @@ -193,8 +193,7 @@ Titles.draw = function(gd, titleClass, options) { } } - el.attr({'data-unformatted': txt}) - .call(titleLayout); + el.call(titleLayout); var placeholderText = 'Click to enter ' + name + ' title'; @@ -202,8 +201,7 @@ Titles.draw = function(gd, titleClass, options) { opacity = 0; isplaceholder = true; txt = placeholderText; - el.attr({'data-unformatted': txt}) - .text(txt) + el.text(txt) .on('mouseover.opacity', function() { d3.select(this).transition() .duration(interactConstants.SHOW_PLACEHOLDER).style('opacity', 1); diff --git a/src/lib/svg_text_utils.js b/src/lib/svg_text_utils.js index 0d8fd8b1f56..b14eaed5022 100644 --- a/src/lib/svg_text_utils.js +++ b/src/lib/svg_text_utils.js @@ -40,7 +40,15 @@ exports.convertToTspans = function(_context, gd, _callback) { svgClass += '-math'; parent.selectAll('svg.' + svgClass).remove(); parent.selectAll('g.' + svgClass + '-group').remove(); - _context.style({visibility: null}); + _context.style({visibility: null}) + .attr({ + // some callers use data-unformatted *from the element* in 'cancel' + // so we need it here even if we're going to turn it into math + // these two (plus style and text-anchor attributes) form the key we're + // going to use for Drawing.bBox + 'data-unformatted': str, + 'data-math': '' + }); function showText() { if(!parent.empty()) { @@ -48,10 +56,7 @@ exports.convertToTspans = function(_context, gd, _callback) { parent.select('svg.' + svgClass).remove(); } _context.text('') - .style({ - visibility: 'inherit', - 'white-space': 'pre' - }); + .style('white-space', 'pre'); var hasLink = buildSVGText(_context.node(), str); @@ -84,7 +89,11 @@ exports.convertToTspans = function(_context, gd, _callback) { var mathjaxGroup = parent.append('g') .classed(svgClass + '-group', true) - .attr({'pointer-events': 'none'}); + .attr({ + 'pointer-events': 'none', + 'data-unformatted': str, + 'data-math': 'Y' + }); mathjaxGroup.node().appendChild(newSvg.node()); diff --git a/src/plot_api/plot_api.js b/src/plot_api/plot_api.js index f993e5aaba0..c0ffed9387b 100644 --- a/src/plot_api/plot_api.js +++ b/src/plot_api/plot_api.js @@ -480,9 +480,10 @@ function plotPolar(gd, data, layout) { .call(titleLayout); if(gd._context.editable) { - title.attr({'data-unformatted': txt}); if(!txt || txt === placeholderText) { opacity = 0.2; + // placeholder is not going through convertToTspans + // so needs explicit data-unformatted title.attr({'data-unformatted': placeholderText}) .text(placeholderText) .style({opacity: opacity}) @@ -500,8 +501,7 @@ function plotPolar(gd, data, layout) { this.call(svgTextUtils.makeEditable, {gd: gd}) .on('edit', function(text) { gd.framework({layout: {title: text}}); - this.attr({'data-unformatted': text}) - .text(text) + this.text(text) .call(titleLayout); this.call(setContenteditable); }) diff --git a/src/snapshot/tosvg.js b/src/snapshot/tosvg.js index 386d45566cb..be4cdcafaf0 100644 --- a/src/snapshot/tosvg.js +++ b/src/snapshot/tosvg.js @@ -86,7 +86,7 @@ module.exports = function toSVG(gd, format) { svg.node().style.background = ''; svg.selectAll('text') - .attr('data-unformatted', null) + .attr({'data-unformatted': null, 'data-math': null}) .each(function() { var txt = d3.select(this); From 951a75ebdd62af54affc4395c583b50f87e3546e Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 10:13:04 -0400 Subject: [PATCH 03/37] let Drawing.bBox handle tspan.line position reset so we don't depend on callers getting this right --- src/components/drawing/index.js | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index c63923b094c..7922800eb60 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -633,13 +633,24 @@ drawing.bBox = function(node) { var testNode = node.cloneNode(true); tester.appendChild(testNode); - // standardize its position... do we really want to do this? - d3.select(testNode).attr({ + // standardize its position - and that of any newlines if we're getting + // the bBox of a element directly (not a larger container) + // newline s need to get `x` and `y` set to match whenever the + // containing element gets repositioned, and the line offset + // is handled by the attribute `dy` (that we assume is already set) + var test3 = d3.select(testNode).attr({ x: 0, y: 0, transform: '' }); + if(testNode.nodeName === 'text') { + test3.selectAll('tspan.line').attr({ + x: 0, + y: 0 + }); + } + var testRect = testNode.getBoundingClientRect(); var refRect = drawing.testref .node() From 639878e0dc5b48028ca791da025cd4764086503e Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 10:22:45 -0400 Subject: [PATCH 04/37] fix pseudo-html rendering in rangeselectors and updatemenus --- src/components/rangeselector/draw.js | 8 +++---- src/components/updatemenus/draw.js | 20 +++++++++++------- test/image/baselines/range_selector_style.png | Bin 33465 -> 33385 bytes test/image/baselines/updatemenus.png | Bin 28970 -> 29401 bytes test/image/mocks/range_selector_style.json | 2 +- test/image/mocks/updatemenus.json | 6 +++--- 6 files changed, 20 insertions(+), 16 deletions(-) diff --git a/src/components/rangeselector/draw.js b/src/components/rangeselector/draw.js index 901a6977ed6..c0caec4a110 100644 --- a/src/components/rangeselector/draw.js +++ b/src/components/rangeselector/draw.js @@ -184,10 +184,10 @@ function reposition(gd, buttons, opts, axName) { buttons.each(function() { var button = d3.select(this), text = button.select('.selector-text'), - tspans = text.selectAll('tspan'); + tspans = text.selectAll('tspan.line'); var tHeight = opts.font.size * 1.3, - tLines = tspans[0].length || 1, + tLines = tspans.size() || 1, hEff = Math.max(tHeight * tLines, 16) + 3; opts.height = Math.max(opts.height, hEff); @@ -197,11 +197,11 @@ function reposition(gd, buttons, opts, axName) { var button = d3.select(this), rect = button.select('.selector-rect'), text = button.select('.selector-text'), - tspans = text.selectAll('tspan'); + tspans = text.selectAll('tspan.line'); var tWidth = text.node() && Drawing.bBox(text.node()).width, tHeight = opts.font.size * 1.3, - tLines = tspans[0].length || 1; + tLines = tspans.size() || 1; var wEff = Math.max(tWidth + 10, constants.minButtonWidth); diff --git a/src/components/updatemenus/draw.js b/src/components/updatemenus/draw.js index 118335fed1a..cd686502a3a 100644 --- a/src/components/updatemenus/draw.js +++ b/src/components/updatemenus/draw.js @@ -463,7 +463,10 @@ function drawItemText(item, menuOpts, itemOpts, gd) { text.enter().append('text') .classed(constants.itemTextClassName, true) .classed('user-select-none', true) - .attr('text-anchor', 'start'); + .attr({ + 'text-anchor': 'start', + 'data-notex': 1 + }); text.call(Drawing.font, menuOpts.font) .text(itemOpts.label) @@ -521,7 +524,7 @@ function findDimensions(gd, menuOpts) { button.call(drawItem, menuOpts, buttonOpts, gd); var text = button.select('.' + constants.itemTextClassName), - tspans = text.selectAll('tspan'); + tspans = text.selectAll('tspan.line'); // width is given by max width of all buttons var tWidth = text.node() && Drawing.bBox(text.node()).width, @@ -529,7 +532,7 @@ function findDimensions(gd, menuOpts) { // height is determined by item text var tHeight = menuOpts.font.size * constants.fontSizeToHeight, - tLines = tspans[0].length || 1, + tLines = tspans.size() || 1, hEff = Math.max(tHeight * tLines, constants.minHeight) + constants.textOffsetY; hEff = Math.ceil(hEff); @@ -626,28 +629,29 @@ function setItemPosition(item, menuOpts, posOpts, overrideOpts) { overrideOpts = overrideOpts || {}; var rect = item.select('.' + constants.itemRectClassName), text = item.select('.' + constants.itemTextClassName), - tspans = text.selectAll('tspan'), + tspans = text.selectAll('tspan.line'), borderWidth = menuOpts.borderwidth, index = posOpts.index; Drawing.setTranslate(item, borderWidth + posOpts.x, borderWidth + posOpts.y); var isVertical = ['up', 'down'].indexOf(menuOpts.direction) !== -1; + var finalHeight = overrideOpts.height || (isVertical ? menuOpts.heights[index] : menuOpts.height1); rect.attr({ x: 0, y: 0, width: overrideOpts.width || (isVertical ? menuOpts.width1 : menuOpts.widths[index]), - height: overrideOpts.height || (isVertical ? menuOpts.heights[index] : menuOpts.height1) + height: finalHeight }); var tHeight = menuOpts.font.size * constants.fontSizeToHeight, - tLines = tspans[0].length || 1, - spanOffset = ((tLines - 1) * tHeight / 4); + tLines = tspans.size() || 1, + spanOffset = ((tLines - 1) * tHeight / 2); var textAttrs = { x: constants.textOffsetX, - y: menuOpts.heights[index] / 2 - spanOffset + constants.textOffsetY + y: finalHeight / 2 - spanOffset + constants.textOffsetY }; text.attr(textAttrs); diff --git a/test/image/baselines/range_selector_style.png b/test/image/baselines/range_selector_style.png index def2526a93a6716a6110261c45beab9ea10f56ad..354a5e51d03ea843ccd2982a4de7f484f834bbdb 100644 GIT binary patch literal 33385 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 KS`|0%hy4eO_F}UD literal 33465 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 U!5q?u@xUK7CCw+LiZ9>&4+~&382|tP diff --git a/test/image/baselines/updatemenus.png b/test/image/baselines/updatemenus.png index 81809e1739de07c723c9e5a829b53942f8dc7279..248c2d61f119ec3f2fab7bf46b76b3c880f94a18 100644 GIT binary patch literal 29401 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 TmaZYR<~AM8a~g$ew%7j$dVkJ6 literal 28970 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 M^6GL~SInOL56Ah%$^ZZW diff --git a/test/image/mocks/range_selector_style.json b/test/image/mocks/range_selector_style.json index a802a17cd10..96882360437 100644 --- a/test/image/mocks/range_selector_style.json +++ b/test/image/mocks/range_selector_style.json @@ -1060,7 +1060,7 @@ "step": "year", "stepmode": "todate", "count": 1, - "label": "year
to
date" + "label": "year
to
date
" }, { "step": "all", diff --git a/test/image/mocks/updatemenus.json b/test/image/mocks/updatemenus.json index 707150551db..32cd7e55e7d 100644 --- a/test/image/mocks/updatemenus.json +++ b/test/image/mocks/updatemenus.json @@ -91,7 +91,7 @@ "line.color", "red" ], - "label": "red" + "label": "red
color" }, { "method": "restyle", @@ -99,7 +99,7 @@ "line.color", "blue" ], - "label": "blue" + "label": "blue
color" }, { "method": "restyle", @@ -107,7 +107,7 @@ "line.color", "green" ], - "label": "green" + "label": "green
trace
color" } ], "active": 1 From 16d7515b8cdee8393ad3954240d7d2489a416596 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 10:29:16 -0400 Subject: [PATCH 05/37] call bBox on text node when possible because now text nodes (that have been through convertToTspans) are cacheable but larger nodes are generally not. --- src/components/colorbar/draw.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/colorbar/draw.js b/src/components/colorbar/draw.js index c9ece0344cc..3cf3f7c827a 100644 --- a/src/components/colorbar/draw.js +++ b/src/components/colorbar/draw.js @@ -308,8 +308,7 @@ module.exports = function draw(gd, id) { } else if(titleText.node() && !titleText.classed('js-placeholder')) { - titleHeight = Drawing.bBox( - titleGroup.node()).height; + titleHeight = Drawing.bBox(titleText.node()).height; } if(titleHeight) { // buffer btwn colorbar and title From 0b2a7b2321a797486d121d7eb54209ea731db8a9 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 11:08:24 -0400 Subject: [PATCH 06/37] clean up legend sizing and fallback on missing node fallback avoids errors with mathjax in the legend, but it still doesn't always get the sizing right because we're not handling async correctly. --- src/components/legend/draw.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 504492d068b..004f864e7dc 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -554,20 +554,21 @@ function handleClick(g, gd, numClicks) { } function computeTextDimensions(g, gd) { - var legendItem = g.data()[0][0], - mathjaxGroup = g.select('g[class*=math-group]'), - opts = gd._fullLayout.legend, - lineHeight = opts.font.size * 1.3, - height, - width; + var legendItem = g.data()[0][0]; if(!legendItem.trace.showlegend) { g.remove(); return; } - if(mathjaxGroup.node()) { - var mathjaxBB = Drawing.bBox(mathjaxGroup.node()); + var mathjaxGroup = g.select('g[class*=math-group]'); + var mathjaxNode = mathjaxGroup.node(); + var opts = gd._fullLayout.legend; + var lineHeight = opts.font.size * 1.3; + var height, width; + + if(mathjaxNode) { + var mathjaxBB = Drawing.bBox(mathjaxNode); height = mathjaxBB.height; width = mathjaxBB.width; @@ -576,11 +577,12 @@ function computeTextDimensions(g, gd) { } else { var text = g.selectAll('.legendtext'), - textSpans = g.selectAll('.legendtext>tspan'), - textLines = textSpans[0].length || 1; + textSpans = text.selectAll('tspan.line'), + textLines = textSpans.size() || 1, + textNode = text.node(); height = lineHeight * textLines; - width = text.node() && Drawing.bBox(text.node()).width; + width = textNode ? Drawing.bBox(textNode).width : 0; // approximation to height offset to center the font // to avoid getBoundingClientRect From a5a578fc8d634cb8f4ef16c5a00d55c82b94b9d1 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 11:12:13 -0400 Subject: [PATCH 07/37] minor lint to bar text --- src/traces/bar/plot.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/traces/bar/plot.js b/src/traces/bar/plot.js index 9cf578948fa..864809a052d 100644 --- a/src/traces/bar/plot.js +++ b/src/traces/bar/plot.js @@ -141,12 +141,12 @@ function appendBarText(gd, bar, calcTrace, i, x0, x1, y0, y1) { var textSelection = bar.append('text') // prohibit tex interpretation until we can handle // tex and regular text together - .attr('data-notex', 1) .text(text) .attr({ 'class': 'bartext', transform: '', 'text-anchor': 'middle', + 'data-notex': 1, x: 0, y: 0 }) From 5d3648c6ef8add3cd74bf35acc9be0d6beb91c65 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 11:47:23 -0400 Subject: [PATCH 08/37] cleaner data-math usage --- src/components/drawing/index.js | 2 +- src/lib/svg_text_utils.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index 7922800eb60..a82bb30d487 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -702,7 +702,7 @@ drawing.bBox = function(node) { function nodeHash(node) { var inputText = node.getAttribute('data-unformatted'); if(inputText === null) return; - return inputText + '~' + + return inputText + node.getAttribute('data-math') + node.getAttribute('text-anchor') + node.getAttribute('style'); diff --git a/src/lib/svg_text_utils.js b/src/lib/svg_text_utils.js index b14eaed5022..d0fe7b344a1 100644 --- a/src/lib/svg_text_utils.js +++ b/src/lib/svg_text_utils.js @@ -47,7 +47,7 @@ exports.convertToTspans = function(_context, gd, _callback) { // these two (plus style and text-anchor attributes) form the key we're // going to use for Drawing.bBox 'data-unformatted': str, - 'data-math': '' + 'data-math': 'N' }); function showText() { From d29159a925ec093932c155aa72d919894b95904c Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 14:29:34 -0400 Subject: [PATCH 09/37] fix sliders with pseudo-HTML line breaks --- src/components/sliders/draw.js | 56 +++++++++++++++++++++++-------- test/image/baselines/sliders.png | Bin 28692 -> 27431 bytes test/image/mocks/sliders.json | 2 +- 3 files changed, 43 insertions(+), 15 deletions(-) diff --git a/src/components/sliders/draw.js b/src/components/sliders/draw.js index e3309ba1446..5a25bda21d5 100644 --- a/src/components/sliders/draw.js +++ b/src/components/sliders/draw.js @@ -19,6 +19,8 @@ var anchorUtils = require('../legend/anchor_utils'); var constants = require('./constants'); +var RESETATTRS = {x: 0, y: 0}; + module.exports = function draw(gd) { var fullLayout = gd._fullLayout, @@ -132,14 +134,16 @@ function findDimensions(gd, sliderOpts) { var text = drawLabel(labelGroup, {step: stepOpts}, sliderOpts); - var tWidth = (text.node() && Drawing.bBox(text.node()).width) || 0; - - // This just overwrites with the last. Which is fine as long as - // the bounding box (probably incorrectly) measures the text *on - // a single line*: - labelHeight = (text.node() && Drawing.bBox(text.node()).height) || 0; - - maxLabelWidth = Math.max(maxLabelWidth, tWidth); + var textNode = text.node(); + if(textNode) { + var bBox = Drawing.bBox(textNode); + // This just overwrites with the last. Which is fine as long as + // the bounding box (probably incorrectly) measures the text *on + // a single line*: + // TODO: what is that comment about? should this be a max as well? + labelHeight = Math.max(labelHeight, bBox.height); + maxLabelWidth = Math.max(maxLabelWidth, bBox.width); + } }); sliderLabels.remove(); @@ -152,6 +156,7 @@ function findDimensions(gd, sliderOpts) { sliderOpts.currentValueMaxWidth = 0; sliderOpts.currentValueHeight = 0; sliderOpts.currentValueTotalHeight = 0; + sliderOpts.currentValueMaxLines = 1; if(sliderOpts.currentvalue.visible) { // Get the dimensions of the current value label: @@ -160,8 +165,10 @@ function findDimensions(gd, sliderOpts) { sliderLabels.each(function(stepOpts) { var curValPrefix = drawCurrentValue(dummyGroup, sliderOpts, stepOpts.label); var curValSize = (curValPrefix.node() && Drawing.bBox(curValPrefix.node())) || {width: 0, height: 0}; + var lines = curValPrefix.selectAll('tspan.line').size() || 1; sliderOpts.currentValueMaxWidth = Math.max(sliderOpts.currentValueMaxWidth, Math.ceil(curValSize.width)); sliderOpts.currentValueHeight = Math.max(sliderOpts.currentValueHeight, Math.ceil(curValSize.height)); + sliderOpts.currentValueMaxLines = Math.max(sliderOpts.currentValueMaxLines, lines); }); sliderOpts.currentValueTotalHeight = sliderOpts.currentValueHeight + sliderOpts.currentvalue.offset; @@ -286,7 +293,10 @@ function drawCurrentValue(sliderGroup, sliderOpts, valueOverride) { text.enter().append('text') .classed(constants.labelClass, true) .classed('user-select-none', true) - .attr('text-anchor', textAnchor); + .attr({ + 'text-anchor': textAnchor, + 'data-notex': 1 + }); var str = sliderOpts.currentvalue.prefix ? sliderOpts.currentvalue.prefix : ''; @@ -303,9 +313,15 @@ function drawCurrentValue(sliderGroup, sliderOpts, valueOverride) { text.call(Drawing.font, sliderOpts.currentvalue.font) .text(str) - .call(svgTextUtils.convertToTspans, sliderOpts.gd); + .call(svgTextUtils.convertToTspans, sliderOpts.gd) + .attr(RESETATTRS); - Drawing.setTranslate(text, x0, sliderOpts.currentValueHeight); + var tspans = text.selectAll('tspan.line').attr(RESETATTRS); + + var y0 = (sliderOpts.currentValueMaxLines + 1 - (tspans.size() || 1)) * + sliderOpts.currentvalue.font.size * constants.fontSizeToHeight; + + Drawing.setTranslate(text, x0, y0); return text; } @@ -337,11 +353,17 @@ function drawLabel(item, data, sliderOpts) { text.enter().append('text') .classed(constants.labelClass, true) .classed('user-select-none', true) - .attr('text-anchor', 'middle'); + .attr({ + 'text-anchor': 'middle', + 'data-notex': 1 + }); text.call(Drawing.font, sliderOpts.font) .text(data.step.label) - .call(svgTextUtils.convertToTspans, sliderOpts.gd); + .call(svgTextUtils.convertToTspans, sliderOpts.gd) + .attr(RESETATTRS); + + text.selectAll('tspan.line').attr(RESETATTRS); return text; } @@ -368,7 +390,13 @@ function drawLabelGroup(sliderGroup, sliderOpts) { Drawing.setTranslate(item, normalizedValueToPosition(sliderOpts, d.fraction), - constants.tickOffset + sliderOpts.ticklen + sliderOpts.labelHeight + constants.labelOffset + sliderOpts.currentValueTotalHeight + constants.tickOffset + + sliderOpts.ticklen + + // position is the baseline of the top line of text only, even + // if the label spans multiple lines + sliderOpts.font.size * constants.fontSizeToHeight + + constants.labelOffset + + sliderOpts.currentValueTotalHeight ); }); diff --git a/test/image/baselines/sliders.png b/test/image/baselines/sliders.png index bb8cbabdb04e91e8eae1d794e016f0e50c3c21d7..e8a9177497f4a1c4c32867737b22c6d2e892be45 100644 GIT binary patch literal 27431 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 z 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%0A<{8)t+v!JZS1#vWRinx1Z-k zYJ7-h-mc^N7IJ94v3f)I_?w)JQ%C-M?|Xmp>^&V|{Cl$R={!*0lm>Ns%htt_XCHfu z`cE=4bPsR?+Y%GMGw?szqe#Fp(ub=R{=R(98(P*BpXsmVzoOZ8fIFzLjg!wk*q1ou z`NC4Z5~k$>k@=$%Pb=a#Z!t>ya@f+p(5pwjPSbl{Xe`iIJ?I*MC|+P;`cp-!$n3_Q zN@~jh9ggcJJIfk{Noh(ac@A?N}8L>vt{b zI#;iHVn8d5M)UUd7YbsX5UM;~u;xFGd#sBa&BgxsS#X&eL*Nz-U5k+p!cl>op1O#|Ozs4QSt}LNTnX_43|veX!*dCI*u#1^r?wrKJfswY z@Ku7BiRX||^QJX0ekDF1s=VsB6x27H=I`fUDN(sPoM%k$>Hl4+ zN(27?-kU0quSxlOa;H%=aoLWG@yTO~*PKW18zFMCJJ0{Ne#VQT3+%UtCA{2VDiv1O zD|Q#-*V`z;+=fwzU}(QA_XHnQ1s$wrxqu2CZ6zu9WDju6c@7Ain@`KO#@)Mx4vG}_ z*Y1uzXyqnXBNU0!d|q}?Jvz_wC8(x6a2Z*$HWdJz+%|KLJT+OY5aJU-)^0J9j}sUz z0QEjuxKT~TdJo}eMT@Zx^?Kv}b)AC{V4YwQP@U>_AJl#T(|nYrr2+;+2~3j;9Q%)E zpd^T9-ZLaLf|D^`T~b5kpo+oF|3vEhgxgwS#~f%X;I|}ZYuxB-xWO*7D2kRJ;g-2m zsUSn%q+pjF`LdcF$)gXxGP8cLyW|22r|W0mpax1U)c@f=Y1x8PWnA|V1)fv#e-~cX3FvB$EYH!<|eY7R8b|^5dc0XBD+UwSqDe05^Z

*$}|!#vAj*t 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�TZjg#StjyOI=0zE;Uu|)4 z-?EsGIr?*LVxBRDFT5x+x+_gtKPWnq*M-gZE1M4~MD4;(fX$@IyC%DS(iJ(L)pkl^ zSKy6a=Zty7qy`zRtFET79^#?C7v+fc9`*FaZ07F*I`f&e{Dq8sw7fLLJzVifN^VJ3 zI+5EZxqrCGHl9LIa=t!PiT@v>1ElQ_guw>Z--&XQw>75BB9jhq_bmP*KaFkL-0zuu z0)w`VTQ01yx3iLJaSeS*hq#I4aE^T3+!wgYb{;vcb0DQDU}}>5+(mB>s35`U>!sa1 zfYbeaUrUwc&84zf22l~?-l^={_u+=ISLoWL{=}*=&b=eWz)C%XU0N4JQvsm-Dj@^G zsME^|p{$ar{epB!_24X9&Pq`oYwZ*lsp9!p2SN$70#o$Ot2F!UAjT{X9m6ia7A8=rh^BjO#^n zjz595eK!A;^>S{^2>IiCoX2kW!&=_=j_X5n!(yF^1S4t4*O$N^2=a~~t*y{qze z@@qV9H1er_3A=2C!yz-QPj)qoZqJacqq1beLYaZ-qs?v0brUArw)1)L9maVI@rfB7 zdyA(I_-Dr3Ap9Z!fYu*EgLT%O>CV_nJGSk+tQ}AFPRoiSwPdTO+B{+ z)|QmU+70jPO&O8K2Te>sG2b~nd!YgRz#T!1=TTpOoPN4r-`>818;vj#WBA~tLC^6w zQrE8HTH13LB7#U_GTZsK1Q(tpq8|dEizh}mP`itQA2TY$XU>_oz6GCye+B;Cnf6kw(oK)iPT`=Xc`}%L7v%%R=i`( z)rf@3zCGFPSvURdH?I>+E7q|a3#7T?caPPL_?GSIzL4Gr0Q)= zp}+GOH5hIe!k}Ph5B;0#IT*s{Z~pkVU>~c8jZ|{-OM!oL{r@%R5v0;02MT>yV+>&J OHuH0qChyPQeEdJ}i06<1 literal 28692 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 diff --git a/test/image/mocks/sliders.json b/test/image/mocks/sliders.json index c250b96208d..8afabcfa2d3 100644 --- a/test/image/mocks/sliders.json +++ b/test/image/mocks/sliders.json @@ -57,7 +57,7 @@ }, { "active": 4, "steps": [{ - "label": "red", + "label": "red
color", "method": "restyle", "args": [{"marker.color": "red"}] }, { From 6eedaa500d27c39357acf1d3245efed2cfa65c5c Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 23:01:31 -0400 Subject: [PATCH 10/37] make `positionText` and `lineCount` fns that way nobody needs to know about 'tspan.line' outside of svg_text_utils --- src/components/annotations/draw.js | 14 ++------ src/components/colorbar/draw.js | 4 +-- src/components/drawing/index.js | 35 ++++++------------- src/components/fx/hover.js | 42 +++++------------------ src/components/legend/draw.js | 15 +++----- src/components/rangeselector/draw.js | 22 ++++-------- src/components/sliders/draw.js | 18 ++++------ src/components/titles/index.js | 12 +++---- src/components/updatemenus/draw.js | 17 +++------ src/lib/svg_text_utils.js | 28 +++++++++++++++ src/plots/cartesian/axes.js | 9 +---- src/traces/bar/plot.js | 14 +++----- src/traces/pie/plot.js | 5 +-- test/jasmine/tests/svg_text_utils_test.js | 12 +++---- 14 files changed, 91 insertions(+), 156 deletions(-) diff --git a/src/components/annotations/draw.js b/src/components/annotations/draw.js index d78bfbe4d46..9c2b8d51239 100644 --- a/src/components/annotations/draw.js +++ b/src/components/annotations/draw.js @@ -231,11 +231,6 @@ function drawRaw(gd, options, index, subplotId, xa, ya) { wholeLink.node().appendChild(annTextBG.node()); } - - // make sure lines are aligned the way they will be - // at the end, even if their position changes - annText.selectAll('tspan.line').attr({y: 0, x: 0}); - var mathjaxGroup = annTextGroupInner.select('.annotation-text-math-group'); var hasMathjax = !mathjaxGroup.empty(); var anntextBB = Drawing.bBox( @@ -424,12 +419,9 @@ function drawRaw(gd, options, index, subplotId, xa, ya) { else { var texty = borderfull + yShift - anntextBB.top, textx = borderfull + xShift - anntextBB.left; - annText.attr({ - x: textx, - y: texty - }) - .call(Drawing.setClipUrl, isSizeConstrained ? annClipID : null); - annText.selectAll('tspan.line').attr({y: texty, x: textx}); + + annText.call(svgTextUtils.positionText, textx, texty) + .call(Drawing.setClipUrl, isSizeConstrained ? annClipID : null); } annTextClip.select('rect').call(Drawing.setRect, borderfull, borderfull, diff --git a/src/components/colorbar/draw.js b/src/components/colorbar/draw.js index 3cf3f7c827a..89f65bb17b3 100644 --- a/src/components/colorbar/draw.js +++ b/src/components/colorbar/draw.js @@ -23,6 +23,7 @@ var setCursor = require('../../lib/setcursor'); var Drawing = require('../drawing'); var Color = require('../color'); var Titles = require('../titles'); +var svgTextUtils = require('../../lib/svg_text_utils'); var handleAxisDefaults = require('../../plots/cartesian/axis_defaults'); var handleAxisPositionDefaults = require('../../plots/cartesian/position_defaults'); @@ -321,8 +322,7 @@ module.exports = function draw(gd, id) { } else { cbAxisOut.domain[0] += titleHeight / gs.h; - var nlines = Math.max(1, - titleText.selectAll('tspan.line').size()); + var nlines = svgTextUtils.lineCount(titleText); titleTrans[1] += (1 - nlines) * lineSize; } diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index a82bb30d487..d4ee19d0483 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -41,6 +41,12 @@ drawing.font = function(s, family, size, color) { if(color) s.call(Color.fill, color); }; +/* + * Positioning helpers + * Note: do not use `setPosition` with nodes modified by + * `svgTextUtils.convertToTspans`. Use `svgTextUtils.positionText` + * instead, so that elements get updated to match. + */ drawing.setPosition = function(s, x, y) { s.attr('x', x).attr('y', y); }; drawing.setSize = function(s, w, h) { s.attr('width', w).attr('height', h); }; drawing.setRect = function(s, x, y, w, h) { @@ -455,19 +461,13 @@ drawing.textPointStyle = function(s, trace, gd) { .text(text) .call(svgTextUtils.convertToTspans, gd); var pgroup = d3.select(this.parentNode), - tspans = p.selectAll('tspan.line'), - numLines = ((tspans[0].length || 1) - 1) * LINEEXPAND + 1, + numLines = (svgTextUtils.lineCount(p) - 1) * LINEEXPAND + 1, dx = TEXTOFFSETSIGN[h] * r, dy = fontSize * 0.75 + TEXTOFFSETSIGN[v] * r + (TEXTOFFSETSIGN[v] - 1) * numLines * fontSize / 2; // fix the overall text group position pgroup.attr('transform', 'translate(' + dx + ',' + dy + ')'); - - // then fix multiline text - if(numLines > 1) { - tspans.attr({ x: p.attr('x'), y: p.attr('y') }); - } }); }; @@ -633,23 +633,10 @@ drawing.bBox = function(node) { var testNode = node.cloneNode(true); tester.appendChild(testNode); - // standardize its position - and that of any newlines if we're getting - // the bBox of a element directly (not a larger container) - // newline s need to get `x` and `y` set to match whenever the - // containing element gets repositioned, and the line offset - // is handled by the attribute `dy` (that we assume is already set) - var test3 = d3.select(testNode).attr({ - x: 0, - y: 0, - transform: '' - }); - - if(testNode.nodeName === 'text') { - test3.selectAll('tspan.line').attr({ - x: 0, - y: 0 - }); - } + // standardize its position (and newline tspans if any) + d3.select(testNode) + .attr('transform', '') + .call(svgTextUtils.positionText, 0, 0); var testRect = testNode.getBoundingClientRect(); var refRect = drawing.testref diff --git a/src/components/fx/hover.js b/src/components/fx/hover.js index 4af8366b964..4427584a709 100644 --- a/src/components/fx/hover.js +++ b/src/components/fx/hover.js @@ -595,23 +595,15 @@ function createHoverText(hoverData, opts, gd) { .attr('data-notex', 1); ltext.text(t0) - .call(svgTextUtils.convertToTspans, gd) - .call(Drawing.setPosition, 0, 0) - .selectAll('tspan.line') - .call(Drawing.setPosition, 0, 0); + .call(svgTextUtils.convertToTspans, gd); label.attr('transform', ''); var tbb = ltext.node().getBoundingClientRect(); if(hovermode === 'x') { ltext.attr('text-anchor', 'middle') - .call(Drawing.setPosition, 0, (xa.side === 'top' ? + .call(svgTextUtils.positionText, 0, (xa.side === 'top' ? (outerTop - tbb.bottom - HOVERARROWSIZE - HOVERTEXTPAD) : - (outerTop - tbb.top + HOVERARROWSIZE + HOVERTEXTPAD))) - .selectAll('tspan.line') - .attr({ - x: ltext.attr('x'), - y: ltext.attr('y') - }); + (outerTop - tbb.top + HOVERARROWSIZE + HOVERTEXTPAD))); var topsign = xa.side === 'top' ? '-' : ''; lpath.attr('d', 'M0,0' + @@ -627,14 +619,9 @@ function createHoverText(hoverData, opts, gd) { } else { ltext.attr('text-anchor', ya.side === 'right' ? 'start' : 'end') - .call(Drawing.setPosition, + .call(svgTextUtils.positionText, (ya.side === 'right' ? 1 : -1) * (HOVERTEXTPAD + HOVERARROWSIZE), - outerTop - tbb.top - tbb.height / 2) - .selectAll('tspan.line') - .attr({ - x: ltext.attr('x'), - y: ltext.attr('y') - }); + outerTop - tbb.top - tbb.height / 2); var leftsign = ya.side === 'right' ? '' : '-'; lpath.attr('d', 'M0,0' + @@ -742,12 +729,9 @@ function createHoverText(hoverData, opts, gd) { d.fontFamily || fontFamily, d.fontSize || fontSize, d.fontColor || contrastColor) - .call(Drawing.setPosition, 0, 0) .text(text) .attr('data-notex', 1) .call(svgTextUtils.convertToTspans, gd); - tx.selectAll('tspan.line') - .call(Drawing.setPosition, 0, 0); var tx2 = g.select('text.name'), tx2width = 0; @@ -759,11 +743,8 @@ function createHoverText(hoverData, opts, gd) { d.fontSize || fontSize, traceColor) .text(name) - .call(Drawing.setPosition, 0, 0) .attr('data-notex', 1) .call(svgTextUtils.convertToTspans, gd); - tx2.selectAll('tspan.line') - .call(Drawing.setPosition, 0, 0); tx2width = tx2.node().getBoundingClientRect().width + 2 * HOVERTEXTPAD; } else { @@ -1031,17 +1012,12 @@ function alignHoverText(hoverLabels, rotateLabels) { 'V' + (offsetY - HOVERARROWSIZE) + 'Z')); - tx.call(Drawing.setPosition, - txx + offsetX, offsetY + d.ty0 - d.by / 2 + HOVERTEXTPAD) - .selectAll('tspan.line') - .attr({ - x: tx.attr('x'), - y: tx.attr('y') - }); + tx.call(svgTextUtils.positionText, + txx + offsetX, offsetY + d.ty0 - d.by / 2 + HOVERTEXTPAD); if(d.tx2width) { - g.select('text.name, text.name tspan.line') - .call(Drawing.setPosition, + g.select('text.name') + .call(svgTextUtils.positionText, tx2x + alignShift * HOVERTEXTPAD + offsetX, offsetY + d.ty0 - d.by / 2 + HOVERTEXTPAD); g.select('rect') diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 004f864e7dc..c954c5e99d4 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -370,19 +370,14 @@ function drawTexts(g, gd) { var text = g.selectAll('text.legendtext') .data([0]); text.enter().append('text').classed('legendtext', true); - text.attr({ - x: 40, - y: 0, - 'text-anchor': 'start' - }) + text.attr('text-anchor', 'start') .classed('user-select-none', true) .call(Drawing.font, fullLayout.legend.font) .text(name); function textLayout(s) { svgTextUtils.convertToTspans(s, gd, function() { - s.selectAll('tspan.line').attr({x: s.attr('x')}); - g.call(computeTextDimensions, gd); + computeTextDimensions(g, gd); }); } @@ -577,8 +572,7 @@ function computeTextDimensions(g, gd) { } else { var text = g.selectAll('.legendtext'), - textSpans = text.selectAll('tspan.line'), - textLines = textSpans.size() || 1, + textLines = svgTextUtils.lineCount(text), textNode = text.node(); height = lineHeight * textLines; @@ -587,8 +581,7 @@ function computeTextDimensions(g, gd) { // approximation to height offset to center the font // to avoid getBoundingClientRect var textY = lineHeight * (0.3 + (1 - textLines) / 2); - text.attr('y', textY); - textSpans.attr('y', textY); + svgTextUtils.positionText(text, 40, textY); } height = Math.max(height, 16) + 3; diff --git a/src/components/rangeselector/draw.js b/src/components/rangeselector/draw.js index c0caec4a110..1123d89fd4c 100644 --- a/src/components/rangeselector/draw.js +++ b/src/components/rangeselector/draw.js @@ -149,8 +149,6 @@ function getFillColor(selectorLayout, d) { function drawButtonText(button, selectorLayout, d, gd) { function textLayout(s) { svgTextUtils.convertToTspans(s, gd); - - // TODO do we need anything else here? } var text = button.selectAll('text') @@ -183,12 +181,10 @@ function reposition(gd, buttons, opts, axName) { buttons.each(function() { var button = d3.select(this), - text = button.select('.selector-text'), - tspans = text.selectAll('tspan.line'); + text = button.select('.selector-text'); var tHeight = opts.font.size * 1.3, - tLines = tspans.size() || 1, - hEff = Math.max(tHeight * tLines, 16) + 3; + hEff = Math.max(tHeight * svgTextUtils.lineCount(text), 16) + 3; opts.height = Math.max(opts.height, hEff); }); @@ -196,12 +192,11 @@ function reposition(gd, buttons, opts, axName) { buttons.each(function() { var button = d3.select(this), rect = button.select('.selector-rect'), - text = button.select('.selector-text'), - tspans = text.selectAll('tspan.line'); + text = button.select('.selector-text'); var tWidth = text.node() && Drawing.bBox(text.node()).width, tHeight = opts.font.size * 1.3, - tLines = tspans.size() || 1; + tLines = svgTextUtils.lineCount(text); var wEff = Math.max(tWidth + 10, constants.minButtonWidth); @@ -220,13 +215,8 @@ function reposition(gd, buttons, opts, axName) { height: opts.height }); - var textAttrs = { - x: wEff / 2, - y: opts.height / 2 - ((tLines - 1) * tHeight / 2) + 3 - }; - - text.attr(textAttrs); - tspans.attr(textAttrs); + svgTextUtils.positionText(text, wEff / 2, + opts.height / 2 - ((tLines - 1) * tHeight / 2) + 3); opts.width += wEff + 5; }); diff --git a/src/components/sliders/draw.js b/src/components/sliders/draw.js index 5a25bda21d5..4ff42ae0879 100644 --- a/src/components/sliders/draw.js +++ b/src/components/sliders/draw.js @@ -19,8 +19,6 @@ var anchorUtils = require('../legend/anchor_utils'); var constants = require('./constants'); -var RESETATTRS = {x: 0, y: 0}; - module.exports = function draw(gd) { var fullLayout = gd._fullLayout, @@ -165,7 +163,7 @@ function findDimensions(gd, sliderOpts) { sliderLabels.each(function(stepOpts) { var curValPrefix = drawCurrentValue(dummyGroup, sliderOpts, stepOpts.label); var curValSize = (curValPrefix.node() && Drawing.bBox(curValPrefix.node())) || {width: 0, height: 0}; - var lines = curValPrefix.selectAll('tspan.line').size() || 1; + var lines = svgTextUtils.lineCount(curValPrefix); sliderOpts.currentValueMaxWidth = Math.max(sliderOpts.currentValueMaxWidth, Math.ceil(curValSize.width)); sliderOpts.currentValueHeight = Math.max(sliderOpts.currentValueHeight, Math.ceil(curValSize.height)); sliderOpts.currentValueMaxLines = Math.max(sliderOpts.currentValueMaxLines, lines); @@ -313,15 +311,14 @@ function drawCurrentValue(sliderGroup, sliderOpts, valueOverride) { text.call(Drawing.font, sliderOpts.currentvalue.font) .text(str) - .call(svgTextUtils.convertToTspans, sliderOpts.gd) - .attr(RESETATTRS); + .call(svgTextUtils.convertToTspans, sliderOpts.gd); - var tspans = text.selectAll('tspan.line').attr(RESETATTRS); + var lines = svgTextUtils.lineCount(text); - var y0 = (sliderOpts.currentValueMaxLines + 1 - (tspans.size() || 1)) * + var y0 = (sliderOpts.currentValueMaxLines + 1 - lines) * sliderOpts.currentvalue.font.size * constants.fontSizeToHeight; - Drawing.setTranslate(text, x0, y0); + svgTextUtils.positionText(text, x0, y0); return text; } @@ -360,10 +357,7 @@ function drawLabel(item, data, sliderOpts) { text.call(Drawing.font, sliderOpts.font) .text(data.step.label) - .call(svgTextUtils.convertToTspans, sliderOpts.gd) - .attr(RESETATTRS); - - text.selectAll('tspan.line').attr(RESETATTRS); + .call(svgTextUtils.convertToTspans, sliderOpts.gd); return text; } diff --git a/src/components/titles/index.js b/src/components/titles/index.js index ee727bcb9e8..94215747f31 100644 --- a/src/components/titles/index.js +++ b/src/components/titles/index.js @@ -119,12 +119,9 @@ Titles.draw = function(gd, titleClass, options) { opacity: opacity * Color.opacity(fontColor), 'font-weight': Plots.fontWeight }) - .attr(attributes) - .call(svgTextUtils.convertToTspans, gd) - .attr(attributes); + .call(svgTextUtils.positionText, attributes.x, attributes.y) + .call(svgTextUtils.convertToTspans, gd); - titleEl.selectAll('tspan.line') - .attr(attributes); return Plots.previousPromises(gd); } @@ -226,9 +223,8 @@ Titles.draw = function(gd, titleClass, options) { .call(titleLayout); }) .on('input', function(d) { - this.text(d || ' ').attr(attributes) - .selectAll('tspan.line') - .attr(attributes); + this.text(d || ' ') + .call(svgTextUtils.positionText, attributes.x, attributes.y); }); } el.classed('js-placeholder', isplaceholder); diff --git a/src/components/updatemenus/draw.js b/src/components/updatemenus/draw.js index cd686502a3a..bc235e2634b 100644 --- a/src/components/updatemenus/draw.js +++ b/src/components/updatemenus/draw.js @@ -523,8 +523,7 @@ function findDimensions(gd, menuOpts) { button.call(drawItem, menuOpts, buttonOpts, gd); - var text = button.select('.' + constants.itemTextClassName), - tspans = text.selectAll('tspan.line'); + var text = button.select('.' + constants.itemTextClassName); // width is given by max width of all buttons var tWidth = text.node() && Drawing.bBox(text.node()).width, @@ -532,7 +531,7 @@ function findDimensions(gd, menuOpts) { // height is determined by item text var tHeight = menuOpts.font.size * constants.fontSizeToHeight, - tLines = tspans.size() || 1, + tLines = svgTextUtils.lineCount(text), hEff = Math.max(tHeight * tLines, constants.minHeight) + constants.textOffsetY; hEff = Math.ceil(hEff); @@ -629,7 +628,6 @@ function setItemPosition(item, menuOpts, posOpts, overrideOpts) { overrideOpts = overrideOpts || {}; var rect = item.select('.' + constants.itemRectClassName), text = item.select('.' + constants.itemTextClassName), - tspans = text.selectAll('tspan.line'), borderWidth = menuOpts.borderwidth, index = posOpts.index; @@ -646,16 +644,11 @@ function setItemPosition(item, menuOpts, posOpts, overrideOpts) { }); var tHeight = menuOpts.font.size * constants.fontSizeToHeight, - tLines = tspans.size() || 1, + tLines = svgTextUtils.lineCount(text), spanOffset = ((tLines - 1) * tHeight / 2); - var textAttrs = { - x: constants.textOffsetX, - y: finalHeight / 2 - spanOffset + constants.textOffsetY - }; - - text.attr(textAttrs); - tspans.attr(textAttrs); + svgTextUtils.positionText(text, constants.textOffsetX, + finalHeight / 2 - spanOffset + constants.textOffsetY); if(isVertical) { posOpts.y += menuOpts.heights[index] + posOpts.yPad; diff --git a/src/lib/svg_text_utils.js b/src/lib/svg_text_utils.js index d0fe7b344a1..8db860d06b0 100644 --- a/src/lib/svg_text_utils.js +++ b/src/lib/svg_text_utils.js @@ -68,6 +68,8 @@ exports.convertToTspans = function(_context, gd, _callback) { _context.style('pointer-events', 'all'); } + exports.positionText(_context); + if(_callback) _callback.call(_context); } @@ -471,6 +473,32 @@ function buildSVGText(containerNode, str) { return hasLink; } +exports.lineCount = function lineCount(s) { + return s.selectAll('tspan.line').size() || 1; +}; + +exports.positionText = function positionText(s, x, y) { + return s.each(function() { + var text = d3.select(this); + + var thisX = x; + if(thisX === undefined) { + thisX = text.attr('x'); + if(thisX === null) { + text.attr('x', 0); + thisX = 0; + } + } + else text.attr('x', thisX); + + if(y !== undefined) text.attr('y', y); + + if(this.nodeName === 'text') { + text.selectAll('tspan.line').attr('x', thisX); + } + }); +}; + function alignHTMLWith(_base, container, options) { var alignH = options.horizontalAlign, alignV = options.verticalAlign || 'top', diff --git a/src/plots/cartesian/axes.js b/src/plots/cartesian/axes.js index 18bdd7693ff..105345e04f7 100644 --- a/src/plots/cartesian/axes.js +++ b/src/plots/cartesian/axes.js @@ -1813,7 +1813,7 @@ axes.doTicks = function(gd, axid, skipTitle) { var thisLabel = d3.select(this), newPromise = gd._promises.length; thisLabel - .call(Drawing.setPosition, labelx(d), labely(d)) + .call(svgTextUtils.positionText, labelx(d), labely(d)) .call(Drawing.font, d.font, d.fontSize, d.fontColor) .text(d.text) .call(svgTextUtils.convertToTspans, gd); @@ -1853,13 +1853,6 @@ axes.doTicks = function(gd, axid, skipTitle) { transform: transform, 'text-anchor': anchor }); - - if(!txt.empty()) { - txt.selectAll('tspan.line').attr({ - x: txt.attr('x'), - y: txt.attr('y') - }); - } } else { var mjShift = diff --git a/src/traces/bar/plot.js b/src/traces/bar/plot.js index 864809a052d..a534f2b9da7 100644 --- a/src/traces/bar/plot.js +++ b/src/traces/bar/plot.js @@ -139,21 +139,17 @@ module.exports = function plot(gd, plotinfo, cdbar) { function appendBarText(gd, bar, calcTrace, i, x0, x1, y0, y1) { function appendTextNode(bar, text, textFont) { var textSelection = bar.append('text') - // prohibit tex interpretation until we can handle - // tex and regular text together .text(text) .attr({ 'class': 'bartext', transform: '', 'text-anchor': 'middle', - 'data-notex': 1, - x: 0, - y: 0 + // prohibit tex interpretation until we can handle + // tex and regular text together + 'data-notex': 1 }) - .call(Drawing.font, textFont); - - textSelection.call(svgTextUtils.convertToTspans, gd); - textSelection.selectAll('tspan.line').attr({x: 0, y: 0}); + .call(Drawing.font, textFont) + .call(svgTextUtils.convertToTspans, gd); return textSelection; } diff --git a/src/traces/pie/plot.js b/src/traces/pie/plot.js index 52fce7b0e4a..bb6b48a2dcd 100644 --- a/src/traces/pie/plot.js +++ b/src/traces/pie/plot.js @@ -251,14 +251,11 @@ module.exports = function plot(gd, cdpie) { .attr({ 'class': 'slicetext', transform: '', - 'text-anchor': 'middle', - x: 0, - y: 0 + 'text-anchor': 'middle' }) .call(Drawing.font, textPosition === 'outside' ? trace.outsidetextfont : trace.insidetextfont) .call(svgTextUtils.convertToTspans, gd); - sliceText.selectAll('tspan.line').attr({x: 0, y: 0}); // position the text relative to the slice // TODO: so far this only accounts for flat diff --git a/test/jasmine/tests/svg_text_utils_test.js b/test/jasmine/tests/svg_text_utils_test.js index eadbf80e842..796e7d6c8ab 100644 --- a/test/jasmine/tests/svg_text_utils_test.js +++ b/test/jasmine/tests/svg_text_utils_test.js @@ -288,11 +288,11 @@ describe('svg+text utils', function() { it('allows one to span
s', function() { var node = mockTextSVGElement('be Bold
and
Strong
'); expect(node.html()).toBe( - 'be ' + + 'be ' + 'Bold' + - '' + + '' + 'and' + - '' + + '' + '' + 'Strong'); }); @@ -300,10 +300,10 @@ describe('svg+text utils', function() { it('allows one to span
s', function() { var node = mockTextSVGElement('SO4
44
'); expect(node.html()).toBe( - 'SO\u200b' + + 'SO\u200b' + '4' + '\u200b' + - '\u200b' + + '\u200b' + '44' + '\u200b'); }); @@ -318,7 +318,7 @@ describe('svg+text utils', function() { textCases.forEach(function(textCase) { var node = mockTextSVGElement(textCase); function opener(dy) { - return '' + + return '' + '' + '' + '\u200b'; From 76fc8b8a11abbc36b434b2812eea0f6404fe10ed Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 23:22:28 -0400 Subject: [PATCH 11/37] linting related to tspan.line centralization --- src/components/annotations/draw.js | 4 ++-- src/components/drawing/index.js | 9 +++++---- src/components/legend/draw.js | 16 ++++++++++------ src/components/rangeselector/draw.js | 20 ++++++++++---------- src/components/updatemenus/draw.js | 28 ++++++++++++++-------------- 5 files changed, 41 insertions(+), 36 deletions(-) diff --git a/src/components/annotations/draw.js b/src/components/annotations/draw.js index 9c2b8d51239..92066a95f71 100644 --- a/src/components/annotations/draw.js +++ b/src/components/annotations/draw.js @@ -417,8 +417,8 @@ function drawRaw(gd, options, index, subplotId, xa, ya) { .call(Drawing.setClipUrl, isSizeConstrained ? annClipID : null); } else { - var texty = borderfull + yShift - anntextBB.top, - textx = borderfull + xShift - anntextBB.left; + var texty = borderfull + yShift - anntextBB.top; + var textx = borderfull + xShift - anntextBB.left; annText.call(svgTextUtils.positionText, textx, texty) .call(Drawing.setClipUrl, isSizeConstrained ? annClipID : null); diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index d4ee19d0483..5a5af072bbd 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -460,10 +460,11 @@ drawing.textPointStyle = function(s, trace, gd) { .attr('text-anchor', h) .text(text) .call(svgTextUtils.convertToTspans, gd); - var pgroup = d3.select(this.parentNode), - numLines = (svgTextUtils.lineCount(p) - 1) * LINEEXPAND + 1, - dx = TEXTOFFSETSIGN[h] * r, - dy = fontSize * 0.75 + TEXTOFFSETSIGN[v] * r + + + var pgroup = d3.select(this.parentNode); + var numLines = (svgTextUtils.lineCount(p) - 1) * LINEEXPAND + 1; + var dx = TEXTOFFSETSIGN[h] * r; + var dy = fontSize * 0.75 + TEXTOFFSETSIGN[v] * r + (TEXTOFFSETSIGN[v] - 1) * numLines * fontSize / 2; // fix the overall text group position diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index c954c5e99d4..4fc4e754d6c 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -369,11 +369,13 @@ function drawTexts(g, gd) { var text = g.selectAll('text.legendtext') .data([0]); + text.enter().append('text').classed('legendtext', true); + text.attr('text-anchor', 'start') - .classed('user-select-none', true) - .call(Drawing.font, fullLayout.legend.font) - .text(name); + .classed('user-select-none', true) + .call(Drawing.font, fullLayout.legend.font) + .text(name); function textLayout(s) { svgTextUtils.convertToTspans(s, gd, function() { @@ -571,9 +573,9 @@ function computeTextDimensions(g, gd) { Drawing.setTranslate(mathjaxGroup, 0, (height / 4)); } else { - var text = g.selectAll('.legendtext'), - textLines = svgTextUtils.lineCount(text), - textNode = text.node(); + var text = g.selectAll('.legendtext'); + var textLines = svgTextUtils.lineCount(text); + var textNode = text.node(); height = lineHeight * textLines; width = textNode ? Drawing.bBox(textNode).width : 0; @@ -581,6 +583,8 @@ function computeTextDimensions(g, gd) { // approximation to height offset to center the font // to avoid getBoundingClientRect var textY = lineHeight * (0.3 + (1 - textLines) / 2); + // TODO: this 40 should go in a constants file (along with other + // values related to the legend symbol size) svgTextUtils.positionText(text, 40, textY); } diff --git a/src/components/rangeselector/draw.js b/src/components/rangeselector/draw.js index 1123d89fd4c..97382afabd1 100644 --- a/src/components/rangeselector/draw.js +++ b/src/components/rangeselector/draw.js @@ -180,23 +180,23 @@ function reposition(gd, buttons, opts, axName) { var borderWidth = opts.borderwidth; buttons.each(function() { - var button = d3.select(this), - text = button.select('.selector-text'); + var button = d3.select(this); + var text = button.select('.selector-text'); - var tHeight = opts.font.size * 1.3, - hEff = Math.max(tHeight * svgTextUtils.lineCount(text), 16) + 3; + var tHeight = opts.font.size * 1.3; + var hEff = Math.max(tHeight * svgTextUtils.lineCount(text), 16) + 3; opts.height = Math.max(opts.height, hEff); }); buttons.each(function() { - var button = d3.select(this), - rect = button.select('.selector-rect'), - text = button.select('.selector-text'); + var button = d3.select(this); + var rect = button.select('.selector-rect'); + var text = button.select('.selector-text'); - var tWidth = text.node() && Drawing.bBox(text.node()).width, - tHeight = opts.font.size * 1.3, - tLines = svgTextUtils.lineCount(text); + var tWidth = text.node() && Drawing.bBox(text.node()).width; + var tHeight = opts.font.size * 1.3; + var tLines = svgTextUtils.lineCount(text); var wEff = Math.max(tWidth + 10, constants.minButtonWidth); diff --git a/src/components/updatemenus/draw.js b/src/components/updatemenus/draw.js index bc235e2634b..8b8e278e39e 100644 --- a/src/components/updatemenus/draw.js +++ b/src/components/updatemenus/draw.js @@ -526,13 +526,13 @@ function findDimensions(gd, menuOpts) { var text = button.select('.' + constants.itemTextClassName); // width is given by max width of all buttons - var tWidth = text.node() && Drawing.bBox(text.node()).width, - wEff = Math.max(tWidth + constants.textPadX, constants.minWidth); + var tWidth = text.node() && Drawing.bBox(text.node()).width; + var wEff = Math.max(tWidth + constants.textPadX, constants.minWidth); // height is determined by item text - var tHeight = menuOpts.font.size * constants.fontSizeToHeight, - tLines = svgTextUtils.lineCount(text), - hEff = Math.max(tHeight * tLines, constants.minHeight) + constants.textOffsetY; + var tHeight = menuOpts.font.size * constants.fontSizeToHeight; + var tLines = svgTextUtils.lineCount(text); + var hEff = Math.max(tHeight * tLines, constants.minHeight) + constants.textOffsetY; hEff = Math.ceil(hEff); wEff = Math.ceil(wEff); @@ -626,10 +626,10 @@ function findDimensions(gd, menuOpts) { // set item positions (mutates posOpts) function setItemPosition(item, menuOpts, posOpts, overrideOpts) { overrideOpts = overrideOpts || {}; - var rect = item.select('.' + constants.itemRectClassName), - text = item.select('.' + constants.itemTextClassName), - borderWidth = menuOpts.borderwidth, - index = posOpts.index; + var rect = item.select('.' + constants.itemRectClassName); + var text = item.select('.' + constants.itemTextClassName); + var borderWidth = menuOpts.borderwidth; + var index = posOpts.index; Drawing.setTranslate(item, borderWidth + posOpts.x, borderWidth + posOpts.y); @@ -643,9 +643,9 @@ function setItemPosition(item, menuOpts, posOpts, overrideOpts) { height: finalHeight }); - var tHeight = menuOpts.font.size * constants.fontSizeToHeight, - tLines = svgTextUtils.lineCount(text), - spanOffset = ((tLines - 1) * tHeight / 2); + var tHeight = menuOpts.font.size * constants.fontSizeToHeight; + var tLines = svgTextUtils.lineCount(text); + var spanOffset = ((tLines - 1) * tHeight / 2); svgTextUtils.positionText(text, constants.textOffsetX, finalHeight / 2 - spanOffset + constants.textOffsetY); @@ -664,8 +664,8 @@ function removeAllButtons(gButton) { } function clearPushMargins(gd) { - var pushMargins = gd._fullLayout._pushmargin || {}, - keys = Object.keys(pushMargins); + var pushMargins = gd._fullLayout._pushmargin || {}; + var keys = Object.keys(pushMargins); for(var i = 0; i < keys.length; i++) { var k = keys[i]; From 61dd3b181a9611a24651ce6c88f8f075438e899e Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Thu, 15 Jun 2017 23:41:23 -0400 Subject: [PATCH 12/37] use display:none instead of visibility:hidden hidden elements still contribute to bounding boxes. mostly we are careful to calculate the bbox of the visible one but not in all cases. --- src/lib/svg_text_utils.js | 4 ++-- src/snapshot/tosvg.js | 12 +++++++----- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/lib/svg_text_utils.js b/src/lib/svg_text_utils.js index 8db860d06b0..3c2556dcb8c 100644 --- a/src/lib/svg_text_utils.js +++ b/src/lib/svg_text_utils.js @@ -40,7 +40,7 @@ exports.convertToTspans = function(_context, gd, _callback) { svgClass += '-math'; parent.selectAll('svg.' + svgClass).remove(); parent.selectAll('g.' + svgClass + '-group').remove(); - _context.style({visibility: null}) + _context.style('display', null) .attr({ // some callers use data-unformatted *from the element* in 'cancel' // so we need it here even if we're going to turn it into math @@ -75,7 +75,7 @@ exports.convertToTspans = function(_context, gd, _callback) { if(tex) { ((gd && gd._promises) || []).push(new Promise(function(resolve) { - _context.style({visibility: 'hidden'}); + _context.style('display', 'none'); var config = {fontSize: parseInt(_context.style('font-size'), 10)}; texToSVG(tex[2], config, function(_svgEl, _glyphDefs, _svgBBox) { diff --git a/src/snapshot/tosvg.js b/src/snapshot/tosvg.js index be4cdcafaf0..85b4cd280b1 100644 --- a/src/snapshot/tosvg.js +++ b/src/snapshot/tosvg.js @@ -90,16 +90,18 @@ module.exports = function toSVG(gd, format) { .each(function() { var txt = d3.select(this); - // hidden text is pre-formatting mathjax, - // the browser ignores it but it can still confuse batik - if(txt.style('visibility') === 'hidden') { + // hidden text is pre-formatting mathjax, the browser ignores it + // but in a static plot it's useless and it can confuse batik + // we've tried to standardize on display:none but make sure we still + // catch visibility:hidden if it ever arises + if(txt.style('visibility') === 'hidden' || txt.style('display') === 'none') { txt.remove(); return; } else { - // force other visibility value to export as visible + // clear other visibility/display values to default // to not potentially confuse non-browser SVG implementations - txt.style('visibility', 'visible'); + txt.style({visibility: null, display: null}); } // Font family styles break things because of quotation marks, From 936936b44dd5c8b856d17c64b55dac3a4ef9aab0 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 00:21:21 -0400 Subject: [PATCH 13/37] remove Drawing.measureText and support pseudo-HTML in carpets --- src/components/drawing/index.js | 10 ---------- src/traces/carpet/plot.js | 32 +++++++++++++++++++------------ test/image/baselines/cheater.png | Bin 51434 -> 56377 bytes test/image/mocks/cheater.json | 10 ++++++---- 4 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index 5a5af072bbd..e8e1c953430 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -849,13 +849,3 @@ drawing.setTextPointsScale = function(selection, xScale, yScale) { el.attr('transform', transforms.join(' ')); }); }; - -drawing.measureText = function(tester, text, font) { - var dummyText = tester.append('text') - .text(text) - .call(drawing.font, font); - - var bbox = drawing.bBox(dummyText.node()); - dummyText.remove(); - return bbox; -}; diff --git a/src/traces/carpet/plot.js b/src/traces/carpet/plot.js index 333f9f9c66e..91b90acbd4a 100644 --- a/src/traces/carpet/plot.js +++ b/src/traces/carpet/plot.js @@ -14,6 +14,7 @@ var Drawing = require('../../components/drawing'); var map1dArray = require('./map_1d_array'); var makepath = require('./makepath'); var orientText = require('./orient_text'); +var svgTextUtils = require('../../lib/svg_text_utils'); module.exports = function plot(gd, plotinfo, cdcarpet) { for(var i = 0; i < cdcarpet.length; i++) { @@ -59,10 +60,10 @@ function plotOne(gd, plotinfo, cd) { drawGridLines(xa, ya, boundaryLayer, aax, 'a-boundary', aax._boundarylines); drawGridLines(xa, ya, boundaryLayer, bax, 'b-boundary', bax._boundarylines); - var maxAExtent = drawAxisLabels(Drawing.tester, xa, ya, trace, t, labelLayer, aax._labels, 'a-label'); - var maxBExtent = drawAxisLabels(Drawing.tester, xa, ya, trace, t, labelLayer, bax._labels, 'b-label'); + var maxAExtent = drawAxisLabels(gd, xa, ya, trace, t, labelLayer, aax._labels, 'a-label'); + var maxBExtent = drawAxisLabels(gd, xa, ya, trace, t, labelLayer, bax._labels, 'b-label'); - drawAxisTitles(labelLayer, trace, t, xa, ya, maxAExtent, maxBExtent); + drawAxisTitles(gd, labelLayer, trace, t, xa, ya, maxAExtent, maxBExtent); // Swap for debugging in order to draw directly: // drawClipPath(trace, axisLayer, xa, ya); @@ -133,7 +134,7 @@ function drawGridLines(xaxis, yaxis, layer, axis, axisLetter, gridlines) { gridJoin.exit().remove(); } -function drawAxisLabels(tester, xaxis, yaxis, trace, t, layer, labels, labelClass) { +function drawAxisLabels(gd, xaxis, yaxis, trace, t, layer, labels, labelClass) { var labelJoin = layer.selectAll('text.' + labelClass).data(labels); labelJoin.enter().append('text') @@ -152,12 +153,18 @@ function drawAxisLabels(tester, xaxis, yaxis, trace, t, layer, labels, labelClas orientation = orientText(trace, xaxis, yaxis, label.xy, [Math.cos(angle), Math.sin(angle)]); } var direction = (label.endAnchor ? -1 : 1) * orientation.flip; - var bbox = Drawing.measureText(tester, label.text, label.font); - d3.select(this) - .attr('text-anchor', direction > 0 ? 'start' : 'end') + var labelEl = d3.select(this) + .attr({ + 'text-anchor': direction > 0 ? 'start' : 'end', + 'data-notex': 1 + }) .text(label.text) - .attr('transform', + .call(svgTextUtils.convertToTspans, gd); + + var bbox = Drawing.bBox(this); + + labelEl.attr('transform', // Translate to the correct point: 'translate(' + orientation.p[0] + ',' + orientation.p[1] + ') ' + // Rotate to line up with grid line tangent: @@ -175,23 +182,23 @@ function drawAxisLabels(tester, xaxis, yaxis, trace, t, layer, labels, labelClas return maxExtent; } -function drawAxisTitles(layer, trace, t, xa, ya, maxAExtent, maxBExtent) { +function drawAxisTitles(gd, layer, trace, t, xa, ya, maxAExtent, maxBExtent) { var a, b, xy, dxy; a = 0.5 * (trace.a[0] + trace.a[trace.a.length - 1]); b = trace.b[0]; xy = trace.ab2xy(a, b, true); dxy = trace.dxyda_rough(a, b); - drawAxisTitle(layer, trace, t, xy, dxy, trace.aaxis, xa, ya, maxAExtent, 'a-title'); + drawAxisTitle(gd, layer, trace, t, xy, dxy, trace.aaxis, xa, ya, maxAExtent, 'a-title'); a = trace.a[0]; b = 0.5 * (trace.b[0] + trace.b[trace.b.length - 1]); xy = trace.ab2xy(a, b, true); dxy = trace.dxydb_rough(a, b); - drawAxisTitle(layer, trace, t, xy, dxy, trace.baxis, xa, ya, maxBExtent, 'b-title'); + drawAxisTitle(gd, layer, trace, t, xy, dxy, trace.baxis, xa, ya, maxBExtent, 'b-title'); } -function drawAxisTitle(layer, trace, t, xy, dxy, axis, xa, ya, offset, labelClass) { +function drawAxisTitle(gd, layer, trace, t, xy, dxy, axis, xa, ya, offset, labelClass) { var data = []; if(axis.title) data.push(axis.title); var titleJoin = layer.selectAll('text.' + labelClass).data(data); @@ -214,6 +221,7 @@ function drawAxisTitle(layer, trace, t, xy, dxy, axis, xa, ya, offset, labelClas var el = d3.select(this); el.text(axis.title || '') + .call(svgTextUtils.convertToTspans, gd) .attr('transform', 'translate(' + orientation.p[0] + ',' + orientation.p[1] + ') ' + 'rotate(' + orientation.angle + ') ' + diff --git a/test/image/baselines/cheater.png b/test/image/baselines/cheater.png index 90e53ea91bb53e23ea79cdf7fc8cc6810a9d1c8e..5b9ef7f065ee8f3a77b232d68ee4047770350d57 100644 GIT binary patch literal 56377 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 literal 51434 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
of fingernails", "tickformat":".1f", "type":"linear", - "smoothing": 0 + "smoothing": 0, + "ticksuffix": "×102" }, "baxis":{ - "title":"height, cm", + "title":"height, m
with shoes", "tickformat":".2f", "type":"linear", - "smoothing": 0 + "smoothing": 0, + "tickprefix": "*" } }, { From 4ae49f5c9eafa330ca5a77aef08eba8d5d4df987 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 00:31:26 -0400 Subject: [PATCH 14/37] prohibit Math.sign and .innerHTML in syntax test --- tasks/test_syntax.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tasks/test_syntax.js b/tasks/test_syntax.js index 577e099fb86..f98bd263db8 100644 --- a/tasks/test_syntax.js +++ b/tasks/test_syntax.js @@ -70,9 +70,16 @@ function assertSrcContents() { // look for .classList if(node.type === 'MemberExpression') { var parts = node.source().split('.'); - if(parts[parts.length - 1] === 'classList') { + var lastPart = parts[parts.length - 1]; + if(lastPart === 'classList') { logs.push(file + ' : contains .classList (IE failure)'); } + else if(lastPart === 'innerHTML') { + logs.push(file + ' : contains .innerHTML (IE failure in SVG)'); + } + else if(node.source() === 'Math.sign') { + logs.push(file + ' : contains Math.sign (IE failure)'); + } } }); From 9f4ec66011348d032367255555217c2b2308401a Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 00:34:50 -0400 Subject: [PATCH 15/37] remove Math.sign --- src/plots/gl2d/camera.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/plots/gl2d/camera.js b/src/plots/gl2d/camera.js index e50cdae6012..a043dead109 100644 --- a/src/plots/gl2d/camera.js +++ b/src/plots/gl2d/camera.js @@ -131,7 +131,7 @@ function createCamera(scene) { if(Math.abs(dx * dydx) > Math.abs(dy)) { result.boxEnd[1] = result.boxStart[1] + - Math.abs(dx) * dydx * (Math.sign(dy) || 1); + Math.abs(dx) * dydx * (dy >= 0 ? 1 : -1); // gl-select-box clips to the plot area bounds, // which breaks the axis constraint, so don't allow @@ -149,7 +149,7 @@ function createCamera(scene) { } else { result.boxEnd[0] = result.boxStart[0] + - Math.abs(dy) / dydx * (Math.sign(dx) || 1); + Math.abs(dy) / dydx * (dx >= 0 ? 1 : -1); if(result.boxEnd[0] < dataBox[0]) { result.boxEnd[0] = dataBox[0]; From 1a5679ef47f7a3d2535399c182fc68a626f82846 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 01:38:46 -0400 Subject: [PATCH 16/37] fix title alignment --- src/components/titles/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/titles/index.js b/src/components/titles/index.js index 94215747f31..cfdac0a6b83 100644 --- a/src/components/titles/index.js +++ b/src/components/titles/index.js @@ -119,7 +119,7 @@ Titles.draw = function(gd, titleClass, options) { opacity: opacity * Color.opacity(fontColor), 'font-weight': Plots.fontWeight }) - .call(svgTextUtils.positionText, attributes.x, attributes.y) + .attr(attributes) .call(svgTextUtils.convertToTspans, gd); return Plots.previousPromises(gd); From af5b7f2d532768e6e7ba8451ddef88316fcc8569 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 01:49:51 -0400 Subject: [PATCH 17/37] update snapshot test --- test/jasmine/tests/snapshot_test.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/test/jasmine/tests/snapshot_test.js b/test/jasmine/tests/snapshot_test.js index 16caa318a70..12cc6ac3b64 100644 --- a/test/jasmine/tests/snapshot_test.js +++ b/test/jasmine/tests/snapshot_test.js @@ -224,12 +224,14 @@ describe('Plotly.Snapshot', function() { }); it('should force *visibility: visible* for text elements with *visibility: inherit*', function(done) { + // we've gotten rid of visibility almost entirely, using display instead d3.select(gd).style('visibility', 'inherit'); Plotly.plot(gd, subplotMock.data, subplotMock.layout).then(function() { d3.select(gd).selectAll('text').each(function() { expect(d3.select(this).style('visibility')).toEqual('visible'); + expect(d3.select(this).style('display')).toEqual('block'); }); return Plotly.Snapshot.toSVG(gd); @@ -239,7 +241,8 @@ describe('Plotly.Snapshot', function() { textElements = svgDOM.getElementsByTagName('text'); for(var i = 0; i < textElements.length; i++) { - expect(textElements[i].style.visibility).toEqual('visible'); + expect(textElements[i].style.visibility).toEqual(''); + expect(textElements[i].style.display).toEqual(''); } done(); From 4886985d006f53607235e993aa7db908a19caf10 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 13:56:07 -0400 Subject: [PATCH 18/37] oops, we need y=0 on tspan.line after all otherwise each tspan is relative to the previous, so the 3rd line `dy=2.6em` goes 2 lines below the 2nd. Alternatively I guess we could put `dy=1.3em` on all of them except the first but this way seems more explicit and robust --- src/lib/svg_text_utils.js | 21 ++++++++++++--------- test/jasmine/tests/svg_text_utils_test.js | 12 ++++++------ 2 files changed, 18 insertions(+), 15 deletions(-) diff --git a/src/lib/svg_text_utils.js b/src/lib/svg_text_utils.js index 3c2556dcb8c..e6d43aa69c9 100644 --- a/src/lib/svg_text_utils.js +++ b/src/lib/svg_text_utils.js @@ -481,20 +481,23 @@ exports.positionText = function positionText(s, x, y) { return s.each(function() { var text = d3.select(this); - var thisX = x; - if(thisX === undefined) { - thisX = text.attr('x'); - if(thisX === null) { - text.attr('x', 0); - thisX = 0; + function setOrGet(attr, val) { + if(val === undefined) { + val = text.attr(attr); + if(val === null) { + text.attr(attr, 0); + val = 0; + } } + else text.attr(attr, val); + return val; } - else text.attr('x', thisX); - if(y !== undefined) text.attr('y', y); + var thisX = setOrGet('x', x); + var thisY = setOrGet('y', y); if(this.nodeName === 'text') { - text.selectAll('tspan.line').attr('x', thisX); + text.selectAll('tspan.line').attr({x: thisX, y: thisY}); } }); }; diff --git a/test/jasmine/tests/svg_text_utils_test.js b/test/jasmine/tests/svg_text_utils_test.js index 796e7d6c8ab..4a118295b80 100644 --- a/test/jasmine/tests/svg_text_utils_test.js +++ b/test/jasmine/tests/svg_text_utils_test.js @@ -288,11 +288,11 @@ describe('svg+text utils', function() { it('allows one to span
s', function() { var node = mockTextSVGElement('be Bold
and
Strong
'); expect(node.html()).toBe( - 'be ' + + 'be ' + 'Bold' + - '' + + '' + 'and' + - '' + + '' + '' + 'Strong'); }); @@ -300,10 +300,10 @@ describe('svg+text utils', function() { it('allows one to span
s', function() { var node = mockTextSVGElement('SO4
44
'); expect(node.html()).toBe( - 'SO\u200b' + + 'SO\u200b' + '4' + '\u200b' + - '\u200b' + + '\u200b' + '44' + '\u200b'); }); @@ -318,7 +318,7 @@ describe('svg+text utils', function() { textCases.forEach(function(textCase) { var node = mockTextSVGElement(textCase); function opener(dy) { - return '' + + return '' + '' + '' + '\u200b'; From 717c7d8d4cf9dccfc7fd8e7050d3b370291b9368 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 14:06:05 -0400 Subject: [PATCH 19/37] hover labels need explicit position reset for proper positioning later --- src/components/fx/hover.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/fx/hover.js b/src/components/fx/hover.js index 4427584a709..40cc370e46a 100644 --- a/src/components/fx/hover.js +++ b/src/components/fx/hover.js @@ -595,6 +595,7 @@ function createHoverText(hoverData, opts, gd) { .attr('data-notex', 1); ltext.text(t0) + .call(svgTextUtils.positionText, 0, 0) .call(svgTextUtils.convertToTspans, gd); label.attr('transform', ''); @@ -731,6 +732,7 @@ function createHoverText(hoverData, opts, gd) { d.fontColor || contrastColor) .text(text) .attr('data-notex', 1) + .call(svgTextUtils.positionText, 0, 0) .call(svgTextUtils.convertToTspans, gd); var tx2 = g.select('text.name'), @@ -744,6 +746,7 @@ function createHoverText(hoverData, opts, gd) { traceColor) .text(name) .attr('data-notex', 1) + .call(svgTextUtils.positionText, 0, 0) .call(svgTextUtils.convertToTspans, gd); tx2width = tx2.node().getBoundingClientRect().width + 2 * HOVERTEXTPAD; } From 7c3dc3bbde8ae62addcb00cddf9ddfee954ca4a2 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 15:24:43 -0400 Subject: [PATCH 20/37] get correct bbox for carpet tick labels --- src/traces/carpet/plot.js | 4 ++-- test/image/baselines/cheater.png | Bin 56377 -> 56408 bytes 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/traces/carpet/plot.js b/src/traces/carpet/plot.js index 91b90acbd4a..914982943c3 100644 --- a/src/traces/carpet/plot.js +++ b/src/traces/carpet/plot.js @@ -159,6 +159,7 @@ function drawAxisLabels(gd, xaxis, yaxis, trace, t, layer, labels, labelClass) { 'text-anchor': direction > 0 ? 'start' : 'end', 'data-notex': 1 }) + .call(Drawing.font, label.font) .text(label.text) .call(svgTextUtils.convertToTspans, gd); @@ -171,8 +172,7 @@ function drawAxisLabels(gd, xaxis, yaxis, trace, t, layer, labels, labelClass) { 'rotate(' + orientation.angle + ')' + // Adjust the baseline and indentation: 'translate(' + label.axis.labelpadding * direction + ',' + bbox.height * 0.3 + ')' - ) - .call(Drawing.font, label.font.family, label.font.size, label.font.color); + ); maxExtent = Math.max(maxExtent, bbox.width + label.axis.labelpadding); }); diff --git a/test/image/baselines/cheater.png b/test/image/baselines/cheater.png index 5b9ef7f065ee8f3a77b232d68ee4047770350d57..c22359e7d986e5fd31398e65bdb866fd8f8d1c94 100644 GIT binary patch literal 56408 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 JQr05m{{R<>>dXKD literal 56377 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 From 378c80512798475115924df8e8de7c4b518d250a Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 15:25:29 -0400 Subject: [PATCH 21/37] fixed range selector mocks and stopped autosizing the mock, which makes it look different in the test dashboard vs the image server --- test/image/baselines/range_selector.png | Bin 52619 -> 52589 bytes test/image/baselines/range_selector_style.png | Bin 33385 -> 35720 bytes test/image/mocks/range_selector_style.json | 5 ++--- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/test/image/baselines/range_selector.png b/test/image/baselines/range_selector.png index c8fbbddd96f5dfb80650b3a7d8473e9174685c05..9f4d3fa8615214f9584b62d1cb2a0e5e5f8ed8e5 100644 GIT binary patch literal 52589 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 literal 52619 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 literal 33385 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 KS`|0%hy4eO_F}UD diff --git a/test/image/mocks/range_selector_style.json b/test/image/mocks/range_selector_style.json index 96882360437..d8dce9a7688 100644 --- a/test/image/mocks/range_selector_style.json +++ b/test/image/mocks/range_selector_style.json @@ -1102,8 +1102,7 @@ "y": 1.02, "yanchor": "bottom" }, - "height": 450, - "width": 1000, - "autosize": true + "height": 500, + "width": 700 } } From f8101b01feb5a55e82c02e9a34bfebe1cbb3b951 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 15:53:59 -0400 Subject: [PATCH 22/37] update binding mock - new label positions are slightly different and this is fine because we're calculating them in a totally different way in order to allow for multiline labels --- test/image/baselines/binding.png | Bin 29562 -> 29557 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/image/baselines/binding.png b/test/image/baselines/binding.png index 6c69d0ea29c992677f76fc6656ab6d2c5a8aefb8..29be16f1ce0779e73807f4925d866434f3d2aaad 100644 GIT binary patch delta 3269 zcmbW2XH=6}8pml;L=DQ|jDo<(*g#}Pk-#7X4a!J$6vz%qhy_JtATtsKDS5FVSSX@^ zfKm-Dk}$MDNCM)FA}o>sAxa3LlOlu?iZ6MS&7R#oXTR*1z29#8oqL}1zrP2Z)?A*} zto`Y{<~Q}H&p*}$^e5wm>xBu535#66gmGg{f24uYPett|DdyH~Do7@9OH;|@9#?eq zC;di?REi1=04-nt%LHYQ-bB5xIPw7fnhHSSpBOjm%>c#1@2%sCyZV+4gIkaKH+Pt( zn9l@#moy*botFP(chdaclZS_iMkDie$78iSb;dSZ>UaX3Pc=FU4n*o2K1$jsd$i-o z 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 LzV4J0=WqW5m!sf+ delta 3274 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 V#qcin)Kfj(IesK806cuQ;NSJ*(LewI From 3b293ace4fe24f36466ba63a6ce8e4757b86559c Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 16:00:57 -0400 Subject: [PATCH 23/37] update updatemenus test multiline labels are calculating their widths correctly now because the newline tspans are lining up rather than stair stepping --- test/jasmine/tests/updatemenus_test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/jasmine/tests/updatemenus_test.js b/test/jasmine/tests/updatemenus_test.js index 74ca4743ee3..ff27cf27958 100644 --- a/test/jasmine/tests/updatemenus_test.js +++ b/test/jasmine/tests/updatemenus_test.js @@ -651,7 +651,7 @@ describe('update menus interactions', function() { return Plotly.relayout(gd, 'updatemenus[1].buttons[1].label', 'a looooooooooooong
label'); }).then(function() { - assertItemDims(selectHeader(1), 179, 35); + assertItemDims(selectHeader(1), 165, 35); return click(selectHeader(1)); }).then(function() { From c908ed4ad2f85609862c2ef09df34dc03eb3b5e0 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 16:17:41 -0400 Subject: [PATCH 24/37] lint axes.js --- src/plots/cartesian/axes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plots/cartesian/axes.js b/src/plots/cartesian/axes.js index 105345e04f7..4cea8757d31 100644 --- a/src/plots/cartesian/axes.js +++ b/src/plots/cartesian/axes.js @@ -1849,7 +1849,7 @@ axes.doTicks = function(gd, axid, skipTitle) { (labely(d) - d.fontSize / 2) + ')') : ''); if(mathjaxGroup.empty()) { - var txt = thisLabel.select('text').attr({ + thisLabel.select('text').attr({ transform: transform, 'text-anchor': anchor }); From 0bb38e921e0b08a39effaf4c605430d32b85ee23 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 17:58:19 -0400 Subject: [PATCH 25/37] reorder sliders findDimensions so dummy calculations always succeed --- src/components/sliders/draw.js | 50 ++++++++++++++++++---------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/src/components/sliders/draw.js b/src/components/sliders/draw.js index 4ff42ae0879..c62e5bcf0a8 100644 --- a/src/components/sliders/draw.js +++ b/src/components/sliders/draw.js @@ -151,29 +151,8 @@ function findDimensions(gd, sliderOpts) { constants.gripHeight ); - sliderOpts.currentValueMaxWidth = 0; - sliderOpts.currentValueHeight = 0; - sliderOpts.currentValueTotalHeight = 0; - sliderOpts.currentValueMaxLines = 1; - - if(sliderOpts.currentvalue.visible) { - // Get the dimensions of the current value label: - var dummyGroup = Drawing.tester.append('g'); - - sliderLabels.each(function(stepOpts) { - var curValPrefix = drawCurrentValue(dummyGroup, sliderOpts, stepOpts.label); - var curValSize = (curValPrefix.node() && Drawing.bBox(curValPrefix.node())) || {width: 0, height: 0}; - var lines = svgTextUtils.lineCount(curValPrefix); - sliderOpts.currentValueMaxWidth = Math.max(sliderOpts.currentValueMaxWidth, Math.ceil(curValSize.width)); - sliderOpts.currentValueHeight = Math.max(sliderOpts.currentValueHeight, Math.ceil(curValSize.height)); - sliderOpts.currentValueMaxLines = Math.max(sliderOpts.currentValueMaxLines, lines); - }); - - sliderOpts.currentValueTotalHeight = sliderOpts.currentValueHeight + sliderOpts.currentvalue.offset; - - dummyGroup.remove(); - } - + // calculate some overall dimensions - some of these are needed for + // calculating the currentValue dimensions var graphSize = gd._fullLayout._size; sliderOpts.lx = graphSize.l + graphSize.w * sliderOpts.x; sliderOpts.ly = graphSize.t + graphSize.h * (1 - sliderOpts.y); @@ -200,6 +179,31 @@ function findDimensions(gd, sliderOpts) { sliderOpts.labelStride = Math.max(1, Math.ceil(computedSpacePerLabel / availableSpacePerLabel)); sliderOpts.labelHeight = labelHeight; + // loop over all possible values for currentValue to find the + // area we need for it + sliderOpts.currentValueMaxWidth = 0; + sliderOpts.currentValueHeight = 0; + sliderOpts.currentValueTotalHeight = 0; + sliderOpts.currentValueMaxLines = 1; + + if(sliderOpts.currentvalue.visible) { + // Get the dimensions of the current value label: + var dummyGroup = Drawing.tester.append('g'); + + sliderLabels.each(function(stepOpts) { + var curValPrefix = drawCurrentValue(dummyGroup, sliderOpts, stepOpts.label); + var curValSize = (curValPrefix.node() && Drawing.bBox(curValPrefix.node())) || {width: 0, height: 0}; + var lines = svgTextUtils.lineCount(curValPrefix); + sliderOpts.currentValueMaxWidth = Math.max(sliderOpts.currentValueMaxWidth, Math.ceil(curValSize.width)); + sliderOpts.currentValueHeight = Math.max(sliderOpts.currentValueHeight, Math.ceil(curValSize.height)); + sliderOpts.currentValueMaxLines = Math.max(sliderOpts.currentValueMaxLines, lines); + }); + + sliderOpts.currentValueTotalHeight = sliderOpts.currentValueHeight + sliderOpts.currentvalue.offset; + + dummyGroup.remove(); + } + sliderOpts.height = sliderOpts.currentValueTotalHeight + constants.tickOffset + sliderOpts.ticklen + constants.labelOffset + sliderOpts.labelHeight + sliderOpts.pad.t + sliderOpts.pad.b; var xanchor = 'left'; From 6c72c778793219c27f94904cea6b132eb4e64da0 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 17:59:21 -0400 Subject: [PATCH 26/37] test #984 - ensure we never override visibility --- test/jasmine/tests/page_test.js | 88 +++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 test/jasmine/tests/page_test.js diff --git a/test/jasmine/tests/page_test.js b/test/jasmine/tests/page_test.js new file mode 100644 index 00000000000..b0a134bc2e3 --- /dev/null +++ b/test/jasmine/tests/page_test.js @@ -0,0 +1,88 @@ +var Plotly = require('@lib'); +var Lib = require('@src/lib'); + +var d3 = require('d3'); +var createGraphDiv = require('../assets/create_graph_div'); +var destroyGraphDiv = require('../assets/destroy_graph_div'); +var fail = require('../assets/fail_test'); + + +describe('page rendering', function() { + 'use strict'; + + var gd; + + afterEach(destroyGraphDiv); + + beforeEach(function() { + gd = createGraphDiv(); + }); + + it('should hide all elements if the div is hidden with visibility:hidden', function(done) { + // Note: we don't need to test the case of display: none, because that + // halts all rendering of children, regardless of their display/visibility properties + // and interestingly, unlike `visibility` which gets inherited as a computed style, + // display: none does not propagate through to children so we can't actually see + // that they're invisible - I guess the only way to tell that would be + + // make a plot that has pretty much all kinds of plot elements + // start with plot_types, because it has all the subplot types already + var mock = Lib.extendDeep({}, require('@mocks/plot_types.json')); + + mock.data.push( + {type: 'contour', z: [[1, 2], [3, 4]], coloring: 'heatmap'} + ); + + mock.layout.annotations = [ + {x: 1, y: 1, text: '$x+y$'}, + {x: 1, y: 1, text: 'not math', ax: -20, ay: -20} + ]; + + mock.layout.shapes = [{x0: 0.5, x1: 1.5, y0: 0.5, y1: 1.5}]; + + mock.layout.images = [{ + source: 'https://images.plot.ly/language-icons/api-home/python-logo.png', + xref: 'paper', + yref: 'paper', + x: 0, + y: 1, + sizex: 0.2, + sizey: 0.2, + xanchor: 'right', + yanchor: 'bottom' + }]; + + // then merge in a few more with other component types + mock.layout.updatemenus = require('@mocks/updatemenus.json').layout.updatemenus; + mock.layout.sliders = require('@mocks/sliders.json').layout.sliders; + + mock.layout.xaxis.title = 'XXX'; + mock.layout.showlegend = true; + + return Plotly.newPlot(gd, mock.data, mock.layout).then(function() { + var gd3 = d3.select(gd); + var allPresentationElements = gd3.selectAll('path,text,rect,image,canvas'); + + gd3.style('visibility', 'hidden'); + + // visibility: hidden is inherited by all children (unless overridden + // somewhere in the tree) + allPresentationElements.each(function() { + expect(d3.select(this).style('visibility')).toBe('hidden'); + }); + + gd3.style({visibility: null, display: 'none'}); + + // display: none is not inherited, but will zero-out the bounding box + // in principle we shouldn't need to do this test, as display: none + // cannot be overridden in a child, but it's included here for completeness. + allPresentationElements.each(function() { + var bBox = this.getBoundingClientRect(); + expect(bBox.width).toBe(0); + expect(bBox.height).toBe(0); + }); + }) + .catch(fail) + .then(done); + }); +}); From 30b9fa5746b85dc9294d05ee0c4d7d433ae34420 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 18:18:11 -0400 Subject: [PATCH 27/37] remove some obsolete code and comments from sliders/draw --- src/components/sliders/draw.js | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/components/sliders/draw.js b/src/components/sliders/draw.js index c62e5bcf0a8..871d2747d0b 100644 --- a/src/components/sliders/draw.js +++ b/src/components/sliders/draw.js @@ -86,16 +86,9 @@ module.exports = function draw(gd) { }); drawSlider(gd, d3.select(this), sliderOpts); - - // makeInputProxy(gd, d3.select(this), sliderOpts); }); }; -/* function makeInputProxy(gd, sliderGroup, sliderOpts) { - sliderOpts.inputProxy = gd._fullLayout._paperdiv.selectAll('input.' + constants.inputProxyClass) - .data([0]); -}*/ - // This really only just filters by visibility: function makeSliderData(fullLayout, gd) { var contOpts = fullLayout[constants.name], @@ -135,10 +128,6 @@ function findDimensions(gd, sliderOpts) { var textNode = text.node(); if(textNode) { var bBox = Drawing.bBox(textNode); - // This just overwrites with the last. Which is fine as long as - // the bounding box (probably incorrectly) measures the text *on - // a single line*: - // TODO: what is that comment about? should this be a max as well? labelHeight = Math.max(labelHeight, bBox.height); maxLabelWidth = Math.max(maxLabelWidth, bBox.width); } From 930e58ecc2193c6d0efefd5641d1ba4b13b37c5a Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 18:29:57 -0400 Subject: [PATCH 28/37] updatemenus point in the direction they'll open --- src/components/updatemenus/constants.js | 10 +++++++++- src/components/updatemenus/draw.js | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/components/updatemenus/constants.js b/src/components/updatemenus/constants.js index b1c7a2e3ef0..56f0fc38663 100644 --- a/src/components/updatemenus/constants.js +++ b/src/components/updatemenus/constants.js @@ -70,5 +70,13 @@ module.exports = { activeColor: '#F4FAFF', // color given to hovered buttons - hoverColor: '#F4FAFF' + hoverColor: '#F4FAFF', + + // symbol for menu open arrow + arrowSymbol: { + left: 'â—„', + right: 'â–º', + up: 'â–²', + down: 'â–¼' + } }; diff --git a/src/components/updatemenus/draw.js b/src/components/updatemenus/draw.js index 8b8e278e39e..93ae09fecfd 100644 --- a/src/components/updatemenus/draw.js +++ b/src/components/updatemenus/draw.js @@ -214,7 +214,7 @@ function drawHeader(gd, gHeader, gButton, scrollBox, menuOpts) { .classed('user-select-none', true) .attr('text-anchor', 'end') .call(Drawing.font, menuOpts.font) - .text('â–¼'); + .text(constants.arrowSymbol[menuOpts.direction]); arrow.attr({ x: menuOpts.headerWidth - constants.arrowOffsetX + menuOpts.pad.l, From 301fba79a4d65ed60918b1346d5ae0db15786c0d Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 18:32:17 -0400 Subject: [PATCH 29/37] update updatemenus_positioning mock for new arrows --- .../baselines/updatemenus_positioning.png | Bin 38220 -> 38125 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/test/image/baselines/updatemenus_positioning.png b/test/image/baselines/updatemenus_positioning.png index 27699ee4298344db1f20fa62fcea09968841fccb..9f9fc426fd2f3c72414b62cd8a7a9e0ed756fe18 100644 GIT binary patch literal 38125 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 Iao_iU0a#jg1^@s6 From 4b87b2ee8553433b4b41014293c392ba1d34efb2 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 19:22:51 -0400 Subject: [PATCH 30/37] fix #1782 (second half: arrowheads broken) - :hocho: parentElement this must have been broken since day 1, oddly enough... --- src/components/annotations/draw_arrow_head.js | 2 +- src/traces/sankey/render.js | 4 ++-- tasks/test_syntax.js | 3 +++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/components/annotations/draw_arrow_head.js b/src/components/annotations/draw_arrow_head.js index 69e5181914c..51cc2364774 100644 --- a/src/components/annotations/draw_arrow_head.js +++ b/src/components/annotations/draw_arrow_head.js @@ -111,7 +111,7 @@ module.exports = function drawArrowHead(el3, style, ends, mag, standoff) { function drawhead(p, rot) { if(!headStyle.path) return; if(style > 5) rot = 0; // don't rotate square or circle - d3.select(el.parentElement).append('path') + d3.select(el.parentNode).append('path') .attr({ 'class': el3.attr('class'), d: headStyle.path, diff --git a/src/traces/sankey/render.js b/src/traces/sankey/render.js index 65efc63ce8e..ba2e5eae09d 100644 --- a/src/traces/sankey/render.js +++ b/src/traces/sankey/render.js @@ -220,7 +220,7 @@ function nodeModel(uniqueKeys, d, n) { // rendering snippets function crispLinesOnEnd(sankeyNode) { - d3.select(sankeyNode.node().parentElement).style('shape-rendering', 'crispEdges'); + d3.select(sankeyNode.node().parentNode).style('shape-rendering', 'crispEdges'); } function updateNodePositions(sankeyNode) { @@ -239,7 +239,7 @@ function linkPath(d) { } function updateNodeShapes(sankeyNode) { - d3.select(sankeyNode.node().parentElement).style('shape-rendering', 'optimizeSpeed'); + d3.select(sankeyNode.node().parentNode).style('shape-rendering', 'optimizeSpeed'); sankeyNode.call(updateNodePositions); } diff --git a/tasks/test_syntax.js b/tasks/test_syntax.js index f98bd263db8..a2072d00a5e 100644 --- a/tasks/test_syntax.js +++ b/tasks/test_syntax.js @@ -77,6 +77,9 @@ function assertSrcContents() { else if(lastPart === 'innerHTML') { logs.push(file + ' : contains .innerHTML (IE failure in SVG)'); } + else if(lastPart === 'parentElement') { + logs.push(file + ' : contains .parentElement (IE failure)'); + } else if(node.source() === 'Math.sign') { logs.push(file + ' : contains Math.sign (IE failure)'); } From a68f861a8fb57184bd887ce18ec9f72fe34646ce Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 19:25:43 -0400 Subject: [PATCH 31/37] note about innerHTML prohibition --- tasks/test_syntax.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tasks/test_syntax.js b/tasks/test_syntax.js index a2072d00a5e..1c928211da3 100644 --- a/tasks/test_syntax.js +++ b/tasks/test_syntax.js @@ -75,6 +75,8 @@ function assertSrcContents() { logs.push(file + ' : contains .classList (IE failure)'); } else if(lastPart === 'innerHTML') { + // Note: if we do anything that's NOT in SVG, innerHTML is + // OK in IE. We can cross that bridge when we get to it... logs.push(file + ' : contains .innerHTML (IE failure in SVG)'); } else if(lastPart === 'parentElement') { From c5fa44b21dac1c3b4039aa4ca2b998e0d2410b30 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 19:31:31 -0400 Subject: [PATCH 32/37] pull 1.3 out into alignment constants --- src/components/colorbar/draw.js | 3 ++- src/components/drawing/index.js | 8 +++++--- src/components/legend/draw.js | 4 +++- src/components/rangeselector/draw.js | 6 ++++-- src/components/sliders/constants.js | 3 --- src/components/sliders/draw.js | 5 +++-- src/components/updatemenus/constants.js | 3 --- src/components/updatemenus/draw.js | 6 ++++-- src/constants/alignment.js | 4 +++- src/lib/svg_text_utils.js | 3 ++- 10 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/components/colorbar/draw.js b/src/components/colorbar/draw.js index 89f65bb17b3..7053a215d2b 100644 --- a/src/components/colorbar/draw.js +++ b/src/components/colorbar/draw.js @@ -24,6 +24,7 @@ var Drawing = require('../drawing'); var Color = require('../color'); var Titles = require('../titles'); var svgTextUtils = require('../../lib/svg_text_utils'); +var LINE_SPACING = require('../../constants/alignment').LINE_SPACING; var handleAxisDefaults = require('../../plots/cartesian/axis_defaults'); var handleAxisPositionDefaults = require('../../plots/cartesian/position_defaults'); @@ -297,7 +298,7 @@ module.exports = function draw(gd, id) { lineSize = 15.6; if(titleText.node()) { lineSize = - parseInt(titleText.style('font-size'), 10) * 1.3; + parseInt(titleText.style('font-size'), 10) * LINE_SPACING; } if(mathJaxNode) { titleHeight = Drawing.bBox(mathJaxNode).height; diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index e8e1c953430..3532dc97312 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -20,6 +20,9 @@ var Lib = require('../../lib'); var svgTextUtils = require('../../lib/svg_text_utils'); var xmlnsNamespaces = require('../../constants/xmlns_namespaces'); +var alignment = require('../../constants/alignment'); +var LINE_SPACING = alignment.LINE_SPACING; + var subTypes = require('../../traces/scatter/subtypes'); var makeBubbleSizeFn = require('../../traces/scatter/make_bubble_size_func'); @@ -426,8 +429,7 @@ drawing.tryColorscale = function(marker, prefix) { }; // draw text at points -var TEXTOFFSETSIGN = {start: 1, end: -1, middle: 0, bottom: 1, top: -1}, - LINEEXPAND = 1.3; +var TEXTOFFSETSIGN = {start: 1, end: -1, middle: 0, bottom: 1, top: -1}; drawing.textPointStyle = function(s, trace, gd) { s.each(function(d) { var p = d3.select(this), @@ -462,7 +464,7 @@ drawing.textPointStyle = function(s, trace, gd) { .call(svgTextUtils.convertToTspans, gd); var pgroup = d3.select(this.parentNode); - var numLines = (svgTextUtils.lineCount(p) - 1) * LINEEXPAND + 1; + var numLines = (svgTextUtils.lineCount(p) - 1) * LINE_SPACING + 1; var dx = TEXTOFFSETSIGN[h] * r; var dy = fontSize * 0.75 + TEXTOFFSETSIGN[v] * r + (TEXTOFFSETSIGN[v] - 1) * numLines * fontSize / 2; diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 4fc4e754d6c..872109bbf22 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -22,6 +22,8 @@ var svgTextUtils = require('../../lib/svg_text_utils'); var constants = require('./constants'); var interactConstants = require('../../constants/interactions'); +var LINE_SPACING = require('../../constants/alignment').LINE_SPACING; + var getLegendData = require('./get_legend_data'); var style = require('./style'); var helpers = require('./helpers'); @@ -561,7 +563,7 @@ function computeTextDimensions(g, gd) { var mathjaxGroup = g.select('g[class*=math-group]'); var mathjaxNode = mathjaxGroup.node(); var opts = gd._fullLayout.legend; - var lineHeight = opts.font.size * 1.3; + var lineHeight = opts.font.size * LINE_SPACING; var height, width; if(mathjaxNode) { diff --git a/src/components/rangeselector/draw.js b/src/components/rangeselector/draw.js index 97382afabd1..382d16f7697 100644 --- a/src/components/rangeselector/draw.js +++ b/src/components/rangeselector/draw.js @@ -19,6 +19,8 @@ var svgTextUtils = require('../../lib/svg_text_utils'); var axisIds = require('../../plots/cartesian/axis_ids'); var anchorUtils = require('../legend/anchor_utils'); +var LINE_SPACING = require('../../constants/alignment').LINE_SPACING; + var constants = require('./constants'); var getUpdateObject = require('./get_update_object'); @@ -183,7 +185,7 @@ function reposition(gd, buttons, opts, axName) { var button = d3.select(this); var text = button.select('.selector-text'); - var tHeight = opts.font.size * 1.3; + var tHeight = opts.font.size * LINE_SPACING; var hEff = Math.max(tHeight * svgTextUtils.lineCount(text), 16) + 3; opts.height = Math.max(opts.height, hEff); @@ -195,7 +197,7 @@ function reposition(gd, buttons, opts, axName) { var text = button.select('.selector-text'); var tWidth = text.node() && Drawing.bBox(text.node()).width; - var tHeight = opts.font.size * 1.3; + var tHeight = opts.font.size * LINE_SPACING; var tLines = svgTextUtils.lineCount(text); var wEff = Math.max(tWidth + 10, constants.minButtonWidth); diff --git a/src/components/sliders/constants.js b/src/components/sliders/constants.js index fedd7c088b5..7befbf6fd17 100644 --- a/src/components/sliders/constants.js +++ b/src/components/sliders/constants.js @@ -45,9 +45,6 @@ module.exports = { // padding around item text textPadX: 40, - // font size to height scale - fontSizeToHeight: 1.3, - // arrow offset off right edge arrowOffsetX: 4, diff --git a/src/components/sliders/draw.js b/src/components/sliders/draw.js index 871d2747d0b..8a773043244 100644 --- a/src/components/sliders/draw.js +++ b/src/components/sliders/draw.js @@ -18,6 +18,7 @@ var svgTextUtils = require('../../lib/svg_text_utils'); var anchorUtils = require('../legend/anchor_utils'); var constants = require('./constants'); +var LINE_SPACING = require('../../constants/alignment').LINE_SPACING; module.exports = function draw(gd) { @@ -309,7 +310,7 @@ function drawCurrentValue(sliderGroup, sliderOpts, valueOverride) { var lines = svgTextUtils.lineCount(text); var y0 = (sliderOpts.currentValueMaxLines + 1 - lines) * - sliderOpts.currentvalue.font.size * constants.fontSizeToHeight; + sliderOpts.currentvalue.font.size * LINE_SPACING; svgTextUtils.positionText(text, x0, y0); @@ -381,7 +382,7 @@ function drawLabelGroup(sliderGroup, sliderOpts) { sliderOpts.ticklen + // position is the baseline of the top line of text only, even // if the label spans multiple lines - sliderOpts.font.size * constants.fontSizeToHeight + + sliderOpts.font.size * LINE_SPACING + constants.labelOffset + sliderOpts.currentValueTotalHeight ); diff --git a/src/components/updatemenus/constants.js b/src/components/updatemenus/constants.js index 56f0fc38663..89348318a4c 100644 --- a/src/components/updatemenus/constants.js +++ b/src/components/updatemenus/constants.js @@ -44,9 +44,6 @@ module.exports = { textPadX: 24, arrowPadX: 16, - // font size to height scale - fontSizeToHeight: 1.3, - // item rect radii rx: 2, ry: 2, diff --git a/src/components/updatemenus/draw.js b/src/components/updatemenus/draw.js index 93ae09fecfd..39efaf73cdd 100644 --- a/src/components/updatemenus/draw.js +++ b/src/components/updatemenus/draw.js @@ -17,6 +17,8 @@ var Drawing = require('../drawing'); var svgTextUtils = require('../../lib/svg_text_utils'); var anchorUtils = require('../legend/anchor_utils'); +var LINE_SPACING = require('../../constants/alignment').LINE_SPACING; + var constants = require('./constants'); var ScrollBox = require('./scrollbox'); @@ -530,7 +532,7 @@ function findDimensions(gd, menuOpts) { var wEff = Math.max(tWidth + constants.textPadX, constants.minWidth); // height is determined by item text - var tHeight = menuOpts.font.size * constants.fontSizeToHeight; + var tHeight = menuOpts.font.size * LINE_SPACING; var tLines = svgTextUtils.lineCount(text); var hEff = Math.max(tHeight * tLines, constants.minHeight) + constants.textOffsetY; @@ -643,7 +645,7 @@ function setItemPosition(item, menuOpts, posOpts, overrideOpts) { height: finalHeight }); - var tHeight = menuOpts.font.size * constants.fontSizeToHeight; + var tHeight = menuOpts.font.size * LINE_SPACING; var tLines = svgTextUtils.lineCount(text); var spanOffset = ((tLines - 1) * tHeight / 2); diff --git a/src/constants/alignment.js b/src/constants/alignment.js index 66ce5bb0121..789f5eee175 100644 --- a/src/constants/alignment.js +++ b/src/constants/alignment.js @@ -28,5 +28,7 @@ module.exports = { bottom: 1, middle: 0.5, top: 0 - } + }, + // multiple of fontSize to get the vertical offset between lines + LINE_SPACING: 1.3 }; diff --git a/src/lib/svg_text_utils.js b/src/lib/svg_text_utils.js index e6d43aa69c9..6c9c2d53d07 100644 --- a/src/lib/svg_text_utils.js +++ b/src/lib/svg_text_utils.js @@ -16,6 +16,7 @@ var d3 = require('d3'); var Lib = require('../lib'); var xmlnsNamespaces = require('../constants/xmlns_namespaces'); var stringMappings = require('../constants/string_mappings'); +var LINE_SPACING = require('../constants/alignment').LINE_SPACING; // text converter @@ -326,7 +327,7 @@ function buildSVGText(containerNode, str) { var lineNode = document.createElementNS(xmlnsNamespaces.svg, 'tspan'); d3.select(lineNode).attr({ class: 'line', - dy: (currentLine * 1.3) + 'em' + dy: (currentLine * LINE_SPACING) + 'em' }); containerNode.appendChild(lineNode); From 82ba7eebb16f21933dbae90057984fc5b0a82f09 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 19:46:00 -0400 Subject: [PATCH 33/37] null transform, rather than empty string --- src/components/drawing/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index 3532dc97312..ceeef314eeb 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -638,7 +638,7 @@ drawing.bBox = function(node) { // standardize its position (and newline tspans if any) d3.select(testNode) - .attr('transform', '') + .attr('transform', null) .call(svgTextUtils.positionText, 0, 0); var testRect = testNode.getBoundingClientRect(); From 27b4be3998b4580446efccde3f3e93183e4e7c6b Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Fri, 16 Jun 2017 19:48:32 -0400 Subject: [PATCH 34/37] selectAll -> select because it can only be one node --- src/components/legend/draw.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 872109bbf22..788b664ff09 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -575,7 +575,7 @@ function computeTextDimensions(g, gd) { Drawing.setTranslate(mathjaxGroup, 0, (height / 4)); } else { - var text = g.selectAll('.legendtext'); + var text = g.select('.legendtext'); var textLines = svgTextUtils.lineCount(text); var textNode = text.node(); From 46d6e44a3f6fd7fb87d8dd9d9052f97981db70ba Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Sat, 17 Jun 2017 01:28:00 -0400 Subject: [PATCH 35/37] lint titles var statements --- src/components/titles/index.js | 44 +++++++++++++++++----------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/components/titles/index.js b/src/components/titles/index.js index cfdac0a6b83..72278a72d64 100644 --- a/src/components/titles/index.js +++ b/src/components/titles/index.js @@ -133,33 +133,33 @@ Titles.draw = function(gd, titleClass, options) { // move toward avoid.side (= left, right, top, bottom) if needed // can include pad (pixels, default 2) - var shift = 0, - backside = { - left: 'right', - right: 'left', - top: 'bottom', - bottom: 'top' - }[avoid.side], - shiftSign = (['left', 'top'].indexOf(avoid.side) !== -1) ? - -1 : 1, - pad = isNumeric(avoid.pad) ? avoid.pad : 2, - titlebb = Drawing.bBox(titleGroup.node()), - paperbb = { - left: 0, - top: 0, - right: fullLayout.width, - bottom: fullLayout.height - }, - maxshift = avoid.maxShift || ( - (paperbb[avoid.side] - titlebb[avoid.side]) * - ((avoid.side === 'left' || avoid.side === 'top') ? -1 : 1)); + var shift = 0; + var backside = { + left: 'right', + right: 'left', + top: 'bottom', + bottom: 'top' + }[avoid.side]; + var shiftSign = (['left', 'top'].indexOf(avoid.side) !== -1) ? + -1 : 1; + var pad = isNumeric(avoid.pad) ? avoid.pad : 2; + var titlebb = Drawing.bBox(titleGroup.node()); + var paperbb = { + left: 0, + top: 0, + right: fullLayout.width, + bottom: fullLayout.height + }; + var maxshift = avoid.maxShift || ( + (paperbb[avoid.side] - titlebb[avoid.side]) * + ((avoid.side === 'left' || avoid.side === 'top') ? -1 : 1)); // Prevent the title going off the paper if(maxshift < 0) shift = maxshift; else { // so we don't have to offset each avoided element, // give the title the opposite offset - var offsetLeft = avoid.offsetLeft || 0, - offsetTop = avoid.offsetTop || 0; + var offsetLeft = avoid.offsetLeft || 0; + var offsetTop = avoid.offsetTop || 0; titlebb.left -= offsetLeft; titlebb.right -= offsetLeft; titlebb.top -= offsetTop; From 8305c0225e53a28203d0d9e4bf7a798515ebf493 Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Sat, 17 Jun 2017 01:28:32 -0400 Subject: [PATCH 36/37] let drawing.bBox cache simple nested elements --- src/components/drawing/index.js | 89 +++++++++++++++++++++++---------- 1 file changed, 62 insertions(+), 27 deletions(-) diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index ceeef314eeb..526616eb723 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -609,26 +609,76 @@ drawing.makeTester = function() { drawing.testref = testref; }; -// use our offscreen tester to get a clientRect for an element, -// in a reference frame where it isn't translated and its anchor -// point is at (0,0) -// always returns a copy of the bbox, so the caller can modify it safely +/* + * use our offscreen tester to get a clientRect for an element, + * in a reference frame where it isn't translated and its anchor + * point is at (0,0) + * always returns a copy of the bbox, so the caller can modify it safely + */ drawing.savedBBoxes = {}; var savedBBoxesCount = 0; var maxSavedBBoxes = 10000; drawing.bBox = function(node) { - // Cache elements we've already measured so we don't have to - // remeasure the same thing many times - // We have a few bBox callers though who pass a node larger than - // a or a MathJax , such as an axis group containing many labels. - // These will not generate a hash (unless we figure out an appropriate - // hash key for them) and thus we will not hash them. + /* + * Cache elements we've already measured so we don't have to + * remeasure the same thing many times + * We have a few bBox callers though who pass a node larger than + * a or a MathJax , such as an axis group containing many labels. + * These will not generate a hash (unless we figure out an appropriate + * hash key for them) and thus we will not hash them. + */ var hash = nodeHash(node); + var out; if(hash) { - var out = drawing.savedBBoxes[hash]; + out = drawing.savedBBoxes[hash]; if(out) return Lib.extendFlat({}, out); } + else if(node.children.length === 1) { + /* + * If we have only one child element, make a new hash from this element + * plus its x,y,transform + * These bounding boxes *include* x,y,transform - mostly for use by + * callers trying to avoid overlaps (ie titles) + */ + var innerNode = node.children[0]; + + hash = nodeHash(innerNode); + if(hash) { + var x = +innerNode.getAttribute('x') || 0; + var y = +innerNode.getAttribute('y') || 0; + var transform = innerNode.getAttribute('transform') || ''; + + if(!transform) { + // in this case, just varying x and y, don't bother caching + // because the alteration is simple. + var innerBB = drawing.bBox(innerNode); + if(x) { + innerBB.left += x; + innerBB.right += x; + } + if(y) { + innerBB.top += y; + innerBB.bottom += y; + } + return innerBB; + } + /* + * else we have a transform - rather than make a complicated + * (and error-prone and probably slow) transform parser/calculator, + * just continue on calculating the boundingClientRect of the group + * and use the new composite hash to cache it. + * That said, `innerNode.transform.baseVal` is an array of + * `SVGTransform` objects, that *do* seem to have a nice matrix + * multiplication interface that we could use to avoid making + * another getBoundingClientRect call... + */ + hash += '~' + x + '~' + y + '~' + transform; + + out = drawing.savedBBoxes[hash]; + if(out) return Lib.extendFlat({}, out); + } + } var tester = drawing.tester.node(); @@ -662,7 +712,7 @@ drawing.bBox = function(node) { // by saving boxes for long-gone elements if(savedBBoxesCount >= maxSavedBBoxes) { drawing.savedBBoxes = {}; - maxSavedBBoxes = 0; + savedBBoxesCount = 0; } // cache this bbox @@ -674,21 +724,6 @@ drawing.bBox = function(node) { // capture everything about a node (at least in our usage) that // impacts its bounding box, given that bBox clears x, y, and transform -// TODO: is this really everything? Is it worth taking only parts of style, -// so we can share across more changes (like colors)? I guess we can't strip -// colors and stuff from inside innerHTML so maybe not worth bothering outside. -// TODO # 2: this can be long, so could take a lot of memory, do we want to -// hash it? But that can be slow... -// extracting this string from a typical element takes ~3 microsec, where -// doing a simple hash ala https://stackoverflow.com/questions/7616461 -// adds ~15 microsec (nearly all of this is spent in charCodeAt) -// function hash(s) { -// var h = 0; -// for (var i = 0; i < s.length; i++) { -// h = (((h << 5) - h) + s.charCodeAt(i)) | 0; // codePointAt? -// } -// return h; -// } function nodeHash(node) { var inputText = node.getAttribute('data-unformatted'); if(inputText === null) return; From 8e3d4faaf9f91577ddf9cc8e497816fa61df17de Mon Sep 17 00:00:00 2001 From: alexcjohnson Date: Sat, 17 Jun 2017 01:35:47 -0400 Subject: [PATCH 37/37] don't recalculate nodehash for recursive bBox --- src/components/drawing/index.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/drawing/index.js b/src/components/drawing/index.js index 526616eb723..3ce00f296a7 100644 --- a/src/components/drawing/index.js +++ b/src/components/drawing/index.js @@ -619,7 +619,7 @@ drawing.savedBBoxes = {}; var savedBBoxesCount = 0; var maxSavedBBoxes = 10000; -drawing.bBox = function(node) { +drawing.bBox = function(node, hash) { /* * Cache elements we've already measured so we don't have to * remeasure the same thing many times @@ -628,7 +628,7 @@ drawing.bBox = function(node) { * These will not generate a hash (unless we figure out an appropriate * hash key for them) and thus we will not hash them. */ - var hash = nodeHash(node); + if(!hash) hash = nodeHash(node); var out; if(hash) { out = drawing.savedBBoxes[hash]; @@ -636,8 +636,8 @@ drawing.bBox = function(node) { } else if(node.children.length === 1) { /* - * If we have only one child element, make a new hash from this element - * plus its x,y,transform + * If we have only one child element, which is itself hashable, make + * a new hash from this element plus its x,y,transform * These bounding boxes *include* x,y,transform - mostly for use by * callers trying to avoid overlaps (ie titles) */ @@ -647,12 +647,12 @@ drawing.bBox = function(node) { if(hash) { var x = +innerNode.getAttribute('x') || 0; var y = +innerNode.getAttribute('y') || 0; - var transform = innerNode.getAttribute('transform') || ''; + var transform = innerNode.getAttribute('transform'); if(!transform) { // in this case, just varying x and y, don't bother caching - // because the alteration is simple. - var innerBB = drawing.bBox(innerNode); + // the final bBox because the alteration is quick. + var innerBB = drawing.bBox(innerNode, hash); if(x) { innerBB.left += x; innerBB.right += x;