From 8945bd1a0e2c36f99ce989afe9f139c7baa3106d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 14 May 2019 15:32:05 -0400 Subject: [PATCH 1/7] make layout meta a valType:'any' - to start accepting `meta: {key: value}` settings --- src/plots/layout_attributes.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/plots/layout_attributes.js b/src/plots/layout_attributes.js index 66b55d13da8..90a9eed6430 100644 --- a/src/plots/layout_attributes.js +++ b/src/plots/layout_attributes.js @@ -410,7 +410,8 @@ module.exports = { }, meta: { - valType: 'data_array', + valType: 'any', + arrayOk: true, editType: 'plot', description: [ 'Assigns extra meta information that can be used in various `text` attributes.', @@ -418,7 +419,9 @@ module.exports = { '`trace.name` in legend items, `rangeselector`, `updatemenues` and `sliders` `label` text', 'all support `meta`. One can access `meta` fields using template strings:', '`%{meta[i]}` where `i` is the index of the `meta`', - 'item in question.' + 'item in question.', + '`meta` can also be an object for example `{key: value}` which can be accessed', + '%{meta[key]}.' ].join(' ') }, From 28cd420c3618effc97ca5447cd8dd71aa9e06b39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 14 May 2019 18:19:55 -0400 Subject: [PATCH 2/7] add trace `meta` attribute + add _meta helpers --- src/plots/attributes.js | 18 ++++++++++++++++++ src/plots/plots.js | 39 ++++++++++++++++++++++++++++++++++++++- 2 files changed, 56 insertions(+), 1 deletion(-) diff --git a/src/plots/attributes.js b/src/plots/attributes.js index cbdf5fd3e8e..2df62a5fc71 100644 --- a/src/plots/attributes.js +++ b/src/plots/attributes.js @@ -102,6 +102,24 @@ module.exports = { 'DOM elements' ].join(' ') }, + meta: { + valType: 'any', + arrayOk: true, + editType: 'plot', + description: [ + 'Assigns extra meta information associated with this trace', + 'that can be used in various text attributes.', + 'Attributes such as trace `name`, graph, axis and colorbar `title.text`, annotation `text`', + '`rangeselector`, `updatemenues` and `sliders` `label` text', + 'all support `meta`.', + 'To access the trace `meta` values in an attribute in the same trace, simply use', + '`%{meta[i]}` where `i` is the index or key of the `meta`', + 'item in question.', + 'To access trace `meta` in layout attributes, use', + '`%{data[n[.meta[i]}` where `i` is the index or key of the `meta`', + 'and `n` is the trace index.' + ].join(' ') + }, // N.B. these cannot be 'data_array' as they do not have the same length as // other data arrays and arrayOk attributes in general diff --git a/src/plots/plots.js b/src/plots/plots.js index 9d9b942fc4f..0ad6ebce666 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -6,7 +6,6 @@ * LICENSE file in the root directory of this source tree. */ - 'use strict'; var d3 = require('d3'); @@ -483,6 +482,10 @@ plots.supplyDefaults = function(gd, opts) { oldFullLayout._zoomlayer.selectAll('.select-outline').remove(); } + + // fill in meta helpers + fillMetaTextHelpers(newFullData, newFullLayout); + // relink functions and _ attributes to promote consistency between plots relinkPrivateKeys(newFullLayout, oldFullLayout); @@ -698,6 +701,39 @@ function getFormatter(formatObj, separators) { return d3.locale(formatObj); } +function fillMetaTextHelpers(newFullData, newFullLayout) { + var _meta; + var meta4data = []; + + if(newFullLayout.meta) { + _meta = newFullLayout._meta = {}; + _meta.meta = newFullLayout.meta; + _meta.layout = {meta: newFullLayout.meta}; + } + + for(var i = 0; i < newFullData.length; i++) { + var trace = newFullData[i]; + + if(trace.meta) { + meta4data[trace.index] = {meta: trace.meta}; + } + + trace._meta = { + meta: Lib.extendFlat({}, newFullLayout.meta || {}, trace.meta) + }; + if(newFullLayout.meta) { + trace._meta.layout = {meta: newFullLayout.meta}; + } + } + + if(meta4data.length) { + if(!_meta) { + _meta = newFullLayout._meta = {}; + } + _meta.data = meta4data; + } +} + // Create storage for all of the data related to frames and transitions: plots.createTransitionData = function(gd) { // Set up the default keyframe if it doesn't exist: @@ -1236,6 +1272,7 @@ plots.supplyTraceDefaults = function(traceIn, traceOut, colorIndex, layout, trac if(visible) { coerce('customdata'); coerce('ids'); + coerce('meta'); if(Registry.traceIs(traceOut, 'showLegend')) { traceOut._dfltShowLegend = true; From 23bcbfca46a551614e5e76896333df0f45c12c00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 14 May 2019 18:20:54 -0400 Subject: [PATCH 3/7] use `_meta` helpers in all components that support meta --- src/components/annotations/draw.js | 4 ++-- src/components/fx/hover.js | 8 ++++---- src/components/legend/draw.js | 4 ++-- src/components/rangeselector/draw.js | 8 ++++---- src/components/sliders/draw.js | 12 ++++-------- src/components/titles/index.js | 8 ++++++-- src/components/updatemenus/draw.js | 6 ++---- src/plots/gl3d/layout/convert.js | 4 ++-- src/traces/pie/plot.js | 17 +++++++++-------- test/jasmine/tests/hover_label_test.js | 20 ++++++++++++++++++++ 10 files changed, 55 insertions(+), 36 deletions(-) diff --git a/src/components/annotations/draw.js b/src/components/annotations/draw.js index 2fdb1086924..6244fc1f408 100644 --- a/src/components/annotations/draw.js +++ b/src/components/annotations/draw.js @@ -212,8 +212,8 @@ function drawRaw(gd, options, index, subplotId, xa, ya) { var font = options.font; - var text = fullLayout.meta ? - Lib.templateString(options.text, {meta: fullLayout.meta}) : + var text = fullLayout._meta ? + Lib.templateString(options.text, fullLayout._meta) : options.text; var annText = annTextGroupInner.append('text') diff --git a/src/components/fx/hover.js b/src/components/fx/hover.js index 73cac1a5821..7fe5f429c81 100644 --- a/src/components/fx/hover.js +++ b/src/components/fx/hover.js @@ -887,8 +887,8 @@ function createHoverText(hoverData, opts, gd) { if(d.nameOverride !== undefined) d.name = d.nameOverride; if(d.name) { - if(fullLayout.meta) { - d.name = Lib.templateString(d.name, {meta: fullLayout.meta}); + if(d.trace._meta) { + d.name = Lib.templateString(d.name, d.trace._meta); } name = plainText(d.name, d.nameLength); } @@ -925,7 +925,7 @@ function createHoverText(hoverData, opts, gd) { } // hovertemplate - var d3locale = gd._fullLayout._d3locale; + var d3locale = fullLayout._d3locale; var hovertemplate = d.hovertemplate || false; var hovertemplateLabels = d.hovertemplateLabels || d; var eventData = d.eventData[0] || {}; @@ -935,7 +935,7 @@ function createHoverText(hoverData, opts, gd) { hovertemplateLabels, d3locale, eventData, - {meta: fullLayout.meta} + d.trace._meta ); text = text.replace(EXTRA_STRING_REGEX, function(match, extra) { diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 1ded8cba129..50558b1513f 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -404,8 +404,8 @@ function drawTexts(g, gd, maxLength) { var isEditable = gd._context.edits.legendText && !isPie; var name = isPie ? legendItem.label : trace.name; - if(fullLayout.meta) { - name = Lib.templateString(name, {meta: fullLayout.meta}); + if(trace._meta) { + name = Lib.templateString(name, trace._meta); } var textEl = Lib.ensureSingle(g, 'text', 'legendtext'); diff --git a/src/components/rangeselector/draw.js b/src/components/rangeselector/draw.js index 927e982516b..34f431eaf78 100644 --- a/src/components/rangeselector/draw.js +++ b/src/components/rangeselector/draw.js @@ -149,14 +149,14 @@ function drawButtonText(button, selectorLayout, d, gd) { }); text.call(Drawing.font, selectorLayout.font) - .text(getLabel(d, gd._fullLayout.meta)) + .text(getLabel(d, gd._fullLayout._meta)) .call(textLayout); } -function getLabel(opts, meta) { +function getLabel(opts, _meta) { if(opts.label) { - return meta ? - Lib.templateString(opts.label, {meta: meta}) : + return _meta ? + Lib.templateString(opts.label, _meta) : opts.label; } diff --git a/src/components/sliders/draw.js b/src/components/sliders/draw.js index f411ce7f909..319fee92248 100644 --- a/src/components/sliders/draw.js +++ b/src/components/sliders/draw.js @@ -315,10 +315,8 @@ function drawCurrentValue(sliderGroup, sliderOpts, valueOverride) { str += valueOverride; } else { var curVal = sliderOpts.steps[sliderOpts.active].label; - var meta = sliderOpts._gd._fullLayout.meta; - if(meta) { - curVal = Lib.templateString(curVal, {meta: meta}); - } + var _meta = sliderOpts._gd._fullLayout._meta; + if(_meta) curVal = Lib.templateString(curVal, _meta); str += curVal; } @@ -367,10 +365,8 @@ function drawLabel(item, data, sliderOpts) { }); var tx = data.step.label; - var meta = sliderOpts._gd._fullLayout.meta; - if(meta) { - tx = Lib.templateString(tx, {meta: meta}); - } + var _meta = sliderOpts._gd._fullLayout._meta; + if(_meta) tx = Lib.templateString(tx, _meta); text.call(Drawing.font, sliderOpts.font) .text(tx) diff --git a/src/components/titles/index.js b/src/components/titles/index.js index d761382ee8e..96c5a5fc550 100644 --- a/src/components/titles/index.js +++ b/src/components/titles/index.js @@ -53,6 +53,8 @@ var numStripRE = / [XY][0-9]* /; * offset - shift up/down in the rotated frame (unused?) * containerGroup - if an svg element already exists to hold this * title, include here. Otherwise it will go in fullLayout._infolayer + * _meta {object (optional} - meta key-value to for title with + * Lib.templateString, default to fullLayout._meta, if not provided * * @return {selection} d3 selection of title container group */ @@ -97,8 +99,10 @@ function draw(gd, titleClass, options) { if(!editable) txt = ''; } - if(fullLayout.meta) { - txt = Lib.templateString(txt, {meta: fullLayout.meta}); + if(options._meta) { + txt = Lib.templateString(txt, options._meta); + } else if(fullLayout._meta) { + txt = Lib.templateString(txt, fullLayout._meta); } var elShouldExist = txt || editable; diff --git a/src/components/updatemenus/draw.js b/src/components/updatemenus/draw.js index d5737704bf2..58c21b9122b 100644 --- a/src/components/updatemenus/draw.js +++ b/src/components/updatemenus/draw.js @@ -438,10 +438,8 @@ function drawItemText(item, menuOpts, itemOpts, gd) { }); var tx = itemOpts.label; - var meta = gd._fullLayout.meta; - if(meta) { - tx = Lib.templateString(tx, {meta: meta}); - } + var _meta = gd._fullLayout._meta; + if(_meta) tx = Lib.templateString(tx, _meta); text.call(Drawing.font, menuOpts.font) .text(tx) diff --git a/src/plots/gl3d/layout/convert.js b/src/plots/gl3d/layout/convert.js index a065203fcb4..5d0aea9ad6a 100644 --- a/src/plots/gl3d/layout/convert.js +++ b/src/plots/gl3d/layout/convert.js @@ -83,8 +83,8 @@ proto.merge = function(fullLayout, sceneLayout) { } // Axes labels - opts.labels[i] = fullLayout.meta ? - Lib.templateString(axes.title.text, {meta: fullLayout.meta}) : + opts.labels[i] = fullLayout._meta ? + Lib.templateString(axes.title.text, fullLayout._meta) : axes.title.text; if('font' in axes.title) { diff --git a/src/traces/pie/plot.js b/src/traces/pie/plot.js index 71167677eee..05bf81e8bf8 100644 --- a/src/traces/pie/plot.js +++ b/src/traces/pie/plot.js @@ -204,9 +204,10 @@ function plot(gd, cdpie) { s.attr('data-notex', 1); }); - var txt = fullLayout.meta ? - Lib.templateString(trace.title.text, {meta: fullLayout.meta}) : - trace.title.text; + var txt = trace.title.text; + if(trace._meta) { + txt = Lib.templateString(txt, trace._meta); + } titleText.text(txt) .attr({ @@ -481,18 +482,18 @@ function determineInsideTextFont(trace, pt, layoutFont) { } function prerenderTitles(cdpie, gd) { - var fullLayout = gd._fullLayout; - var cd0, trace; + // Determine the width and height of the title for each pie. for(var i = 0; i < cdpie.length; i++) { cd0 = cdpie[i][0]; trace = cd0.trace; if(trace.title.text) { - var txt = fullLayout.meta ? - Lib.templateString(trace.title.text, {meta: fullLayout.meta}) : - trace.title.text; + var txt = trace.title.text; + if(trace._meta) { + txt = Lib.templateString(txt, trace._meta); + } var dummyTitle = Drawing.tester.append('text') .attr('data-notex', 1) diff --git a/test/jasmine/tests/hover_label_test.js b/test/jasmine/tests/hover_label_test.js index b6d35d9387d..6b3e6192684 100644 --- a/test/jasmine/tests/hover_label_test.js +++ b/test/jasmine/tests/hover_label_test.js @@ -1975,6 +1975,26 @@ describe('hover info', function() { .catch(failTest) .then(done); }); + + it('should work with trace meta references', function(done) { + var gd = document.getElementById('graph'); + + Plotly.update(gd, { + meta: {yname: 'Yy', xname: 'Xx'}, + hovertemplate: 'TRACE -- %{meta.yname}%{meta.xname}' + }) + .then(function() { + Fx.hover('graph', evt, 'xy'); + + assertHoverLabelContent({ + nums: 'TRACE -- Yy', + name: 'Xx', + axis: '0.388' + }); + }) + .catch(failTest) + .then(done); + }); }); it('should work with trace.name linked to layout.meta', function(done) { From 99be00b7bfac7493874a1517462a79a696d610d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 14 May 2019 18:21:33 -0400 Subject: [PATCH 4/7] make (regular) colorbar use trace._meta, ... and shared colorbar use fullLayout._meta. --- src/components/colorbar/draw.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/colorbar/draw.js b/src/components/colorbar/draw.js index 95b9660b447..b01ff451a37 100644 --- a/src/components/colorbar/draw.js +++ b/src/components/colorbar/draw.js @@ -140,6 +140,7 @@ function makeColorBarData(gd) { opts._id = 'cb' + trace.uid + (allowsMultiplotCbs && contName ? '-' + contName : ''); opts._traceIndex = trace.index; opts._propPrefix = (contName ? contName + '.' : '') + 'colorbar.'; + opts._meta = trace._meta; calcOpts(); out.push(opts); } @@ -156,6 +157,7 @@ function makeColorBarData(gd) { opts = initOpts(cont.colorbar); opts._id = 'cb' + k; opts._propPrefix = k + '.colorbar.'; + opts._meta = fullLayout._meta; cbOpt = {min: 'cmin', max: 'cmax'}; if(colorAxOpts[0] !== 'heatmap') { @@ -281,6 +283,7 @@ function drawColorBar(g, opts, gd) { propContainer: ax, propName: opts._propPrefix + 'title', traceIndex: opts._traceIndex, + _meta: opts._meta, placeholder: fullLayout._dfltTitle.colorbar, containerGroup: g.select('.' + cn.cbtitle) }; From 8bb771d57fbc79a46d7e24f997640837471ff0fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 14 May 2019 18:28:41 -0400 Subject: [PATCH 5/7] add trace meta text mock --- test/image/baselines/trace_metatext.png | Bin 0 -> 98570 bytes test/image/mocks/trace_metatext.json | 131 ++++++++++++++++++++++++ 2 files changed, 131 insertions(+) create mode 100644 test/image/baselines/trace_metatext.png create mode 100644 test/image/mocks/trace_metatext.json diff --git a/test/image/baselines/trace_metatext.png b/test/image/baselines/trace_metatext.png new file mode 100644 index 0000000000000000000000000000000000000000..c0f3c45443a3ee6dd20f6166b7011e0a4cb3d122 GIT binary patch literal 98570 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

