From ecb428db4b1a09904e7cd43e81c1816abb96a74a Mon Sep 17 00:00:00 2001 From: Mojtaba Samimi Date: Wed, 15 Mar 2023 15:27:23 -0400 Subject: [PATCH 1/2] handle multi-line text in title automargin --- src/plot_api/subroutines.js | 13 ++++++++ .../automargin-title-paper-multiline.png | Bin 11027 -> 10986 bytes ...utomargin-title-paper-multiline-bottom.png | Bin 0 -> 12694 bytes ...tomargin-title-paper-multiline-bottom.json | 29 ++++++++++++++++++ 4 files changed, 42 insertions(+) create mode 100644 test/image/baselines/zzz-automargin-title-paper-multiline-bottom.png create mode 100644 test/image/mocks/zzz-automargin-title-paper-multiline-bottom.json diff --git a/src/plot_api/subroutines.js b/src/plot_api/subroutines.js index 1386e1e8ab1..487decf74f9 100644 --- a/src/plot_api/subroutines.js +++ b/src/plot_api/subroutines.js @@ -430,6 +430,19 @@ exports.drawMainTitle = function(gd) { 'text-anchor': textAnchor, dy: getMainTitleDyAdj(title.yanchor) }).call(svgTextUtils.positionText, x, y); + + var extraLines = (title.text.match(svgTextUtils.BR_TAG_ALL) || []).length; + if(extraLines) { + var delta = alignmentConstants.LINE_SPACING * extraLines + alignmentConstants.MID_SHIFT; + if(title.y === 0) { + delta = -delta; + } + + titleObj.selectAll('.line').each(function() { + var newDy = +(this.getAttribute('dy')).slice(0, -2) - delta + 'em'; + this.setAttribute('dy', newDy); + }); + } } } }; diff --git a/test/image/baselines/automargin-title-paper-multiline.png b/test/image/baselines/automargin-title-paper-multiline.png index a83a9e493b5c1b5af645d8e65b1b70a8af2d8c68..94b0a4a69716faf8a31ea040c13eba74c633f461 100644 GIT binary patch literal 10986 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 AlmGw# literal 11027 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 diff --git a/test/image/baselines/zzz-automargin-title-paper-multiline-bottom.png b/test/image/baselines/zzz-automargin-title-paper-multiline-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..3f0fea847aac39fbd978e5c83afe99185a51dfb4 GIT binary patch literal 12694 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 S2mjszLrPpuEc4C-um1yt6lFjF literal 0 HcmV?d00001 diff --git a/test/image/mocks/zzz-automargin-title-paper-multiline-bottom.json b/test/image/mocks/zzz-automargin-title-paper-multiline-bottom.json new file mode 100644 index 00000000000..30b12cb505f --- /dev/null +++ b/test/image/mocks/zzz-automargin-title-paper-multiline-bottom.json @@ -0,0 +1,29 @@ +{ + "data": [ + { + "showlegend": false, + "type": "scatter", + "x": [ + 1, + 2, + 3 + ], + "y": [ + 4, + 5, + 6 + ] + }], + "layout": { + "height": 300, + "width": 400, + "margin": {"t":0, "b": 0, "l": 0, "r": 0}, + "title": { + "automargin": true, + "text": "Paper
Multi-line", + "pad": {"t": 15, "b": 10}, + "yref": "paper", + "y": 0 + } + } +} From eea84845ea31a4360906e83803c403f0419f6030 Mon Sep 17 00:00:00 2001 From: Mojtaba Samimi Date: Tue, 24 Oct 2023 13:54:04 -0400 Subject: [PATCH 2/2] draft log --- draftlogs/6758_fix.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 draftlogs/6758_fix.md diff --git a/draftlogs/6758_fix.md b/draftlogs/6758_fix.md new file mode 100644 index 00000000000..9297a4973da --- /dev/null +++ b/draftlogs/6758_fix.md @@ -0,0 +1 @@ + - Fix handling multi-line text in title `automargin` [[#6758](https://github.com/plotly/plotly.js/pull/6758)]