X9&3JHtnF`3YJa%< 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

!F-gCvF&G4xz;>@&ZGB)6?&9{wT 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 IW0Cn3LkmXabld9Ad`~%e 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", + "font": {"color": "red"} + } + } + }, + "ternary": { + "domain": {"row": 2, "column": 0}, + "aaxis": {"title": {"text": "%{data[2].meta.hello}"}}, + "baxis": {"title": {"text": "%{meta.global} | %{data[2].meta.hello}"}}, + "caxis": {"title": {"text": "%{data[2].meta.hello} | %{meta.item}"}} + }, + "scene": { + "domain": {"row": 1, "column": 1}, + "camera": {"eye": {"x": -0.05, "y": 3.07, "z": 0.105}}, + "zaxis": {"title": {"text": "___ %{data[3].meta.d} ___"}}, + "annotations": [{ + "text": "Look at %{data[3].meta.d}", + "bgcolor": "#d3d3d3", + "borderpad": 2, + "bordercolor": "#000", + "borderwidth": "1", + "x": 1, + "y": 1, + "z": 2 + }] + }, + + "annotations": [{ + "text": "N.B. --- %{data[0].meta.colname2}", + "xref": "x", + "yref": "y", + "x": "2019-02-10", + "y": 2 + }], + + "updatemenus": [{ + "buttons": [{ + "label": "Btn-%{data[1].meta.radii}", + "method": "restyle", + "args": ["visible", false] + }], + "y": 1, + "yanchor": "bottom" + }], + + "sliders": [{ + "len": 0.3, + "x": 0.7, + "steps": [{ + "label": "step-%{data[2].meta.hello}", + "method": "restyle", + "args": ["marker.color", "red"] + }, { + "label": "step-%{data[4].meta.column}", + "method": "restyle", + "args": ["marker.color", "blue"] + }] + }] + } +} From 27686fb42d1c011e24e0c80e7e02f5f35d04b85c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Tue, 14 May 2019 18:53:18 -0400 Subject: [PATCH 6/7] fixup plotschema 'role' for meta attrs --- src/plots/attributes.js | 1 + src/plots/layout_attributes.js | 1 + 2 files changed, 2 insertions(+) diff --git a/src/plots/attributes.js b/src/plots/attributes.js index 2df62a5fc71..bbcdd96d882 100644 --- a/src/plots/attributes.js +++ b/src/plots/attributes.js @@ -105,6 +105,7 @@ module.exports = { meta: { valType: 'any', arrayOk: true, + role: 'info', editType: 'plot', description: [ 'Assigns extra meta information associated with this trace', diff --git a/src/plots/layout_attributes.js b/src/plots/layout_attributes.js index 90a9eed6430..cbcd32af91d 100644 --- a/src/plots/layout_attributes.js +++ b/src/plots/layout_attributes.js @@ -412,6 +412,7 @@ module.exports = { meta: { valType: 'any', arrayOk: true, + role: 'info', editType: 'plot', description: [ 'Assigns extra meta information that can be used in various `text` attributes.', From 1cf8a8576ca729e48471b3c3a23e3c46d551b3aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Wed, 15 May 2019 10:14:07 -0400 Subject: [PATCH 7/7] use trace.meta if present, fallback to layout.meta ... during trace templateString calls. --- src/plots/plots.js | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/src/plots/plots.js b/src/plots/plots.js index 0ad6ebce666..287d4dfaa9c 100644 --- a/src/plots/plots.js +++ b/src/plots/plots.js @@ -706,21 +706,20 @@ function fillMetaTextHelpers(newFullData, newFullLayout) { var meta4data = []; if(newFullLayout.meta) { - _meta = newFullLayout._meta = {}; - _meta.meta = newFullLayout.meta; - _meta.layout = {meta: newFullLayout.meta}; + _meta = newFullLayout._meta = { + meta: newFullLayout.meta, + layout: {meta: newFullLayout.meta} + }; } for(var i = 0; i < newFullData.length; i++) { var trace = newFullData[i]; if(trace.meta) { - meta4data[trace.index] = {meta: trace.meta}; + meta4data[trace.index] = trace._meta = {meta: trace.meta}; + } else if(newFullLayout.meta) { + trace._meta = {meta: newFullLayout.meta}; } - - trace._meta = { - meta: Lib.extendFlat({}, newFullLayout.meta || {}, trace.meta) - }; if(newFullLayout.meta) { trace._meta.layout = {meta: newFullLayout.meta}; }