From 88a6c0d89bfc8870b4c83fea521a47341516c463 Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Tue, 20 Jan 2026 15:06:57 -0500 Subject: [PATCH 01/22] Fix bug where `groupclick`: `toggleitem` doesn't work when there are multiple legends --- src/components/legend/handle_click.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/components/legend/handle_click.js b/src/components/legend/handle_click.js index 6c2b7b81b45..5abb3b9d9e4 100644 --- a/src/components/legend/handle_click.js +++ b/src/components/legend/handle_click.js @@ -11,9 +11,16 @@ module.exports = function handleClick(g, gd, numClicks) { if(gd._dragged || gd._editing) return; - var itemClick = fullLayout.legend.itemclick; - var itemDoubleClick = fullLayout.legend.itemdoubleclick; - var groupClick = fullLayout.legend.groupclick; + + var legendItem = g.data()[0][0]; + if(legendItem.groupTitle && legendItem.noClick) return; + + var legendId = legendItem.trace.legend || 'legend'; + var legendObj = fullLayout[legendId]; + + var itemClick = legendObj.itemclick; + var itemDoubleClick = legendObj.itemdoubleclick; + var groupClick = legendObj.groupclick; if(numClicks === 1 && itemClick === 'toggle' && itemDoubleClick === 'toggleothers' && SHOWISOLATETIP && gd.data && gd._context.showTips @@ -35,9 +42,6 @@ module.exports = function handleClick(g, gd, numClicks) { fullLayout.hiddenlabels.slice() : []; - var legendItem = g.data()[0][0]; - if(legendItem.groupTitle && legendItem.noClick) return; - var fullData = gd._fullData; var shapesWithLegend = (fullLayout.shapes || []).filter(function(d) { return d.showlegend; }); var allLegendItems = fullData.concat(shapesWithLegend); From b2ef7116827408db22bee1375116a0f305eb293e Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Tue, 20 Jan 2026 15:07:13 -0500 Subject: [PATCH 02/22] Add `titleclick` and `titledoubleclick` attributes --- src/components/legend/attributes.js | 24 ++++++++++++++++++++++++ src/components/legend/defaults.js | 3 +++ 2 files changed, 27 insertions(+) diff --git a/src/components/legend/attributes.js b/src/components/legend/attributes.js index 0d7f0d49e9f..b4a60a474f5 100644 --- a/src/components/legend/attributes.js +++ b/src/components/legend/attributes.js @@ -176,6 +176,30 @@ module.exports = { '*togglegroup* toggles the visibility of all items in the same legendgroup as the item clicked on the graph.' ].join(' ') }, + titleclick: { + valType: 'enumerated', + values: ['toggle', 'toggleothers', false], + dflt: 'toggle', + editType: 'legend', + description: [ + 'Determines the behavior on legend title click.', + '*toggle* toggles the visibility of all items in the legend.', + '*toggleothers* toggles the visibility of all other legends.', + '*false* disables legend title click interactions.' + ].join(' ') + }, + titledoubleclick: { + valType: 'enumerated', + values: ['toggle', 'toggleothers', false], + dflt: 'toggleothers', + editType: 'legend', + description: [ + 'Determines the behavior on legend title double-click.', + '*toggle* toggles the visibility of all items in the legend.', + '*toggleothers* toggles the visibility of all other legends.', + '*false* disables legend title double-click interactions.' + ].join(' ') + }, x: { valType: 'number', editType: 'legend', diff --git a/src/components/legend/defaults.js b/src/components/legend/defaults.js index f8be07461f4..0f4191167b9 100644 --- a/src/components/legend/defaults.js +++ b/src/components/legend/defaults.js @@ -238,6 +238,9 @@ function groupDefaults(legendId, layoutIn, layoutOut, fullData) { }); Lib.coerceFont(coerce, 'title.font', dfltTitleFont); + + coerce('titleclick'); + coerce('titledoubleclick'); } } From cdb570a3f283a6839dd9cca5ab3ebd5b0a5f242a Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Wed, 28 Jan 2026 14:58:52 -0500 Subject: [PATCH 03/22] Add handleTitleClick function for toggling visibility via legend title --- src/components/legend/handle_click.js | 63 ++++++++++++++++++++++++++- 1 file changed, 62 insertions(+), 1 deletion(-) diff --git a/src/components/legend/handle_click.js b/src/components/legend/handle_click.js index 5abb3b9d9e4..9a40b08980f 100644 --- a/src/components/legend/handle_click.js +++ b/src/components/legend/handle_click.js @@ -6,7 +6,7 @@ var pushUnique = Lib.pushUnique; var SHOWISOLATETIP = true; -module.exports = function handleClick(g, gd, numClicks) { +exports.handleClick = function handleClick(g, gd, numClicks) { var fullLayout = gd._fullLayout; if(gd._dragged || gd._editing) return; @@ -273,3 +273,64 @@ module.exports = function handleClick(g, gd, numClicks) { } } }; + +exports.handleTitleClick = function handleTitleClick(gd, legendObj, mode) { + var fullLayout = gd._fullLayout; + var fullData = gd._fullData; + var legendId = legendObj._id || 'legend'; + var shapesWithLegend = (fullLayout.shapes || []).filter(function(d) { return d.showlegend; }); + var allLegendItems = fullData.concat(shapesWithLegend); + + function isInLegend(item) { + return (item.legend || 'legend') === legendId; + } + + var toggleThisLegend; + var toggleOtherLegends; + + if(mode === 'toggle') { + // If any item is visible in this legend, hide all. If all are hidden, show all + var anyVisibleHere = allLegendItems.some(function(item) { + return isInLegend(item) && item.visible === true; + }); + + toggleThisLegend = !anyVisibleHere; + toggleOtherLegends = null; + } else { + // isolate this legend or set all legends to visible + var anyVisibleElsewhere = allLegendItems.some(function(item) { + return !isInLegend(item) && item.visible === true && item.showlegend !== false; + }); + + toggleThisLegend = true; + toggleOtherLegends = !anyVisibleElsewhere; + } + + var dataUpdate = { visible: [] }; + var dataIndices = []; + var updatedShapes = (fullLayout.shapes || []).map(function(d) { return d._input; }); + var shapesUpdated = false; + + for(var i = 0; i < allLegendItems.length; i++) { + var item = allLegendItems[i]; + var shouldShow = isInLegend(item) ? toggleThisLegend : toggleOtherLegends; + var newVis = shouldShow ? true : 'legendonly'; + + // Only update if the item is visible and the visibility is different from the new visibility + if ((item.visible !== false) && (shouldShow !== null) && (item.visible !== newVis)) { + if(item._isShape) { + updatedShapes[item._index].visible = newVis; + shapesUpdated = true; + } else { + dataIndices.push(item.index); + dataUpdate.visible.push(newVis); + } + } + } + + if(shapesUpdated) { + Registry.call('_guiUpdate', gd, dataUpdate, {shapes: updatedShapes}, dataIndices); + } else if(dataIndices.length) { + Registry.call('_guiRestyle', gd, dataUpdate, dataIndices); + } +}; From 089fa73a067c417ac1b8e77fae8f7327c2b9d3a7 Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Wed, 28 Jan 2026 15:10:01 -0500 Subject: [PATCH 04/22] Add legend title click toggle setup and event handling --- src/components/legend/draw.js | 133 +++++++++++++++++++++++++++++++++- 1 file changed, 130 insertions(+), 3 deletions(-) diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 49c793d3f12..2934c214e03 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -10,7 +10,8 @@ var dragElement = require('../dragelement'); var Drawing = require('../drawing'); var Color = require('../color'); var svgTextUtils = require('../../lib/svg_text_utils'); -var handleClick = require('./handle_click'); +var handleClick = require('./handle_click').handleClick; +var handleTitleClick = require('./handle_click').handleTitleClick; var constants = require('./constants'); var alignmentConstants = require('../../constants/alignment'); @@ -180,8 +181,14 @@ function drawOne(gd, opts) { .text(title.text); textLayout(titleEl, scrollBox, gd, legendObj, MAIN_TITLE); // handle mathjax or multi-line text and compute title height + + // Set up title click if enabled and not in hover mode + if(!inHover && (legendObj.titleclick || legendObj.titledoubleclick)) { + setupTitleToggle(scrollBox, gd, legendObj, legendId); + } } else { scrollBox.selectAll('.' + legendId + 'titletext').remove(); + scrollBox.selectAll('.' + legendId + 'titletoggle').remove(); } var scrollBar = Lib.ensureSingle(legend, 'rect', 'scrollbar', function(s) { @@ -198,7 +205,22 @@ function drawOne(gd, opts) { traces.exit().remove(); traces.style('opacity', function(d) { - var trace = d[0].trace; + var legendItem = d[0]; + var trace = legendItem.trace; + + // Toggle opacity of legend group titles if all items in the group are hidden + if(legendItem.groupTitle) { + var groupName = trace.legendgroup; + var shapes = (fullLayout.shapes || []).filter(function(s) { return s.showlegend; }); + var anyVisible = gd._fullData.concat(shapes).some(function(item) { + return item.legendgroup === groupName && + (item.legend || 'legend') === legendId && + item.visible === true; + }); + + return anyVisible ? 1 : 0.5; + } + if(Registry.traceIs(trace, 'pie-like')) { return hiddenSlices.indexOf(d[0].label) !== -1 ? 0.5 : 1; } else { @@ -207,7 +229,12 @@ function drawOne(gd, opts) { }) .each(function() { d3.select(this).call(drawTexts, gd, legendObj); }) .call(style, gd, legendObj) - .each(function() { if(!inHover) d3.select(this).call(setupTraceToggle, gd, legendId); }); + .each(function(d) { + if(inHover) return; + // Don't create a click targets for group titles when groupclick is 'toggleitem' + if(d[0].groupTitle && legendObj.groupclick === 'toggleitem') return; + d3.select(this).call(setupTraceToggle, gd, legendId); + }); Lib.syncOrAsync([ Plots.previousPromises, @@ -221,6 +248,20 @@ function drawOne(gd, opts) { // re-calculate title position after legend width is derived. To allow for horizontal alignment if(title.text) { horizontalAlignTitle(titleEl, legendObj, bw); + + // Position click target for the title after dimensions are computed + if(!inHover && (legendObj.titleclick || legendObj.titledoubleclick)) { + positionTitleToggle(scrollBox, legendObj, legendId); + } + + // Toggle opacity of legend titles if all items in the legend are hidden + var shapes = (fullLayout.shapes || []).filter(function(s) { return s.showlegend; }); + var anyVisible = gd._fullData.concat(shapes).some(function(item) { + var inThisLegend = (item.legend || 'legend') === legendId; + return inThisLegend && item.visible === true; + }); + + titleEl.style('opacity', anyVisible ? 1 : 0.5); } if(!inHover) { @@ -624,6 +665,92 @@ function setupTraceToggle(g, gd, legendId) { }); } +function setupTitleToggle(scrollBox, gd, legendObj, legendId) { + // For now, skip title click for legends containing pie-like traces + var hasPie = gd._fullData.some(function(trace) { + var legend = trace.legend || 'legend'; + var inThisLegend = Array.isArray(legend) ? legend.includes(legendId) : legend === legendId; + return inThisLegend && Registry.traceIs(trace, 'pie-like'); + }); + if(hasPie) return; + + var doubleClickDelay = gd._context.doubleClickDelay; + var newMouseDownTime; + var numClicks = 1; + + var titleToggle = Lib.ensureSingle(scrollBox, 'rect', legendId + 'titletoggle', function(s) { + if(!gd._context.staticPlot) { + s.style('cursor', 'pointer').attr('pointer-events', 'all'); + } + s.call(Color.fill, 'rgba(0,0,0,0)'); + }); + + if(gd._context.staticPlot) return; + + titleToggle.on('mousedown', function() { + newMouseDownTime = (new Date()).getTime(); + if(newMouseDownTime - gd._legendMouseDownTime < doubleClickDelay) { + // in a click train + numClicks += 1; + } else { + // new click train + numClicks = 1; + gd._legendMouseDownTime = newMouseDownTime; + } + }); + titleToggle.on('mouseup', function() { + if(gd._dragged || gd._editing) return; + + if((new Date()).getTime() - gd._legendMouseDownTime > doubleClickDelay) { + numClicks = Math.max(numClicks - 1, 1); + } + + var evtData = { + event: d3.event, + legendId: legendId, + data: gd.data, + layout: gd.layout, + fullData: gd._fullData, + fullLayout: gd._fullLayout + }; + + if(numClicks === 1 && legendObj.titleclick) { + var clickVal = Events.triggerHandler(gd, 'plotly_legendtitleclick', evtData); + if(clickVal === false) return; + + legendObj._titleClickTimeout = setTimeout(function() { + if(gd._fullLayout) handleTitleClick(gd, legendObj, legendObj.titleclick); + }, doubleClickDelay); + } else if(numClicks === 2) { + if(legendObj._titleClickTimeout) clearTimeout(legendObj._titleClickTimeout); + gd._legendMouseDownTime = 0; + + var dblClickVal = Events.triggerHandler(gd, 'plotly_legendtitledoubleclick', evtData); + if(dblClickVal !== false && legendObj.titledoubleclick) handleTitleClick(gd, legendObj, legendObj.titledoubleclick); + } + }); +} + +function positionTitleToggle(scrollBox, legendObj, legendId) { + var titleToggle = scrollBox.select('.' + legendId + 'titletoggle'); + if(!titleToggle.size()) return; + + var side = legendObj.title.side || 'top'; + var bw = legendObj.borderwidth; + var x = bw; + var width = legendObj._titleWidth + 2 * constants.titlePad; + var height = legendObj._titleHeight + 2 * constants.titlePad; + + + if(side === 'top center') { + x = bw + 0.5 * (legendObj._width - 2 * bw - width); + } else if(side === 'top right') { + x = legendObj._width - bw - width; + } + + titleToggle.attr({ x: x, y: bw, width: width, height: height }); +} + function textLayout(s, g, gd, legendObj, aTitle) { if(legendObj._inHover) s.attr('data-notex', true); // do not process MathJax for unified hover svgTextUtils.convertToTspans(s, gd, function() { From 207910ec4db02862ba3d3a0bf076396e03a33b2e Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Wed, 28 Jan 2026 15:10:06 -0500 Subject: [PATCH 05/22] Add mock chart for legend title click feature --- test/image/mocks/legend_title_click.json | 210 +++++++++++++++++++++++ 1 file changed, 210 insertions(+) create mode 100644 test/image/mocks/legend_title_click.json diff --git a/test/image/mocks/legend_title_click.json b/test/image/mocks/legend_title_click.json new file mode 100644 index 00000000000..90f1d297bf7 --- /dev/null +++ b/test/image/mocks/legend_title_click.json @@ -0,0 +1,210 @@ +{ + "config": { + "editable": false + }, + "data": [ + { + "name": "Series A1", + "y": [1, 2, 3], + "xaxis": "x", + "yaxis": "y", + "legendgroup": "Group A", + "legendgrouptitle": { "text": "Group A" } + }, + { + "name": "Series A2", + "y": [2, 3, 4], + "xaxis": "x", + "yaxis": "y", + "legendgroup": "Group A" + }, + { + "name": "Series B1", + "y": [3, 4, 5], + "xaxis": "x", + "yaxis": "y", + "legendgroup": "Group B", + "legendgrouptitle": { "text": "Group B" } + }, + { + "name": "Series C1", + "y": [5, 6, 7], + "xaxis": "x2", + "yaxis": "y2", + "legend": "legend2", + "legendgroup": "Group C", + "legendgrouptitle": { "text": "Group C" } + }, + { + "name": "Series C2", + "y": [6, 7, 8], + "xaxis": "x2", + "yaxis": "y2", + "legend": "legend2", + "legendgroup": "Group C" + }, + { + "name": "Series D1", + "y": [7, 8, 9], + "xaxis": "x3", + "yaxis": "y3", + "legend": "legend3" + }, + { + "name": "Series D2", + "y": [8, 9, 10], + "xaxis": "x3", + "yaxis": "y3", + "legend": "legend3" + }, + { + "name": "Series E1", + "y": [9, 10, 11], + "xaxis": "x4", + "yaxis": "y4", + "legend": "legend4" + }, + { + "name": "Series E2", + "y": [10, 11, 12], + "xaxis": "x4", + "yaxis": "y4", + "legend": "legend4" + }, + { + "name": "Series F1", + "y": [2, 4, 3], + "xaxis": "x", + "yaxis": "y", + "legend": "legend5" + }, + { + "name": "Series F2", + "y": [3, 5, 4], + "xaxis": "x", + "yaxis": "y", + "legend": "legend5" + } + ], + "layout": { + "title": { "text": "Legend Title Click Behaviors" }, + "width": 900, + "height": 700, + "grid": { "rows": 2, "columns": 2, "pattern": "independent" }, + "xaxis": { "domain": [0, 0.35] }, + "yaxis": { "domain": [0.55, 1] }, + "xaxis2": { "domain": [0, 0.35] }, + "yaxis2": { "domain": [0, 0.45] }, + "xaxis3": { "domain": [0.45, 0.8] }, + "yaxis3": { "domain": [0.55, 1] }, + "xaxis4": { "domain": [0.45, 0.8] }, + "yaxis4": { "domain": [0, 0.45] }, + "legend": { + "bgcolor": "rgba(200, 230, 255, 0.8)", + "title": { "text": "Default" }, + "x": 1.02, + "y": 1, + "xanchor": "left", + "titleclick": "toggle", + "titledoubleclick": "toggleothers", + "groupclick": "toggleitem" + }, + "legend2": { + "bgcolor": "rgba(255, 230, 200, 0.8)", + "title": { "text": "Swapped" }, + "x": 1.02, + "y": 0.7, + "xanchor": "left", + "titleclick": "toggleothers", + "titledoubleclick": "toggle" + }, + "legend3": { + "bgcolor": "rgba(230, 255, 200, 0.8)", + "title": { "text": "Single click disabled" }, + "x": 1.02, + "y": 0.4, + "xanchor": "left", + "titleclick": false, + "titledoubleclick": "toggleothers" + }, + "legend4": { + "bgcolor": "rgba(255, 200, 230, 0.8)", + "title": { "text": "Double click disabled" }, + "x": 1.02, + "y": 0.15, + "xanchor": "left", + "titleclick": "toggle", + "titledoubleclick": false + }, + "legend5": { + "bgcolor": "rgba(200, 200, 200, 0.8)", + "title": { "text": "Both disabled" }, + "x": 1.02, + "y": 0, + "xanchor": "left", + "yanchor": "bottom", + "titleclick": false, + "titledoubleclick": false + }, + "shapes": [ + { + "type": "rect", + "xref": "x", + "yref": "y", + "x0": 0.5, + "y0": 1.5, + "x1": 1.5, + "y1": 2.5, + "fillcolor": "rgba(100, 150, 255, 0.4)", + "line": { "color": "blue" }, + "name": "Shape A", + "showlegend": true, + "legend": "legend", + "legendgroup": "Group A" + }, + { + "type": "rect", + "xref": "x2", + "yref": "y2", + "x0": 0.5, + "y0": 5.5, + "x1": 1.5, + "y1": 6.5, + "fillcolor": "rgba(255, 180, 100, 0.4)", + "line": { "color": "orange" }, + "name": "Shape C", + "showlegend": true, + "legend": "legend2", + "legendgroup": "Group C" + }, + { + "type": "rect", + "xref": "x3", + "yref": "y3", + "x0": 0.5, + "y0": 7.5, + "x1": 1.5, + "y1": 8.5, + "fillcolor": "rgba(150, 255, 100, 0.4)", + "line": { "color": "green" }, + "name": "Shape D", + "showlegend": true, + "legend": "legend3" + }, + { + "type": "rect", + "xref": "x4", + "yref": "y4", + "x0": 0.5, + "y0": 9.5, + "x1": 1.5, + "y1": 10.5, + "fillcolor": "rgba(255, 100, 180, 0.4)", + "line": { "color": "magenta" }, + "name": "Shape E", + "showlegend": true, + "legend": "legend4" + } + ] + } +} From 2f934ad7b49500e2420529ae768cbe47e9f6efcd Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Wed, 28 Jan 2026 15:29:56 -0500 Subject: [PATCH 06/22] Only enable legend title click by default when there are multiple legends --- src/components/legend/attributes.js | 8 ++++---- src/components/legend/defaults.js | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/components/legend/attributes.js b/src/components/legend/attributes.js index b4a60a474f5..6a08a1bb31e 100644 --- a/src/components/legend/attributes.js +++ b/src/components/legend/attributes.js @@ -179,25 +179,25 @@ module.exports = { titleclick: { valType: 'enumerated', values: ['toggle', 'toggleothers', false], - dflt: 'toggle', editType: 'legend', description: [ 'Determines the behavior on legend title click.', '*toggle* toggles the visibility of all items in the legend.', '*toggleothers* toggles the visibility of all other legends.', - '*false* disables legend title click interactions.' + '*false* disables legend title click interactions.', + 'Defaults to *toggle* when there are multiple legends, *false* otherwise.' ].join(' ') }, titledoubleclick: { valType: 'enumerated', values: ['toggle', 'toggleothers', false], - dflt: 'toggleothers', editType: 'legend', description: [ 'Determines the behavior on legend title double-click.', '*toggle* toggles the visibility of all items in the legend.', '*toggleothers* toggles the visibility of all other legends.', - '*false* disables legend title double-click interactions.' + '*false* disables legend title double-click interactions.', + 'Defaults to *toggleothers* when there are multiple legends, *false* otherwise.' ].join(' ') }, x: { diff --git a/src/components/legend/defaults.js b/src/components/legend/defaults.js index 0f4191167b9..d6845c48bbc 100644 --- a/src/components/legend/defaults.js +++ b/src/components/legend/defaults.js @@ -9,7 +9,7 @@ var attributes = require('./attributes'); var basePlotLayoutAttributes = require('../../plots/layout_attributes'); var helpers = require('./helpers'); -function groupDefaults(legendId, layoutIn, layoutOut, fullData) { +function groupDefaults(legendId, layoutIn, layoutOut, fullData, legendCount) { var containerIn = layoutIn[legendId] || {}; var containerOut = Template.newContainer(layoutOut, legendId); @@ -239,8 +239,9 @@ function groupDefaults(legendId, layoutIn, layoutOut, fullData) { Lib.coerceFont(coerce, 'title.font', dfltTitleFont); - coerce('titleclick'); - coerce('titledoubleclick'); + var hasMultipleLegends = legendCount > 1; + coerce('titleclick', hasMultipleLegends ? 'toggle' : false); + coerce('titledoubleclick', hasMultipleLegends ? 'toggleothers' : false); } } @@ -280,7 +281,7 @@ module.exports = function legendDefaults(layoutIn, layoutOut, fullData) { for(i = 0; i < legends.length; i++) { var legendId = legends[i]; - groupDefaults(legendId, layoutIn, layoutOut, allLegendsData); + groupDefaults(legendId, layoutIn, layoutOut, allLegendsData, legends.length); if(layoutOut[legendId]) { layoutOut[legendId]._id = legendId; From cd92feae2288186a53292f00a0d52354c7dea301 Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 29 Jan 2026 12:12:45 -0500 Subject: [PATCH 07/22] Add jasmine tests for legend title click --- test/jasmine/tests/legend_test.js | 247 ++++++++++++++++++++++++++++++ 1 file changed, 247 insertions(+) diff --git a/test/jasmine/tests/legend_test.js b/test/jasmine/tests/legend_test.js index 9fc21aabb47..a6099aafd80 100644 --- a/test/jasmine/tests/legend_test.js +++ b/test/jasmine/tests/legend_test.js @@ -2794,3 +2794,250 @@ describe('legend with custom legendwidth', function() { }).then(done, done.fail); }); }); + +describe('legend title click', function() { + "use strict"; + + var gd; + + beforeEach(function() { + gd = createGraphDiv(); + }); + afterEach(destroyGraphDiv); + + function clickTitle(legendId, clicks) { + return function() { + return new Promise(function(resolve) { + var selector = '.' + (legendId || 'legend') + 'titletoggle'; + var item = d3Select(selector).node(); + if(!item) { + fail('Could not find title toggle element: ' + selector); + return resolve(); + } + for(var i = 0; i < (clicks || 1); i++) { + item.dispatchEvent(new MouseEvent('mousedown')); + item.dispatchEvent(new MouseEvent('mouseup')); + } + setTimeout(resolve, DBLCLICKDELAY + 100); + }); + }; + } + + function extractVisibilities(data) { + return data.map(function(trace) { return trace.visible; }); + } + + function assertVisible(expectation) { + return function() { + var actual = extractVisibilities(gd._fullData); + expect(actual).toEqual(expectation); + }; + } + + function assertVisibleShapes(expectation) { + return function() { + var actual = extractVisibilities(gd._fullLayout.shapes); + expect(actual).toEqual(expectation); + }; + } + + describe('defaults', function() { + it('should disable title clicking by default for a single legend', function(done) { + Plotly.newPlot(gd, [ + { x: [1, 2], y: [1, 2] }, + { x: [1, 2], y: [2, 3] } + ], { + legend: { title: { text: 'Legend' } } + }).then(function() { + expect(gd._fullLayout.legend.titleclick).toBe(false); + expect(gd._fullLayout.legend.titledoubleclick).toBe(false); + }).then(done, done.fail); + }); + + it('should enable title clicking by default for multiple legends', function(done) { + Plotly.newPlot(gd, [ + { x: [1, 2], y: [1, 2] }, + { x: [1, 2], y: [2, 3] }, + { x: [1, 2], y: [3, 4], legend: 'legend2' }, + { x: [1, 2], y: [4, 5], legend: 'legend2' } + ], { + showlegend: true, + legend: { title: { text: 'Legend 1' } }, + legend2: { title: { text: 'Legend 2' } } + }).then(function() { + expect(gd._fullLayout.legend.titleclick).toBe('toggle'); + expect(gd._fullLayout.legend.titledoubleclick).toBe('toggleothers'); + expect(gd._fullLayout.legend2.titleclick).toBe('toggle'); + expect(gd._fullLayout.legend2.titledoubleclick).toBe('toggleothers'); + }).then(done, done.fail); + }); + + it('should allow user to override titleclick and titledoubleclick', function(done) { + Plotly.newPlot(gd, [ + { x: [1, 2], y: [1, 2] }, + { x: [1, 2], y: [2, 3] } + ], { + legend: { + title: { text: 'Legend' }, + titleclick: 'toggle', + titledoubleclick: false + } + }).then(function() { + expect(gd._fullLayout.legend.titleclick).toBe('toggle'); + expect(gd._fullLayout.legend.titledoubleclick).toBe(false); + }).then(done, done.fail); + }); + }); + + describe('toggle interactions', function() { + beforeEach(function(done) { + Plotly.newPlot(gd, [ + { x: [1, 2], y: [1, 2] }, + { x: [1, 2], y: [2, 3] }, + { x: [1, 2], y: [3, 4], legend: 'legend2' }, + { x: [1, 2], y: [4, 5], legend: 'legend2' } + ], { + showlegend: true, + legend: { title: { text: 'Legend 1' } }, + legend2: { title: { text: 'Legend 2' }, y: 0.5 } + }).then(done); + }); + + it('should hide all traces in legend when clicking title (all visible)', function(done) { + Promise.resolve() + .then(assertVisible([true, true, true, true])) + .then(clickTitle('legend')) + .then(assertVisible(['legendonly', 'legendonly', true, true])) + .then(done, done.fail); + }); + + it('should show all traces in legend when clicking title (all hidden)', function(done) { + Plotly.restyle(gd, 'visible', 'legendonly', [0, 1]) + .then(assertVisible(['legendonly', 'legendonly', true, true])) + .then(clickTitle('legend')) + .then(assertVisible([true, true, true, true])) + .then(done, done.fail); + }); + + it('should not affect traces with visible: false', function(done) { + Plotly.restyle(gd, 'visible', false, [0]) + .then(assertVisible([false, true, true, true])) + .then(clickTitle('legend')) + .then(assertVisible([false, 'legendonly', true, true])) + .then(done, done.fail); + }); + }); + + describe('toggleothers interactions', function() { + beforeEach(function(done) { + Plotly.newPlot(gd, [ + { x: [1, 2], y: [1, 2] }, + { x: [1, 2], y: [2, 3] }, + { x: [1, 2], y: [3, 4], legend: 'legend2' }, + { x: [1, 2], y: [4, 5], legend: 'legend2' } + ], { + showlegend: true, + legend: { title: { text: 'Legend 1' } }, + legend2: { title: { text: 'Legend 2' }, y: 0.5 } + }).then(done); + }); + + it('should isolate this legend (hide others)', function(done) { + Promise.resolve() + .then(assertVisible([true, true, true, true])) + .then(clickTitle('legend', 2)) + .then(assertVisible([true, true, 'legendonly', 'legendonly'])) + .then(done, done.fail); + }); + + it('should restore all when already isolated', function(done) { + Plotly.restyle(gd, 'visible', 'legendonly', [2, 3]) + .then(assertVisible([true, true, 'legendonly', 'legendonly'])) + .then(clickTitle('legend', 2)) + .then(assertVisible([true, true, true, true])) + .then(done, done.fail); + }); + }); + + describe('interactions with shapes', function() { + beforeEach(function(done) { + Plotly.newPlot(gd, [ + { x: [1, 2], y: [1, 2] }, + { x: [1, 2], y: [2, 3] }, + { x: [1, 2], y: [3, 4], legend: 'legend2' }, + { x: [1, 2], y: [4, 5], legend: 'legend2' } + ], { + showlegend: true, + legend: { title: { text: 'Legend 1' } }, + legend2: { title: { text: 'Legend 2' }, y: 0.5 }, + shapes: [ + { showlegend: true, type: 'line', x0: 0, y0: 0, x1: 1, y1: 1 }, + { showlegend: true, type: 'rect', x0: 0, y0: 0, x1: 1, y1: 1, legend: 'legend2' } + ] + }).then(done); + }); + + it('should toggle shapes with traces', function(done) { + Promise.resolve() + .then(assertVisible([true, true, true, true])) + .then(assertVisibleShapes([true, true])) + .then(clickTitle('legend')) + .then(assertVisible(['legendonly', 'legendonly', true, true])) + .then(assertVisibleShapes(['legendonly', true])) + .then(done, done.fail); + }); + }); + + it('should not create click target when no title text', function(done) { + Plotly.newPlot(gd, [ + { x: [1, 2], y: [1, 2] }, + { x: [1, 2], y: [2, 3] }, + { x: [1, 2], y: [3, 4], legend: 'legend2' }, + { x: [1, 2], y: [4, 5], legend: 'legend2' } + ], { + showlegend: true, + legend: {}, + legend2: { y: 0.5 } + }).then(function() { + var titleToggle = d3Select('.legendtitletoggle'); + expect(titleToggle.size()).toBe(0); + }).then(done, done.fail); + }); + + it('should have a pointer cursor on hover for clickable titles', function(done) { + Plotly.newPlot(gd, [ + { x: [1, 2], y: [1, 2] }, + { x: [1, 2], y: [2, 3] }, + { x: [1, 2], y: [3, 4], legend: 'legend2' }, + { x: [1, 2], y: [4, 5], legend: 'legend2' } + ], { + showlegend: true, + legend: { title: { text: 'Legend 1' } }, + legend2: { title: { text: 'Legend 2' }, y: 0.5 } + }).then(function() { + var titleToggle = d3Select('.legendtitletoggle').node(); + expect(titleToggle.style.cursor).toBe('pointer'); + }).then(done, done.fail); + }); + + it('should not have pointer cursor on static plots', function(done) { + Plotly.newPlot(gd, [ + { x: [1, 2], y: [1, 2] }, + { x: [1, 2], y: [2, 3] }, + { x: [1, 2], y: [3, 4], legend: 'legend2' }, + { x: [1, 2], y: [4, 5], legend: 'legend2' } + ], { + showlegend: true, + legend: { title: { text: 'Legend 1' } }, + legend2: { title: { text: 'Legend 2' }, y: 0.5 } + }, { + staticPlot: true + }).then(function() { + var titleToggle = d3Select('.legendtitletoggle').node(); + // On static plots, the title toggle rect is created but without pointer cursor + if(titleToggle) { + expect(titleToggle.style.cursor).not.toBe('pointer'); + } + }).then(done, done.fail); + }); +}); \ No newline at end of file From 53073d7a336de99e28a0bdabd55d98d2a2da7f04 Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 29 Jan 2026 12:37:13 -0500 Subject: [PATCH 08/22] Update schema --- test/plot-schema.json | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/test/plot-schema.json b/test/plot-schema.json index 211da680a56..e753455cb7f 100644 --- a/test/plot-schema.json +++ b/test/plot-schema.json @@ -3581,6 +3581,26 @@ "valType": "string" } }, + "titleclick": { + "description": "Determines the behavior on legend title click. *toggle* toggles the visibility of all items in the legend. *toggleothers* toggles the visibility of all other legends. *false* disables legend title click interactions. Defaults to *toggle* when there are multiple legends, *false* otherwise.", + "editType": "legend", + "valType": "enumerated", + "values": [ + "toggle", + "toggleothers", + false + ] + }, + "titledoubleclick": { + "description": "Determines the behavior on legend title double-click. *toggle* toggles the visibility of all items in the legend. *toggleothers* toggles the visibility of all other legends. *false* disables legend title double-click interactions. Defaults to *toggleothers* when there are multiple legends, *false* otherwise.", + "editType": "legend", + "valType": "enumerated", + "values": [ + "toggle", + "toggleothers", + false + ] + }, "tracegroupgap": { "description": "Sets the amount of vertical space (in px) between legend groups.", "dflt": 10, From 459e229b15a54210291d33959d1eb22ef41b7a8e Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 29 Jan 2026 16:26:22 -0500 Subject: [PATCH 09/22] Add baseline image --- test/image/baselines/legend_title_click.png | Bin 0 -> 103239 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 test/image/baselines/legend_title_click.png diff --git a/test/image/baselines/legend_title_click.png b/test/image/baselines/legend_title_click.png new file mode 100644 index 0000000000000000000000000000000000000000..cb4d4e111994461ecfb3801ac3e1c07aa14ce8e5 GIT binary patch literal 103239 zcmeFZbx>SQw>}yqWPkvJ1_%KLcXtAW!GgO64H^g@+yV^l?(Xi8;1VD>BoN%)-2>ds zmru_7p7X1F>;8A^o~o%SX78@OyL+u({XEZFO^|||1R4q<%9AHg&?MiADm{6E0DJNT zz8QoBTxkH?%0GER`b1JxSjAa)FYVc<*oj~Mi)XON$R}9=3wfw?L-2)xpZyku8$muO zKJO*O;65njN@M2IY+-0W#fj8KplR{Pdkf{;?rXaU!v4wb(Q33%6F=Z)DtDXiK{d=? zz?++&pYIcd`1bQ(KkWw~9tF@o(}ue~7Af3cJ_?95Fd`7e8~DF`^b3H?j)cyFT*#46 z{_;@(@gn`V$IBrDPvR%+dco=10p}C0heb!EL~6i<&}>;fUM#Ft$Ul&rq`h?@hy)zjizFiC?7Q-yeXu7yHC-R1RUJ zm+G&RLJEfh>HYfykf&(jP_ojH(j#R5I$3YvaiHOUe*jjcGH{t6?KMftUv2UEal#S) zKJ@>c@c)lb_-6v-z4@jW86Fn|Tvl^|@4JJOs!V3p&ikk{NLg7imGfo#enkmA{KnRE zKNd@W^>H*4&SWsr+hO)8-~#R6?yOrW~=ys#TGa2`^&b6 z<(-L=z~Eq|<07Rz6kX42!DF?gpB@*5AnL8 zm6nVQUZ=@XcI04b=`)#FaHjk9iP?N3XQRU|5;ZloM~U*acm#2n`9!h7-c%J*96Q%( z61(a6)YU=L;nM1=;YUseiGMh{J_6v$FW;EP08Z-)rflhaRM;7Mw~&nNW~ z`5eq|EQpDTk1j9OD;`cqgz#D4i{7|dw_a2Agc9T+iYE-x!XzanuYRA7*ecczLTO}@IX?Kr#^S&N0_dye znqAm+UDk1%?{9XIJj_ZNVcy=}8ucFusN_;XPEJm~H~oWu7FPXZ&|vhcmxHHJ_zs%N z0h^#L_s7v6?^d+E@A5~x7Qei|yWN^?V8&z6&}W5cH-4i1RiRh0b}%MEGE^tO5viaI zJMzU4Y>$x_Oe*qXV|P1V5i8ZKq0);dVApsDLfau?{}W-%f}i*)C@<@q0znal56;6+ zp>-|fb*g}y8soEAg5oH0iEPmztZmS6h7d+n(m(<;IUgS%Her(D?s!p*>wbjLy@E8W z^?c(~W@hGEi%E1}Bs8Czni^L38&5NT89&Xzn zMBcsyNhL6aG3hie9kxA)%gD%tON*mnLO*yt+}~-my7M~j&*a62_w@D_s4EsJQBL%x zuF06}sa5EPz2bLV>hOI=qn!WT^taNQn4*nE|7C2#)P`GXn(c4T2Ig$|7g}1O^I8g z+v3_WHpVJY!H{#e->^tp<9;%Tg`i1CUlYfsOdD$KUv0lRoOIJ_Imz5Y8qLnE2XkM28x}oZTF%yY10z;_ z#cegGz+PZH5Z_%hB3SaiU-XZU69YbeYGcIs=s%gDEpk|OfNU!wxAlVd{wwUFNao*U z;;1i}RP=s{h={N{AL)PE8WkSO>`T~nIo&9t47cAHRAi%2D!5f*a?z^)7&O~pU2?tgPrN26uvB{RxgyD%$~rS3w_tmA#uR zh0=^L?hiyOVxmruP>(Qq^htu+exFF6HwN0D?@ZYKzOtnR1NQc;PvV@n!O6Nh>cYT{ z3GIyiX)_@K5?eFY)6EeNi;WCf3w$nc{0*CqO4CnaCN8hI+DqvIaU<3a3mRn|bbhw| z^Z3_0>pavVQ0Di7l9H0>H<%@i@9N)N*!D-urrAjC`TF?8?pjio)@bwe=+@hb67VKlTv%9$)Relm)d!|Jsgc=@-r;Z)hk07rdF31O^H+Q- zeMN7xLOC&;tlRGJszWuR&r~m7q4av*-4xl<|sFNU}m3zPWf zy~&~_T3L42#3>X_tVI#m2fi{%YGNW^Lk~AM6PVPaB@mSpjKtrzejG?R)v7b6WyN)g z)TD?))4}46aulVo=To7wSUc5XOSbh_=sj!A^M+y!E@n!R?EP)eHvmP!ZKhfa4D5dXh=zWD^DIqwrNYNUXk+xK14Q#-09 z1B)Nin(7Z08vtj5wfyNVDB&Iv$;}|R|3_1TuB&99Mi0dg%4+f&vg$$kR?-38*J&L6 zp8UK^q9#9$>g7yIjC$lvhLgE0lXc?;vHD+FUH`~9K9j-3N%H$isp(JmEPkuCcA&Z$ zBH~Zu9W|XDDj9#&7aCp$Q!rr?s~0_DBi15g&#lH$cHTBgWxIHXD0M+?HB&1&WU?N2 zh6zo=-CJmB!a7ZjK2vm37%EmR8E5z?J~mVoDhF~1=zp93{rlTG8Fe|$xb>*U3(>(f zfonxl!)R7gGHUkE(W2ExY6|aDSo?0-ZmHqZ-$j!ktpy;=W2s?&UubbFAwdzvq3o;a zn~GgeJ@FM&bNpeQ^kJ^m!!3WkNXfAihFlzara7t3yC!k@;BXgBLiTCEeLVmr2{-nq zdeR?oJ17m{NZs_(FvPd*!^msYutw(D>Nfd?Uiko-_)x*Sv!CY7@q_K(t7Wgr7_w<< zyiX`~TL%Z8M}>rhU|}S&#;p4iT*4$hs%sTY5{#_XtOD}3U`MMFLTWV%)bi;-9AO_u z+`gf5$;GJ0f@=2AxlL53>nEkAmYQ(c@6?=mjHC+`kB~vDKeATDW`K9zQ%h^}JMJYK zs*=ITirBiS-D`#;*HvgL1YnH>a?>?5w{XUXg@dhDGVgIm_H@eCW=+rhlmDt zPd7)@r6tyTktEqRMB~>*l?m+0yx62^-JY=@e89P{R#!D4TEBxsK+04tQ8VW)%q`uc zXxo#Hy(`pImODvS*2|mg3c!fl3(@G`Td^MzDDd3-E`PB9djw39@d$38Kdw^Hi+}8h zZx#?wu%Wb!(NygAcB7KNDA-BuzW7s2yHSx*RrCo(ygms`R*h{jj~-6rFF+KI&ooKB z{y9M_jV>S{aE{k$Fzbm`L`h z%R?#LafQZlqjMLz+ZS~NY-hP6c3(mn7>6w46-Xel1S*=7~bK{jdn8msDW z%0>eUkk~tWvW}C8!R)@!6o#L%0x$ykok6XNRw&I1^?*J*lisf(98-aF6$%xnqX;4- z3h4v~T6+HZ6T|tv8YVprjYO?`x`*$34HP2f-=`X^Gm;(RG^ggA3E8+36aK+oo&ZD+ z=aI+(Fn0^4Kp|?f$wtL1pjaLkiJ)ZUFBX2DFb$pFrHqE?Rj+f1MZJ+^L!}%zF(N1$ zy#LN7oP<2^MO_X(EowSiUC%>x|3$3k>m=M5U$r&qRtCxmbx@w{*F(Acs3hoi#-MKB zVCtYs9~}7x9yD!SYQFlnLj33c4ocp0%>&HX7%@NT{h2yka?K5zftTyo_R^gfX-*4@ z)RidKUqcjl`gZMBO7>)9x@3STvrOvHhg?E>ouvJS|r@RTsm>_>o z8h1N(`h8N^pfhte1Kh-`1#)R|_F)@f&%?CA?N*{J|Jd9%v@T`xW};;9JakE*rv!Kyd%Z__u+z^ltUJOxG*S z6$1;L_NZBB58tE6&3pC_=9_k`M3ZC(ibj4sbCJWu{#qhuqz-#aA#WmiDn%v>aFm)E zWt#Uiw~%#G>?8+lIXg<2Ae6>35JzfnE&c6wjFoi;(YKhN-DlNj>hb3$0ua?nz4_>| z(7S||=o18=Ia=BpXM)S;Ql205cH#)QUF1y!*LN^6Eks}nJpC9bKof=moT51XXKgn- z^qjs4iXgwNLDJoW;=!vfQLE$Vyd1z{@9CS@B~Y)kpbZRs6|KRs{oZfb%GcS+q%+qg zP?8kmZTtR*Db(kJKk<8KVrA4LfvD)D*)sR)i`%7D-8jc?P?m{BDsI%jIQl_!kOV8yxmRy9(If`=h`U7 zG&Pmm#2O3sv`FH4d$P~@r#;4hX)K@BfVb6QAz%3ZT{S3`0Ul?(^fCPJH)?_R6vn-+ zB>DH7|M`c$F@S055lrp>ej^hXxKSqRbNAoG7J6&|EfDaekpE}+e_%uz03*yPvG$(* ztE2y#NsS~xLg{axCi?pgGe3YB(MRbE{Rxu)`EKtA6c9C};f?=X`XkJ|p$Beg1tH!F z|6N~EqXOt0n+?|=KKfroA1%lm$hZ{66vp3$r%E=!z;WI+ynnwjiUQnFBkS<|Z?aSz zAYzq0PaXQVll-&A|C;1~P4d@;^8b@n5=M4Bspqu}NEGb=?=s3EPAr%PU^x!065{ai z@J7)nQXK^)C4`F$Pghr$%WU3VR$M}&YiJ0KiHT{WWW1jK^;sUUD+B@kKQWiC*|yBCLQf zU%tRUEC#~Ae8PWtwFq%Ue}fRASCNavXRyqq0AhU3)38GeC3IKtOy7n)PGoXd9?g`wWkZ}|3y*zas=&VFC z)a(`?XNDLE#@JdYS&r|8A+?qaz+=|sA>-&?C|O*F1`#dU;2FUkpm}fR=mijj(?*qm z=BOxHmWDucMxd4Bl`^P~0M%^|7kIg10ni-Dul^bEa#%dj{IRDmADdqTt-63-3;}(u z_9H?baC$XCtq}F4c78sgv);^q{0)JK>Ff=@%KRv)ayt@Zpb5sB}XUDskqL)Tq zmZ#rXzPi`3v9;~44ARTi?xv$!p0B>)|JK``eH&RtHIdWZi34R6&x^x2;y>&lN2!9<^4K6AVeX79Z)+-lOxbWKBYh0L@#ke8fY z=6(}(7qoifFL#v+EyQ?@wzk}T#)Sg!H!8klZ}xwl_-d4_1bN#}JDe2Q!LkFJE5C~j z6VHb1IPGb++sn(Q>Wmq)bI25`%o#s!WSiw{1!9c3Uj{tT%l!ifoV| zoWpv0r})KV73FoXb7#jGrhtE|A5ugeUFGuXa|3U*G#7p*z34TP`G8ERIJ!i3({RZ! z0F-o^{sJskv%*othGO98-eA4h^Nhs(bNDO%l?in{*%6!N&ZjaNg0Hf&vI^D82mzHe z5Q|bO@mmJe3`?*EPwws8&)R_p+uI+0xt8f@ii#pOH_PaSo9ufkgDfReElnvhBf#P? zzm?TVx0N#HjjlE+G|B*>vMW4nf)%Z~5%QH9n|Qpor|glMr1p+`2Um!K1#EtOZKP$F|%hKI=yd&U1Uk&V@BmCmBCT1xI;D(2R{2!5?Kv(=~(i5Ln2rb4Ra z5Y3Z7z`rHTKcb=M_Xzb;6?KNl&tLmLQc_=+q9TRgDeUtON`h)GWOtlvjo-b#KRd-O|44DkHb*Xf zc>$wLsneK$stK}|SQKy2Yl6^0=+fkC*oG?iu8r|lRl#(vo_CGOkeNmY`sS9FpMFQb zuTK+&ygYBDo??C@7I4)Ef-cn%jUuRyo$fK9i2a@bAu{u&6_Ja*i}#f;Ft0x(a?|HV zJj3n8@OKisgsdvGX-adxqmdSSMMU(2H;;lkXEN|u3d=a?caCzHrS|J$B#W=5G{f*#ZwZJJ0KGOF3WSvH>RHG4mFjFTz1PUh+5^TB5k%$09 z%4Tms*dw@el7uP5)AlcZ@kupG$_9NBCdMFxnX47Qjq)Kv5fvBDHXF;{zD-8?(FH4g z9dc!lQSI<`E@NiBpw4k!p8p`NkPoGFXUTr)istpq z;iXVId3-6iE zv(K%pu1?$wUvB~ethr|VZ$7^kx>zYW+_Xf`4 zKEIz=(N~aO4|jcBoyl=h`=<6ut*MDgokVNDH%g@z4RQz$>B>-Jnyg z@C|Q4+MF^{gUmJC!4da}W?gK#yrQ8$C7Z)8&SP zyMTdNIrQqFJskh^_+xB^_L1qhOJOK0`6PP3`*HUR=ikS@WA&Erax&tj#lyr+>wOG= zrL{A|In_*TZf}HQ%Byx;lofaWJa7A1JNT>8kB%--T08>jRkx2as?FJf;!;~2<2H=z z)6D0YZi{z;8XZMkCE)wxUJ@SnD;6r*=2NS8}Zw|R+Pfd@n7}(MDH5t;lJweMyO?{1qTk=cg$eSJl z!dv_^O$}@QRSQ4^iKXzFI>^&C8!IO_aicZSM#Hu{JllR*8+B4L3 zs2~v4Uq}-T;hma)K*&XRB`NZ9(UNka$9pbO5T#3#ONntfAcF|5K0M#3W!>k{n+<0> ztxH!0G3zwKfP7$a97=R_Ow3rG^ovrhI;pfRvya(eLh0e(>ol+p(_;CsqAE$}%5ALo z6Ad=c+99~#mtb=ug&1NRtkm9fO!-cBj{fq;(S?c?L0ENIdHqJ_YD|@j=L38W>RE$3 zs%1JP2t6{xiXiNj)hfqjj#L2`{BkQRv-95rZ)E}ltb>%cp)>`N_s#FqlO;bn+KQ#f z%~!2%a^kaYm&i=YZN-NI$^e_nbPSE#ivJiVf9~mtPESKU-wdKg`oVkM=qy!~a>2)c9eI z&5aS+KwpJ)BP}(7$;V30YD=-?nLh_UydL+Wwy!*-_F$9D!UAy0lLD|-gqOJz3R%65 z$eDL-8Jt|J70p-^y7pboVMiWVi<#*oEk7V!>`MR$`JXICi@CN#@z~k;-g6EmM3wDo zwQ^&p9be~%I>_N#9?^d_#M0Du&o$AtNJ>&Z)KVRRnUl`CC7?fxk`c5#pV*`Uu6)v_ zef_krsL#gnlXwE54oma0&6Ug5`al3Qk(n&S1dxJoDumWskCQGG&E*@TbXl2Z= zn^a^@NX5GpL@nBi%@(p>Ci^`md{m&2+BXauc?*ERt)%JP(&bQIhJ`KqDM9nRfrFGgCt~ysmDXm)9d3RdNx!&r-fRK?t-bV<` z;MhRJ&K23S`G|ZaX7#6-LcG7)8Jl|qB@lf?sNNYqT6JU!;GE4>Z&AX?u0#b3b zIwlc>+7_@pb**@R=@)}{=;m!N(y_YiopQ#d&j(&~&5lfT{;WIEqx;aFvz|PW45cCa zvXh~z;bF!3KIZ-MlV{Be>rX??U-#2sjtk)UjS`V}T=CJsdTQ96BvG=G0`uX=Zmr0F zH(0z;q9YQ}S-Q1za2{taasrk^iy~{zQy|_jKAC8z0}Kss=y(SRW#^{GW^z#-#3AS_ zP=(lNVcs|SA6YN8OIQ=YJA_k?8%)5|VI~|(lq4jpoOJV#Oh7}-DW7}b_@2BI0g+>q zRjnN2Zj;fx`uMJjQJfp7LJ^#JzGE$yL<^%L=O}_l$&$Pp)JlY!@yYS>s+c^*w#vVI zOD!!D;#85BI~obt8-{n9oB~LXbE0S!5l}N8_W02lKyZ{-Kr#slm4-I>J&S!Ff9%*h zlB2aj>#NlA)lXq^oe{2q)xKBEVXP%LKhEP=H=xl>X{@)s;0JRPrQeak50O&7CX~g8 zQ-N%(AFbMTbc-m4$)Un&D-LJ7nZ#cK-+5E551{s^%Y+)7exq;nHLH7x(4kkq=p*@& z)+_NdUX*m4+O8gK=Yo^*P~*A6fc|lKZqUd=IG&09iXsOLd;LsY2FljR{Q9%kfoNw% z;Y&}#2`m8kUUM1ILdH3p@26x3=N*vkFtV|Vb|_i1JS;g16&My<38Fi&p!f+y0S=p! z2HQz_pa=~0`44LO1PdQes0eR3Ida`x*Ym(TetqwgXkd6E7B<~DP~WH`_`WD)(CjBn z+ZR93Z|zF7o_9A*C{0S?rvTQEHsrMjWZh)n><D&Xc5m%HXYuz&v0IgE#{a;_&-*0;AK5bfg$5J#w`#P-o6}oa1FSaG;nS8BBMu z?t&NO6kMWpW0ts#;$0mm#BJ_qOKnM39g5=!`ws zRs}SJ7gQm}*ws$L-S7?*}0(NrE3Ld zCX!Ax@1fyfx>t9`^nB_qWW#~xR3?>y{YF31$d(5}3rV1wgg5$kPXlo}$KV$B={j$d zf~iJOOg^ST3-uTh2iOqpusf$oT7n28IK%@E5bQ0ljt&+9fd=*MQ}p{P+@aalz;Jzd1t&WL}8*~y^yu5y2(KRHniSRr8@Bv{{{*_pq*165?jq#_Kzw?dtH4D{Hvi#bs zwSfIPU2)Xy81nt;vF^d}4#(Jx@$&?}cc83;ZDU9K?N$qo+DkezL+pux3J#`-hV(Mz zhm{*fmx&4EP;h>3zW#1q+2fALonuv8yjDA^7$%;jljpd@hipNGlEwMK)H>u*QX_a* z0N!{NGCoBCvu+7aG`v(1-;5@v87n~7?kBwT)zU2k829Pd%HH%f3Ya41@|BG!xBF|a zSHagCo<3he%N0Tloj+eSu55?TFRiV?rV`EEuZJ!0Sxl;vB|}j#x_p=yyK9&)g;zJ^ zw<%%D3wr^?T??JqBh8=3$5l$xxp4)%rL&a}vv~c@4tiIQ-j8%h5w*FyfvJWx(77>A z2bbO%$^cmm;c2;9U?me@!3~7#k96zf*gACHEDtGGG}{K$PAP#LaI#mTE7vMYq|kF# zW5x&OQ*Ks=961#hB-(_M{XqbdDsR_Ge8GaD4uq(S-z~q7U2`VKvZS8z@bM%QlaiZf zf(hYSpK1x7YQqtv5Qi&rH?wWKgU zLN@6yHY2zUi(aqT+-QnMR&kF_nv!YO<1T4kZa@ZfN>!&l!!l$VziJr7If%T6C-}Rj zJEm*f6Ey&(nCuO9h%!hP(X3|$r*n@*IYtRwwNIFhF{fzV-i&pVg}d7ri|1Jq73H1V*!ZNhx8b^2D8)wj_Dnr?(>(U_5vE zp`+~|>oo_WClMtrY$MYw9l#e!y#4DZ7@p0ab0cea-Gb|B0^aYJ6!If6 zrqRISsRnOO$s%WoJDC?fW%rTY8$}Xix=*n?MZBzfi@Mxc-B%K}*V%@_3$30{2U@Q| zB!il1_xBHF?}E1ik3Ka4iz;6<$(;0PfcvwcBt ztf0pcT3+?BC!kQFj*9P` zFnSvk2+C+LMpD~9b5onTdTho!eDS)Za*e>(BlVGkFn|r{64P?Qgv1TplTY=f+bva( z0Y#p>p`m0l_}#rr8-64^N|@1-SFUcAk8m5lF4H`jdHl~Iaf9Z@^o0`NhyFH7U_ z-`gm!zg+9v+;wbeHWh4$DqN=GKt;sMuTKF&I5Iv(NDF(jGLP@zQ~3K`v_wlZ%|ad$ z(d*Kt+BB%y9*qeAN51b8cb05E^n?#t*sT8Gt;10+Pd=i52S?^~o>Kqawy*F^^5XYh zvz=h4$U)ao4oFL2mY{65Ep=g@y!z7SmI~*bE`K4R3C%dE=pa_{>%q!#!R+c<$9$k0 zzAs-G@xXEH7{OsnIQsmvEV-P)%NG)Wygkr>wCwxUVo7tnTDo-z6Cj|xG}Ylm0Ln#s ziI2^d-g9I4p+LVJ{|rC9eBD&zsmmG@2wJ#%zkj4LIA@FbGGbAQ8P~zSXGu+!CD%cf zhoZX!NP?Mmjl91In%*YcTHo=5i+KK~t?^Fb+jM1&^bnHfNH729(ON7#WEdK z13K`vDJj5R;Ax9&&OUh`4ooa7w&h|{$TCAA9BB{>mh?BeP&4w*9FiQ7lo@J9FXNAw4j|L=uU4^el%zaf(S_6Ca^6P5rEFV$p zWrFKa*EE91?nQUI1XAbh#5=Dgu0csiEyVrFAJWp;f?{B&@fzyI^K6=(rmrQwqR~h< zcT^1kar7r2)j?*8pf;BW2lv)1>Lz3WGFU+^@16l~?{z=fXsfyzMT>K>eaL?#OLr)Q zktL)kSqH~V^C3Od?;;ErySHi+QnQ!0ot}7P6b533>G@WqRKQVu%!mURI{stoZn4~t z1viiv3wBhd9+?~o|ICT{s#WEc7-2%SivkUd3&UH->5-lv0a=Paf`P$(*4^1;jYj=L zaz9U-JocwTJ+23+_!>69xy2Pqn0hPKbSLy%7OA z(fprIY>qO`JE3LVEoz=`sO!Ac5Yw+^f^}4NTpf%%O?~=+9jz3-^lwgzg4;ru?>o3n z+=-wLWxcyZ<*_B-msZci5<4=PO?IveS~t;_y#_L?vRS6CnkZS@&xce+4Dg^)Z=!^w zpger-O*&%ELduHDH9iEZZy_9$g(d<$0FNOQ8EQ5LG|Kh988+aj2?=@$`h5Gdlm|6y z_X|6Lvzi}l5@nB~QE;33QZK3ynINyO?T7!+(Q3HC{r9eYU;Zfr6j4h+6us!qF_^dDqFT`OIcYiH3iWK+fN^r0WvkQ{;wUJ=G9_XB+8+9|cA z;M>vMd@cFBMci@c7gLMuJ96VvKmHNNM;jqL+6c70ONPrkFCW|^3SqTL{Foh4XcEO{$-WRju{KYTBf71Aog+DymA`-NdNk9&3tlo{7|CXwgU_;MfX;NL) zhOyvQg`TX+WHpfpVEbVHe~C-3-gupBDx!N|ybA@my;a)B25>1|C)6%c@xF;d7y=dP zUwd#RfRV($t!UZg!Yg-=yfhAWNqnlLVaC$xVof35DulL9rzU*m3;rf5p6R~6XZmVw zaw%+JQ?b!q?28*tA9IQB;UYj{Wd}A2=^K08U(>h9XnglzNV|v7O_qiPRw|%Co&<~o z)TE`5Ek+Z0stIf^hD2HT3$OFb8c!*I8&eFZf1#b5u+5vA{`H459(FO1Ls&U4QQ+4m zCI}6iT+4X27IO2cyCp}_mf@$i=d{53g~k6HEua>IsTRT%sRR4lD8F(XiS;FzclIg2 zOc;ELje(NII9jW`H_6OK(;6qd za=q8rb=Bq|9R(%{Aar<{HIO-G<7nGa&bYg@p@;|w487}K@GOq~4FFpeoN+t|+HrUZ zH96v9%JAKNG1A#RgrTT{oNXpBrDY*ck@yOWNK!Bhc9PwvtOkHfKqACK~1ksJ* z%SJSUkRR(m$`^t|JOcT-%ZpFE?&_1EkD;k|;>dMR6SS@$lSLmvYi4I~6Pqy9z|ns6 zRzv=u;sX+cU<*E^3Q}BRr?pimo-qwOPt7Fu|9d+#P*_8KEf6r@?*sK^S* znCZRS=lsJhtnM9@L8qohWkgTqK+4|Vg%B{mvV-4B`sEaa@CkFYhLSfoH!p2zRK^FH zgtGgMYUQNwuZfaUL*~v$7%3fm78pQ=`d-P%5q@(2@CE1^UJGR(^}~ z{p%eLsafLF`Eki@=of&#P==S|3R>?77m{vX!K3es+l*R%+T-Q4ZGk z_%i?gs?h?W#*QLEqlF4o9Q?vQ4O~vsc-gou@fWNvcnBejFL_%yijWp6SBOjCn z($hE+XrA-Rr6aF#ot>;`--vFFaOf4^+-w&f)X15hDK2Z4s~DRA3$!PWKQThJE`+Fu-=lBL?}6L6Q)v zwW}PP_sR_i`jw*Paz!Ngn{-&eq2q`+S9Zo%O=)BUDRY#1-Pz!$aHuxyJNf3drKXyp zW<2m|B~Jb|A{Ro%`A=9Iz&kfsDT$$Zx8(+73nhV}viw9Vey+yjN=jcxMpFSqD3|O% z2?$iFNqJH@Ac)M7PC}vpweOBUlz=Wc37QaUa4a4 zO4SRXaP6-Fm5H^uLIlck?4B;Fe9c4THbbilg;N2nQ`P1WvMv(+siut81kMnfPlty` zM=~*u6JbtTC9Fbxb?F-e|lRWG^j^{yvcB;-*O6& z0J1wtG66AYdIl2$9R7QATYguAoV5p>6X=ZCC>y9nwaF8@% zF!ka=IvmoDVuBS!?1=y(%a+i_-I@DiF~_vf6Mr=`d8qT*4Z@j@okm~gAOqvpZDH0I zhU7(UAP=jt-(1BW1BySR3CcqA&we*#g@@g7CiHo1%*Ni{HzdRuraT!A92R2xv3^@2 zVuC^G@IgsfhhRl-j)N5#+NZ+Jcf5WqdZKCrnZ^)z=M%xsdTnt)04CCYwS4-X(^*hW zT!$xvQxR0gWi+J#q0~o*;BeSg4kooLh!vUBTGtTKkURLzHHE~+8ePTFV(=E&EgrTl zt#t?;Z&24j+(4V2Z0I7??%~zASC?M5vbEo#n&d0C%=DT&&E-EUwJ?+V9x9&$+XFxz|4{oyR_q zd$6pmU#rn_^=GkIG}c@GJ)cmuvxG)@8|^B%QE?E%uxdHSv;CU=U$p@2${ZS`KyNR2!;;U)wfO^fK+a_#@^pDC5Z?KKf{!#$YKUJX z)U0U4Z{d8#7kux*4?o|=9~gk#w-eicsOKhQE%E~*LD^spILCjmbpZI@f8P0zNIv_n(A`N{}5|9mHW(*V$qN3^d)4^1RYfjvuM zf<|9+R=aL}_MChG&8nP{+xhKNaI6`AAT|DE=X+zMTv(Aa^}#xeQ0?YgcuRA(Aor zi3km|Q@Nvn<@Vd&C(KXwb|Mj40xY>5;H$>#nKNEXMp$D&+w~H}?l zR9pC1{o*Sh)qKefkPklCKMpyUA!iZcV>e#BR?5a2m&pW@*)$g)DcdC<_?3Z5N&@9Q z$qwK@D*!C5Y7kQZQ#@^x6N=6@0639 z-pt-)8yQdK!W$qZ{9)y|mJG&+KPf`8lCsFWl%VW1E}dR3hd*A7;$K$|h(M{`fKSY3 zi9VLSmVpe+p(tecPH1D#eh4-VQwk_FOEA`%j*bF(yIB0wm^UWC`GeUAVDH>F%q$}Q zo-pxvLN|_1wG$}Hk==P`0A!Lrt8X5vCnR$JDPAa?hLjaF!xYNH65Z^|8^xg>taks- zSq}wfhFAQ8DNI&KUuLr!_CEc6cu0C4-O$ADUt1pBQC31HIhY6x{;u{>UeH5@(j*K7 z+}oh{8GLYx$F)>M@8(nS_KgzSd#slGtMw3M&-GV(!g%b~K)~Tt3CM45wy3Bm8l_y2 zl^8|ltPcVxJY1dai^&%DbnBi4T_OQrObj>}^iRnlK%07bZ3#9!!Dncc6SX5J%t!?= z&hR(}%Jhp_mpwiwy%vfAiGV-VIdTunfYZ!IJr*f=y#weZPz~UOLm;%Ztj_c8cbHPo9~yD8b?KJ3gQMitd&%XvD?eVkh*I%&wwa+U?9HIx#}!*7yBO>e z0rkh2bsJf1K~9F?#touq=zH8JBl&sDKfg9M8jg+wrjH{XnB|8X2G4jR0)`+#kUe{2 z!uWUq4>%;h0vreAv0Xv*J6im%-T2CK{B$1lo&#N5Vg0#FA71n2fX z$=h2lcEQ1p5)2m4A-Fkdo1u$P3%wKJQ9#Y~XDuyI zjE~_2<>`M#q)>YxTgCgKn#t`SOa33l;od`TV0`?*?Vkm!Db}stH8u8JkkDYM+lZp9 zZQ!2(MEV+2$t3EVDax+BAlPeTd&1qdvUIo`K7sHu#~CiVBk~KlR=^e>L#Jls9*qVw zqEB_l+@}VT7TFR>Ch}A^kZ6VcXg>Ooh5PmGImKdwlX#58yREQ}i3wcbguCmeY0n@~ zbTLDKiHF^(Lh8C`343rvdn@JV+k_qLRD>LH6Q2|W6seoaR8c<#68NJRwmFYg@?3}B z?!sCPRysGOA@199a&rD{Z9;gAT1KB9P)=xbvRILU6yM7%jJW6JBo~PNH?D+3oykxC z$S7F9otGsLZ=Z`do1PM-Sg*gsi7Afn%2^OAofe3hp)->fj{>6+C1Vg>;YsJbTdK+R zoKAnJh^qS%F`BDrpkaWLWzfu!G>ZkLp$-t7vVpT}%cRgG+?mazN^Pzg8BW=q24p3& zKG(gtH^Sh~m}gFgxBiEi$E1kqx(jCKbJAu%i<&wh?^t)0Ur*nws+8%BELDHSO=SH* zk=)>c$vER6GlJ!OPF7#8pKbGGH zWQ`0{5%e9bg@8I2cSo4{o|c5ut#};=sC>rts%YP_FTqT~32`3j1#78I;`su5cgvA(on4{cxX3_6!Ht?ejD;1CrxAaO8{7GcG|b}Ml=bZ9=M<(6 zW!mYp^DdSz@_Iw|%rdWXfwKh38+e_GUBaM6*Qa*9nM8Q2|3GQFJu4W1Xu|WJOW`|m zqBKZ{%(`7*&037U+(>}JRh

YvriE`{}~lPkfA+)rZ z>-4H!OHP7ARr^CFc-hc6LY}i;u1_!7@bU((HxsP^Iy72(USoEoQ9`s>04C(;(_qqr ze`@KkU{pDo?R&K;NAaka7br3=AMV1<3&6Cn|EgdeNB)GSOcDho34gdW4|?vYS_2Q9 z!1f#)(jWY4ivbCeES8ZFB9ST8!kY-u*c?!4MW7Wy8hX@TiyYe1E4%|!J_wYLa>ydm zHw>QzHV2GG2Brux`;GpV2`d{T`X8a+-CI3F{vruplq}-NL_fq6(#RO_P5J{I`pKf2 zfO21q{Su)krSgG_DaM?ofa(b0k7@yDBmMf{l0iX&*jx?dy4`+3acvW{)K5a zz3GNccXw})lJ1sH=|*w`8<6f60cns%B&179S_J7(KvIy7Z~4}F&-wo6;#_gD*w3@( znsbgh#xKUC6LiesZKgxPOal)yGM3!+Bk%LKS=nOgai3i? zHtcJz%np3|e}g!hs6Vkh!~*D=A=;<6&M%1MoD+E^Tq=q{RxZ~3KzRm-!@_KLj>T2ahw~eZVz+={ z#tO^6$vY#m0NR;Rwu9YcySVKFb~~+^Rj(NSy}Pq%Kr&K};2@0D*@Hq;iXl2CjPmvs zZRJhy+vI0-^CHVxqe^rw*oHPQg$zJ;PJ5Awq^Sg%2>+%kcJV~T$mVd;#{tci;%Cgm zHvn{G^rJr3LoIG0KjG@bkw@tDi9sTEnOEM~c+G6lSKZXDH+Oidjd(TwzZ=Wb7gzL5Mp2V+cqL*>Aj z_G}w6H3H5C?QtV-fb8jtp%9=@DT08kf^{%&ImJr3ae01hMyS_+g!=Zp%cWWPDwmUy z2L}u}mYY>kpg0T_Z@j4{vKbE)al;dA2XqIjq}Q@nu<_TL&-GQMv**V@IT=~d%}WKy z>+t_TT^mWu?|XTvrBmp|bgHq-&-%-LP2v+axuGy=|GeJD3QupL1w!A?xsGE)%77nI zMH&tp>oQ}nqzI$_w}1h(Lm05`4{J}zv2n7veFN|g@`d6lOR}awYQ(kQeAEy9i>|1? z$xChudk`UHF*_E?e|?wi5IRZq32-oMm!z)px$X)duC-!lZ{kf?T}`{_#{*st=Aw|r z$Ndwa8Nj{cT8EmdRPPFS1!kF)agZP2uQRA{b8hZ z^(n;X1oy*7EykHihLZ(CB028_?7wP2pkV#H0od6+HdI(YtrRp`$z#oPpRdQLUupe= zBRE=YwUO;bT1im(o^3E&!Wb<~7Uw3^**Cjz zs;XNU?(lq{Uy6r{cO;t#2X0?429cYrU=gIQmoE#ihC z{TXwx5a9j>vdcIP;d$P-aT__)?5Ei#@$fPCMt=bzJVr0XX-?EOrh!VQ5r%TOIW?@nGcbisg^^2R4l9=&_t^Jbu9vi zHa$P59#`jky{;sa7U_@k{EPHz*Dcq>>NThJx;MbaUJ4`Jz-^N@}0|{tPWg&1qK!y56@s zWfG{adg-v4)yV38m=LM}O7;0YtFGxLFs_jwN)R_%$?F=zuXyfnYp?+rV;48KK*Z15 zyjRlf=BkwQf5UHbPu`1B6US$3n)eUv5cy_rEJwGm$JhY61_2s>9su={}(SOi{FWV|4E-f%1kR;ccEBty9?Y?D zM=~Mqr(35T_~L!FalG~V!$4k1V~^(BDceNy|HkI3dHxSyz^y+wGj2h$g}j~@rpXP- z(6Hjdc`%wcMsZ!LbK}|dtqC}^JKOIhyCR(-`sU6G9>zx0TtsG~0CJ~R&&Qu&k4U^j z<}NR^RHmE1(|oPKuLI(WSg2I-e!-vjChoJ8$if6fM`v?yH*V{Nb3Y)Y&^`hzYf;m) zaN{s5pleJ^2>f5Hc{oXw7E9#+QX@%PJZ2H~m&hvd{Tk$agDYL|9K}v?dXeiVj|_ce z{hPMZx)?CI*=iBR3iY}4i>Vc$^!2;3lI;Ezh;AA=#~ty<ઌWC#&Q^q*6GWrex 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

>oO$ns)wOA5b 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 literal 0 HcmV?d00001 From 6bec6d1f28b17358fed11c2eeea195b08bdde12f Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Fri, 30 Jan 2026 15:03:02 -0500 Subject: [PATCH 10/22] Convert var to const where applicable --- src/components/legend/defaults.js | 2 +- src/components/legend/draw.js | 42 ++-- src/components/legend/handle_click.js | 38 ++-- test/image/baselines/legend_title_click.png | Bin 103239 -> 0 bytes test/image/mocks/legend_title_click.json | 210 -------------------- 5 files changed, 41 insertions(+), 251 deletions(-) delete mode 100644 test/image/baselines/legend_title_click.png delete mode 100644 test/image/mocks/legend_title_click.json diff --git a/src/components/legend/defaults.js b/src/components/legend/defaults.js index d6845c48bbc..eb8a6212a0f 100644 --- a/src/components/legend/defaults.js +++ b/src/components/legend/defaults.js @@ -239,7 +239,7 @@ function groupDefaults(legendId, layoutIn, layoutOut, fullData, legendCount) { Lib.coerceFont(coerce, 'title.font', dfltTitleFont); - var hasMultipleLegends = legendCount > 1; + const hasMultipleLegends = legendCount > 1; coerce('titleclick', hasMultipleLegends ? 'toggle' : false); coerce('titledoubleclick', hasMultipleLegends ? 'toggleothers' : false); } diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 2934c214e03..5ac11454c57 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -205,14 +205,14 @@ function drawOne(gd, opts) { traces.exit().remove(); traces.style('opacity', function(d) { - var legendItem = d[0]; - var trace = legendItem.trace; + const legendItem = d[0]; + const trace = legendItem.trace; // Toggle opacity of legend group titles if all items in the group are hidden if(legendItem.groupTitle) { - var groupName = trace.legendgroup; - var shapes = (fullLayout.shapes || []).filter(function(s) { return s.showlegend; }); - var anyVisible = gd._fullData.concat(shapes).some(function(item) { + const groupName = trace.legendgroup; + const shapes = (fullLayout.shapes || []).filter(function(s) { return s.showlegend; }); + const anyVisible = gd._fullData.concat(shapes).some(function(item) { return item.legendgroup === groupName && (item.legend || 'legend') === legendId && item.visible === true; @@ -255,9 +255,9 @@ function drawOne(gd, opts) { } // Toggle opacity of legend titles if all items in the legend are hidden - var shapes = (fullLayout.shapes || []).filter(function(s) { return s.showlegend; }); - var anyVisible = gd._fullData.concat(shapes).some(function(item) { - var inThisLegend = (item.legend || 'legend') === legendId; + const shapes = (fullLayout.shapes || []).filter(function(s) { return s.showlegend; }); + const anyVisible = gd._fullData.concat(shapes).some(function(item) { + const inThisLegend = (item.legend || 'legend') === legendId; return inThisLegend && item.visible === true; }); @@ -667,18 +667,18 @@ function setupTraceToggle(g, gd, legendId) { function setupTitleToggle(scrollBox, gd, legendObj, legendId) { // For now, skip title click for legends containing pie-like traces - var hasPie = gd._fullData.some(function(trace) { - var legend = trace.legend || 'legend'; - var inThisLegend = Array.isArray(legend) ? legend.includes(legendId) : legend === legendId; + const hasPie = gd._fullData.some(function(trace) { + const legend = trace.legend || 'legend'; + const inThisLegend = Array.isArray(legend) ? legend.includes(legendId) : legend === legendId; return inThisLegend && Registry.traceIs(trace, 'pie-like'); }); if(hasPie) return; - var doubleClickDelay = gd._context.doubleClickDelay; + const doubleClickDelay = gd._context.doubleClickDelay; var newMouseDownTime; var numClicks = 1; - var titleToggle = Lib.ensureSingle(scrollBox, 'rect', legendId + 'titletoggle', function(s) { + const titleToggle = Lib.ensureSingle(scrollBox, 'rect', legendId + 'titletoggle', function(s) { if(!gd._context.staticPlot) { s.style('cursor', 'pointer').attr('pointer-events', 'all'); } @@ -705,7 +705,7 @@ function setupTitleToggle(scrollBox, gd, legendObj, legendId) { numClicks = Math.max(numClicks - 1, 1); } - var evtData = { + const evtData = { event: d3.event, legendId: legendId, data: gd.data, @@ -715,7 +715,7 @@ function setupTitleToggle(scrollBox, gd, legendObj, legendId) { }; if(numClicks === 1 && legendObj.titleclick) { - var clickVal = Events.triggerHandler(gd, 'plotly_legendtitleclick', evtData); + const clickVal = Events.triggerHandler(gd, 'plotly_legendtitleclick', evtData); if(clickVal === false) return; legendObj._titleClickTimeout = setTimeout(function() { @@ -725,21 +725,21 @@ function setupTitleToggle(scrollBox, gd, legendObj, legendId) { if(legendObj._titleClickTimeout) clearTimeout(legendObj._titleClickTimeout); gd._legendMouseDownTime = 0; - var dblClickVal = Events.triggerHandler(gd, 'plotly_legendtitledoubleclick', evtData); + const dblClickVal = Events.triggerHandler(gd, 'plotly_legendtitledoubleclick', evtData); if(dblClickVal !== false && legendObj.titledoubleclick) handleTitleClick(gd, legendObj, legendObj.titledoubleclick); } }); } function positionTitleToggle(scrollBox, legendObj, legendId) { - var titleToggle = scrollBox.select('.' + legendId + 'titletoggle'); + const titleToggle = scrollBox.select('.' + legendId + 'titletoggle'); if(!titleToggle.size()) return; - var side = legendObj.title.side || 'top'; - var bw = legendObj.borderwidth; + const side = legendObj.title.side || 'top'; + const bw = legendObj.borderwidth; var x = bw; - var width = legendObj._titleWidth + 2 * constants.titlePad; - var height = legendObj._titleHeight + 2 * constants.titlePad; + const width = legendObj._titleWidth + 2 * constants.titlePad; + const height = legendObj._titleHeight + 2 * constants.titlePad; if(side === 'top center') { diff --git a/src/components/legend/handle_click.js b/src/components/legend/handle_click.js index 9a40b08980f..3f4302d972b 100644 --- a/src/components/legend/handle_click.js +++ b/src/components/legend/handle_click.js @@ -12,15 +12,15 @@ exports.handleClick = function handleClick(g, gd, numClicks) { if(gd._dragged || gd._editing) return; - var legendItem = g.data()[0][0]; + const legendItem = g.data()[0][0]; if(legendItem.groupTitle && legendItem.noClick) return; - var legendId = legendItem.trace.legend || 'legend'; - var legendObj = fullLayout[legendId]; + const legendId = legendItem.trace.legend || 'legend'; + const legendObj = fullLayout[legendId]; - var itemClick = legendObj.itemclick; - var itemDoubleClick = legendObj.itemdoubleclick; - var groupClick = legendObj.groupclick; + const itemClick = legendObj.itemclick; + const itemDoubleClick = legendObj.itemdoubleclick; + const groupClick = legendObj.groupclick; if(numClicks === 1 && itemClick === 'toggle' && itemDoubleClick === 'toggleothers' && SHOWISOLATETIP && gd.data && gd._context.showTips @@ -275,11 +275,11 @@ exports.handleClick = function handleClick(g, gd, numClicks) { }; exports.handleTitleClick = function handleTitleClick(gd, legendObj, mode) { - var fullLayout = gd._fullLayout; - var fullData = gd._fullData; - var legendId = legendObj._id || 'legend'; - var shapesWithLegend = (fullLayout.shapes || []).filter(function(d) { return d.showlegend; }); - var allLegendItems = fullData.concat(shapesWithLegend); + const fullLayout = gd._fullLayout; + const fullData = gd._fullData; + const legendId = legendObj._id || 'legend'; + const shapesWithLegend = (fullLayout.shapes || []).filter(function(d) { return d.showlegend; }); + const allLegendItems = fullData.concat(shapesWithLegend); function isInLegend(item) { return (item.legend || 'legend') === legendId; @@ -290,7 +290,7 @@ exports.handleTitleClick = function handleTitleClick(gd, legendObj, mode) { if(mode === 'toggle') { // If any item is visible in this legend, hide all. If all are hidden, show all - var anyVisibleHere = allLegendItems.some(function(item) { + const anyVisibleHere = allLegendItems.some(function(item) { return isInLegend(item) && item.visible === true; }); @@ -298,7 +298,7 @@ exports.handleTitleClick = function handleTitleClick(gd, legendObj, mode) { toggleOtherLegends = null; } else { // isolate this legend or set all legends to visible - var anyVisibleElsewhere = allLegendItems.some(function(item) { + const anyVisibleElsewhere = allLegendItems.some(function(item) { return !isInLegend(item) && item.visible === true && item.showlegend !== false; }); @@ -306,15 +306,15 @@ exports.handleTitleClick = function handleTitleClick(gd, legendObj, mode) { toggleOtherLegends = !anyVisibleElsewhere; } - var dataUpdate = { visible: [] }; - var dataIndices = []; - var updatedShapes = (fullLayout.shapes || []).map(function(d) { return d._input; }); + const dataUpdate = { visible: [] }; + const dataIndices = []; + const updatedShapes = (fullLayout.shapes || []).map(function(d) { return d._input; }); var shapesUpdated = false; for(var i = 0; i < allLegendItems.length; i++) { - var item = allLegendItems[i]; - var shouldShow = isInLegend(item) ? toggleThisLegend : toggleOtherLegends; - var newVis = shouldShow ? true : 'legendonly'; + const item = allLegendItems[i]; + const shouldShow = isInLegend(item) ? toggleThisLegend : toggleOtherLegends; + const newVis = shouldShow ? true : 'legendonly'; // Only update if the item is visible and the visibility is different from the new visibility if ((item.visible !== false) && (shouldShow !== null) && (item.visible !== newVis)) { diff --git a/test/image/baselines/legend_title_click.png b/test/image/baselines/legend_title_click.png deleted file mode 100644 index cb4d4e111994461ecfb3801ac3e1c07aa14ce8e5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103239 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

YvriE`{}~lPkfA+)rZ z>-4H!OHP7ARr^CFc-hc6LY}i;u1_!7@bU((HxsP^Iy72(USoEoQ9`s>04C(;(_qqr ze`@KkU{pDo?R&K;NAaka7br3=AMV1<3&6Cn|EgdeNB)GSOcDho34gdW4|?vYS_2Q9 z!1f#)(jWY4ivbCeES8ZFB9ST8!kY-u*c?!4MW7Wy8hX@TiyYe1E4%|!J_wYLa>ydm zHw>QzHV2GG2Brux`;GpV2`d{T`X8a+-CI3F{vruplq}-NL_fq6(#RO_P5J{I`pKf2 zfO21q{Su)krSgG_DaM?ofa(b0k7@yDBmMf{l0iX&*jx?dy4`+3acvW{)K5a zz3GNccXw})lJ1sH=|*w`8<6f60cns%B&179S_J7(KvIy7Z~4}F&-wo6;#_gD*w3@( znsbgh#xKUC6LiesZKgxPOal)yGM3!+Bk%LKS=nOgai3i? zHtcJz%np3|e}g!hs6Vkh!~*D=A=;<6&M%1MoD+E^Tq=q{RxZ~3KzRm-!@_KLj>T2ahw~eZVz+={ z#tO^6$vY#m0NR;Rwu9YcySVKFb~~+^Rj(NSy}Pq%Kr&K};2@0D*@Hq;iXl2CjPmvs zZRJhy+vI0-^CHVxqe^rw*oHPQg$zJ;PJ5Awq^Sg%2>+%kcJV~T$mVd;#{tci;%Cgm zHvn{G^rJr3LoIG0KjG@bkw@tDi9sTEnOEM~c+G6lSKZXDH+Oidjd(TwzZ=Wb7gzL5Mp2V+cqL*>Aj z_G}w6H3H5C?QtV-fb8jtp%9=@DT08kf^{%&ImJr3ae01hMyS_+g!=Zp%cWWPDwmUy z2L}u}mYY>kpg0T_Z@j4{vKbE)al;dA2XqIjq}Q@nu<_TL&-GQMv**V@IT=~d%}WKy z>+t_TT^mWu?|XTvrBmp|bgHq-&-%-LP2v+axuGy=|GeJD3QupL1w!A?xsGE)%77nI zMH&tp>oQ}nqzI$_w}1h(Lm05`4{J}zv2n7veFN|g@`d6lOR}awYQ(kQeAEy9i>|1? z$xChudk`UHF*_E?e|?wi5IRZq32-oMm!z)px$X)duC-!lZ{kf?T}`{_#{*st=Aw|r z$Ndwa8Nj{cT8EmdRPPFS1!kF)agZP2uQRA{b8hZ z^(n;X1oy*7EykHihLZ(CB028_?7wP2pkV#H0od6+HdI(YtrRp`$z#oPpRdQLUupe= zBRE=YwUO;bT1im(o^3E&!Wb<~7Uw3^**Cjz zs;XNU?(lq{Uy6r{cO;t#2X0?429cYrU=gIQmoE#ihC z{TXwx5a9j>vdcIP;d$P-aT__)?5Ei#@$fPCMt=bzJVr0XX-?EOrh!VQ5r%TOIW?@nGcbisg^^2R4l9=&_t^Jbu9vi zHa$P59#`jky{;sa7U_@k{EPHz*Dcq>>NThJx;MbaUJ4`Jz-^N@}0|{tPWg&1qK!y56@s zWfG{adg-v4)yV38m=LM}O7;0YtFGxLFs_jwN)R_%$?F=zuXyfnYp?+rV;48KK*Z15 zyjRlf=BkwQf5UHbPu`1B6US$3n)eUv5cy_rEJwGm$JhY61_2s>9su={}(SOi{FWV|4E-f%1kR;ccEBty9?Y?D zM=~Mqr(35T_~L!FalG~V!$4k1V~^(BDceNy|HkI3dHxSyz^y+wGj2h$g}j~@rpXP- z(6Hjdc`%wcMsZ!LbK}|dtqC}^JKOIhyCR(-`sU6G9>zx0TtsG~0CJ~R&&Qu&k4U^j z<}NR^RHmE1(|oPKuLI(WSg2I-e!-vjChoJ8$if6fM`v?yH*V{Nb3Y)Y&^`hzYf;m) zaN{s5pleJ^2>f5Hc{oXw7E9#+QX@%PJZ2H~m&hvd{Tk$agDYL|9K}v?dXeiVj|_ce z{hPMZx)?CI*=iBR3iY}4i>Vc$^!2;3lI;Ezh;AA=#~ty<ઌWC#&Q^q*6GWrex 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

>oO$ns)wOA5b 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 diff --git a/test/image/mocks/legend_title_click.json b/test/image/mocks/legend_title_click.json deleted file mode 100644 index 90f1d297bf7..00000000000 --- a/test/image/mocks/legend_title_click.json +++ /dev/null @@ -1,210 +0,0 @@ -{ - "config": { - "editable": false - }, - "data": [ - { - "name": "Series A1", - "y": [1, 2, 3], - "xaxis": "x", - "yaxis": "y", - "legendgroup": "Group A", - "legendgrouptitle": { "text": "Group A" } - }, - { - "name": "Series A2", - "y": [2, 3, 4], - "xaxis": "x", - "yaxis": "y", - "legendgroup": "Group A" - }, - { - "name": "Series B1", - "y": [3, 4, 5], - "xaxis": "x", - "yaxis": "y", - "legendgroup": "Group B", - "legendgrouptitle": { "text": "Group B" } - }, - { - "name": "Series C1", - "y": [5, 6, 7], - "xaxis": "x2", - "yaxis": "y2", - "legend": "legend2", - "legendgroup": "Group C", - "legendgrouptitle": { "text": "Group C" } - }, - { - "name": "Series C2", - "y": [6, 7, 8], - "xaxis": "x2", - "yaxis": "y2", - "legend": "legend2", - "legendgroup": "Group C" - }, - { - "name": "Series D1", - "y": [7, 8, 9], - "xaxis": "x3", - "yaxis": "y3", - "legend": "legend3" - }, - { - "name": "Series D2", - "y": [8, 9, 10], - "xaxis": "x3", - "yaxis": "y3", - "legend": "legend3" - }, - { - "name": "Series E1", - "y": [9, 10, 11], - "xaxis": "x4", - "yaxis": "y4", - "legend": "legend4" - }, - { - "name": "Series E2", - "y": [10, 11, 12], - "xaxis": "x4", - "yaxis": "y4", - "legend": "legend4" - }, - { - "name": "Series F1", - "y": [2, 4, 3], - "xaxis": "x", - "yaxis": "y", - "legend": "legend5" - }, - { - "name": "Series F2", - "y": [3, 5, 4], - "xaxis": "x", - "yaxis": "y", - "legend": "legend5" - } - ], - "layout": { - "title": { "text": "Legend Title Click Behaviors" }, - "width": 900, - "height": 700, - "grid": { "rows": 2, "columns": 2, "pattern": "independent" }, - "xaxis": { "domain": [0, 0.35] }, - "yaxis": { "domain": [0.55, 1] }, - "xaxis2": { "domain": [0, 0.35] }, - "yaxis2": { "domain": [0, 0.45] }, - "xaxis3": { "domain": [0.45, 0.8] }, - "yaxis3": { "domain": [0.55, 1] }, - "xaxis4": { "domain": [0.45, 0.8] }, - "yaxis4": { "domain": [0, 0.45] }, - "legend": { - "bgcolor": "rgba(200, 230, 255, 0.8)", - "title": { "text": "Default" }, - "x": 1.02, - "y": 1, - "xanchor": "left", - "titleclick": "toggle", - "titledoubleclick": "toggleothers", - "groupclick": "toggleitem" - }, - "legend2": { - "bgcolor": "rgba(255, 230, 200, 0.8)", - "title": { "text": "Swapped" }, - "x": 1.02, - "y": 0.7, - "xanchor": "left", - "titleclick": "toggleothers", - "titledoubleclick": "toggle" - }, - "legend3": { - "bgcolor": "rgba(230, 255, 200, 0.8)", - "title": { "text": "Single click disabled" }, - "x": 1.02, - "y": 0.4, - "xanchor": "left", - "titleclick": false, - "titledoubleclick": "toggleothers" - }, - "legend4": { - "bgcolor": "rgba(255, 200, 230, 0.8)", - "title": { "text": "Double click disabled" }, - "x": 1.02, - "y": 0.15, - "xanchor": "left", - "titleclick": "toggle", - "titledoubleclick": false - }, - "legend5": { - "bgcolor": "rgba(200, 200, 200, 0.8)", - "title": { "text": "Both disabled" }, - "x": 1.02, - "y": 0, - "xanchor": "left", - "yanchor": "bottom", - "titleclick": false, - "titledoubleclick": false - }, - "shapes": [ - { - "type": "rect", - "xref": "x", - "yref": "y", - "x0": 0.5, - "y0": 1.5, - "x1": 1.5, - "y1": 2.5, - "fillcolor": "rgba(100, 150, 255, 0.4)", - "line": { "color": "blue" }, - "name": "Shape A", - "showlegend": true, - "legend": "legend", - "legendgroup": "Group A" - }, - { - "type": "rect", - "xref": "x2", - "yref": "y2", - "x0": 0.5, - "y0": 5.5, - "x1": 1.5, - "y1": 6.5, - "fillcolor": "rgba(255, 180, 100, 0.4)", - "line": { "color": "orange" }, - "name": "Shape C", - "showlegend": true, - "legend": "legend2", - "legendgroup": "Group C" - }, - { - "type": "rect", - "xref": "x3", - "yref": "y3", - "x0": 0.5, - "y0": 7.5, - "x1": 1.5, - "y1": 8.5, - "fillcolor": "rgba(150, 255, 100, 0.4)", - "line": { "color": "green" }, - "name": "Shape D", - "showlegend": true, - "legend": "legend3" - }, - { - "type": "rect", - "xref": "x4", - "yref": "y4", - "x0": 0.5, - "y0": 9.5, - "x1": 1.5, - "y1": 10.5, - "fillcolor": "rgba(255, 100, 180, 0.4)", - "line": { "color": "magenta" }, - "name": "Shape E", - "showlegend": true, - "legend": "legend4" - } - ] - } -} From fdf1d653305d5e1bd2187ffba559e2906abeebf3 Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 5 Feb 2026 12:57:26 -0500 Subject: [PATCH 11/22] Move `getId()` to `helpers.js` --- src/components/legend/draw.js | 11 ++++------- src/components/legend/handle_click.js | 3 ++- src/components/legend/helpers.js | 4 ++++ 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 5ac11454c57..f9c449a99ea 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -83,7 +83,7 @@ function drawOne(gd, opts) { var legendObj = opts || {}; var fullLayout = gd._fullLayout; - var legendId = getId(legendObj); + var legendId = helpers.getId(legendObj); var clipId, layer; @@ -558,7 +558,7 @@ function clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) { } function drawTexts(g, gd, legendObj) { - var legendId = getId(legendObj); + var legendId = helpers.getId(legendObj); var legendItem = g.data()[0][0]; var trace = legendItem.trace; var isPieLike = Registry.traceIs(trace, 'pie-like'); @@ -772,7 +772,7 @@ function computeTextDimensions(g, gd, legendObj, aTitle) { var mathjaxGroup = g.select('g[class*=math-group]'); var mathjaxNode = mathjaxGroup.node(); - var legendId = getId(legendObj); + var legendId = helpers.getId(legendObj); if(!legendObj) { legendObj = gd._fullLayout[legendId]; } @@ -877,7 +877,7 @@ function getTitleSize(legendObj) { */ function computeLegendDimensions(gd, groups, traces, legendObj) { var fullLayout = gd._fullLayout; - var legendId = getId(legendObj); + var legendId = helpers.getId(legendObj); if(!legendObj) { legendObj = fullLayout[legendId]; } @@ -1137,6 +1137,3 @@ function getYanchor(legendObj) { 'top'; } -function getId(legendObj) { - return legendObj._id || 'legend'; -} diff --git a/src/components/legend/handle_click.js b/src/components/legend/handle_click.js index 3f4302d972b..6307edb78f1 100644 --- a/src/components/legend/handle_click.js +++ b/src/components/legend/handle_click.js @@ -3,6 +3,7 @@ var Registry = require('../../registry'); var Lib = require('../../lib'); var pushUnique = Lib.pushUnique; +var helpers = require('./helpers'); var SHOWISOLATETIP = true; @@ -277,7 +278,7 @@ exports.handleClick = function handleClick(g, gd, numClicks) { exports.handleTitleClick = function handleTitleClick(gd, legendObj, mode) { const fullLayout = gd._fullLayout; const fullData = gd._fullData; - const legendId = legendObj._id || 'legend'; + const legendId = helpers.getId(legendObj); const shapesWithLegend = (fullLayout.shapes || []).filter(function(d) { return d.showlegend; }); const allLegendItems = fullData.concat(shapesWithLegend); diff --git a/src/components/legend/helpers.js b/src/components/legend/helpers.js index 2e2c688db7f..38ad7353add 100644 --- a/src/components/legend/helpers.js +++ b/src/components/legend/helpers.js @@ -11,3 +11,7 @@ exports.isVertical = function isVertical(legendLayout) { exports.isReversed = function isReversed(legendLayout) { return (legendLayout.traceorder || '').indexOf('reversed') !== -1; }; + +exports.getId = function getId(legendObj) { + return legendObj._id || 'legend'; +}; From 0cde8081d6111a31a9a936ce0f54349a1df480f6 Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 5 Feb 2026 13:29:57 -0500 Subject: [PATCH 12/22] Refactor handleClick() signature to be consistent with handleTitleClick --- src/components/legend/draw.js | 16 ++++++++++++---- src/components/legend/handle_click.js | 22 +++++----------------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index f9c449a99ea..01089bebbd4 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -520,7 +520,14 @@ function getTraceWidth(d, legendObj, textGap) { } function clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) { + var fullLayout = gd._fullLayout; var trace = legendItem.data()[0][0].trace; + var legendId = trace.legend || 'legend'; + var legendObj = fullLayout[legendId]; + + var itemClick = legendObj.itemclick; + var itemDoubleClick = legendObj.itemdoubleclick; + var evtData = { event: evt, node: legendItem.node(), @@ -531,7 +538,7 @@ function clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) { frames: gd._transitionData._frames, config: gd._context, fullData: gd._fullData, - fullLayout: gd._fullLayout + fullLayout: fullLayout }; if(trace._group) { @@ -545,7 +552,7 @@ function clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) { if(clickVal === false) return; legend._clickTimeout = setTimeout(function() { if(!gd._fullLayout) return; - handleClick(legendItem, gd, numClicks); + if(itemClick) handleClick(legendItem, gd, legendObj, itemClick); }, gd._context.doubleClickDelay); } else if(numClicks === 2) { if(legend._clickTimeout) clearTimeout(legend._clickTimeout); @@ -553,7 +560,9 @@ function clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) { var dblClickVal = Events.triggerHandler(gd, 'plotly_legenddoubleclick', evtData); // Activate default double click behaviour only when both single click and double click values are not false - if(dblClickVal !== false && clickVal !== false) handleClick(legendItem, gd, numClicks); + if(dblClickVal !== false && clickVal !== false && itemDoubleClick) { + handleClick(legendItem, gd, legendObj, itemDoubleClick); + } } } @@ -1136,4 +1145,3 @@ function getYanchor(legendObj) { Lib.isMiddleAnchor(legendObj) ? 'middle' : 'top'; } - diff --git a/src/components/legend/handle_click.js b/src/components/legend/handle_click.js index 6307edb78f1..a3d531f406b 100644 --- a/src/components/legend/handle_click.js +++ b/src/components/legend/handle_click.js @@ -7,36 +7,24 @@ var helpers = require('./helpers'); var SHOWISOLATETIP = true; -exports.handleClick = function handleClick(g, gd, numClicks) { +exports.handleClick = function handleClick(g, gd, legendObj, mode) { var fullLayout = gd._fullLayout; if(gd._dragged || gd._editing) return; - - const legendItem = g.data()[0][0]; + var legendItem = g.data()[0][0]; if(legendItem.groupTitle && legendItem.noClick) return; - const legendId = legendItem.trace.legend || 'legend'; - const legendObj = fullLayout[legendId]; - - const itemClick = legendObj.itemclick; - const itemDoubleClick = legendObj.itemdoubleclick; - const groupClick = legendObj.groupclick; + var groupClick = legendObj.groupclick; - if(numClicks === 1 && itemClick === 'toggle' && itemDoubleClick === 'toggleothers' && + // Show isolate tip on first single click when default behavior is active + if(mode === 'toggle' && legendObj.itemdoubleclick === 'toggleothers' && SHOWISOLATETIP && gd.data && gd._context.showTips ) { Lib.notifier(Lib._(gd, 'Double-click on legend to isolate one trace'), 'long'); SHOWISOLATETIP = false; - } else { - SHOWISOLATETIP = false; } - var mode; - if(numClicks === 1) mode = itemClick; - else if(numClicks === 2) mode = itemDoubleClick; - if(!mode) return; - var toggleGroup = groupClick === 'togglegroup'; var hiddenSlices = fullLayout.hiddenlabels ? From 3a1336f330d669add178d8ed2e1df477e7dd28eb Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 5 Feb 2026 14:30:52 -0500 Subject: [PATCH 13/22] Add docstrings for `handleClick` and `handleTitleClick` --- src/components/legend/handle_click.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/components/legend/handle_click.js b/src/components/legend/handle_click.js index a3d531f406b..ab5dfb7b129 100644 --- a/src/components/legend/handle_click.js +++ b/src/components/legend/handle_click.js @@ -7,6 +7,16 @@ var helpers = require('./helpers'); var SHOWISOLATETIP = true; +/** + * Handles click actions on individual legend items. + * + * @param {object} g D3 selection of the legend item element + * @param {object} gd graph div + * @param {object} legendObj the legend object from fullLayout + * @param {string} mode toggle mode for the current action: 'toggle' | 'toggleothers' + * - 'toggle': Toggle visibility of this item (or group if groupclick is 'togglegroup') + * - 'toggleothers': Show only this item, hide all others (isolation mode) + */ exports.handleClick = function handleClick(g, gd, legendObj, mode) { var fullLayout = gd._fullLayout; @@ -263,6 +273,15 @@ exports.handleClick = function handleClick(g, gd, legendObj, mode) { } }; +/** + * Handles click actions on legend titles. + * + * @param {object} gd graph div (plot container) + * @param {object} legendObj the legend object from fullLayout + * @param {string} mode toggle mode for the current action: 'toggle' | 'toggleothers' + * - 'toggle': show/hide all items in this legend + * - 'toggleothers': isolate this legend (show its items, hide items in other legends) + */ exports.handleTitleClick = function handleTitleClick(gd, legendObj, mode) { const fullLayout = gd._fullLayout; const fullData = gd._fullData; From 42c40f60e2a84d5e3379e8ac7adf2bf7ec06a1eb Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 5 Feb 2026 15:53:33 -0500 Subject: [PATCH 14/22] Replace null value with early continue and skip non-displayed traces --- src/components/legend/handle_click.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/components/legend/handle_click.js b/src/components/legend/handle_click.js index ab5dfb7b129..080a5593f78 100644 --- a/src/components/legend/handle_click.js +++ b/src/components/legend/handle_click.js @@ -303,7 +303,6 @@ exports.handleTitleClick = function handleTitleClick(gd, legendObj, mode) { }); toggleThisLegend = !anyVisibleHere; - toggleOtherLegends = null; } else { // isolate this legend or set all legends to visible const anyVisibleElsewhere = allLegendItems.some(function(item) { @@ -321,11 +320,20 @@ exports.handleTitleClick = function handleTitleClick(gd, legendObj, mode) { for(var i = 0; i < allLegendItems.length; i++) { const item = allLegendItems[i]; - const shouldShow = isInLegend(item) ? toggleThisLegend : toggleOtherLegends; + const inThisLegend = isInLegend(item); + + // If item is not in this legend, skip if in toggle mode + // or if item is not displayed in the legend + if(!inThisLegend) { + const notDisplayed = (item.showlegend !== true && !item.legendgroup); + if(mode === 'toggle' || notDisplayed) continue; + } + + const shouldShow = inThisLegend ? toggleThisLegend : toggleOtherLegends; const newVis = shouldShow ? true : 'legendonly'; - // Only update if the item is visible and the visibility is different from the new visibility - if ((item.visible !== false) && (shouldShow !== null) && (item.visible !== newVis)) { + // Only update if visibility would actually change + if((item.visible !== false) && (item.visible !== newVis)) { if(item._isShape) { updatedShapes[item._index].visible = newVis; shapesUpdated = true; From 2b5d2af2f82483a78bc8dbf7115ac80963cb2b7a Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 5 Feb 2026 15:54:52 -0500 Subject: [PATCH 15/22] Rename `handleClick` to `handleItemClick` --- src/components/legend/draw.js | 6 +++--- src/components/legend/handle_click.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index 01089bebbd4..f02b12b3467 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -10,7 +10,7 @@ var dragElement = require('../dragelement'); var Drawing = require('../drawing'); var Color = require('../color'); var svgTextUtils = require('../../lib/svg_text_utils'); -var handleClick = require('./handle_click').handleClick; +var handleItemClick = require('./handle_click').handleItemClick; var handleTitleClick = require('./handle_click').handleTitleClick; var constants = require('./constants'); @@ -552,7 +552,7 @@ function clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) { if(clickVal === false) return; legend._clickTimeout = setTimeout(function() { if(!gd._fullLayout) return; - if(itemClick) handleClick(legendItem, gd, legendObj, itemClick); + if(itemClick) handleItemClick(legendItem, gd, legendObj, itemClick); }, gd._context.doubleClickDelay); } else if(numClicks === 2) { if(legend._clickTimeout) clearTimeout(legend._clickTimeout); @@ -561,7 +561,7 @@ function clickOrDoubleClick(gd, legend, legendItem, numClicks, evt) { var dblClickVal = Events.triggerHandler(gd, 'plotly_legenddoubleclick', evtData); // Activate default double click behaviour only when both single click and double click values are not false if(dblClickVal !== false && clickVal !== false && itemDoubleClick) { - handleClick(legendItem, gd, legendObj, itemDoubleClick); + handleItemClick(legendItem, gd, legendObj, itemDoubleClick); } } } diff --git a/src/components/legend/handle_click.js b/src/components/legend/handle_click.js index 080a5593f78..23c71bfbdaa 100644 --- a/src/components/legend/handle_click.js +++ b/src/components/legend/handle_click.js @@ -17,7 +17,7 @@ var SHOWISOLATETIP = true; * - 'toggle': Toggle visibility of this item (or group if groupclick is 'togglegroup') * - 'toggleothers': Show only this item, hide all others (isolation mode) */ -exports.handleClick = function handleClick(g, gd, legendObj, mode) { +exports.handleItemClick = function handleItemClick(g, gd, legendObj, mode) { var fullLayout = gd._fullLayout; if(gd._dragged || gd._editing) return; From 6cbdb49449b52ae1ee678f354ac84affa923903d Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 5 Feb 2026 15:56:37 -0500 Subject: [PATCH 16/22] Test legend title click attributes with non-default values --- test/jasmine/tests/legend_test.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test/jasmine/tests/legend_test.js b/test/jasmine/tests/legend_test.js index a6099aafd80..907e1503923 100644 --- a/test/jasmine/tests/legend_test.js +++ b/test/jasmine/tests/legend_test.js @@ -2879,12 +2879,12 @@ describe('legend title click', function() { ], { legend: { title: { text: 'Legend' }, - titleclick: 'toggle', - titledoubleclick: false + titleclick: 'toggleothers', + titledoubleclick: 'toggle' } }).then(function() { - expect(gd._fullLayout.legend.titleclick).toBe('toggle'); - expect(gd._fullLayout.legend.titledoubleclick).toBe(false); + expect(gd._fullLayout.legend.titleclick).toBe('toggleothers'); + expect(gd._fullLayout.legend.titledoubleclick).toBe('toggle'); }).then(done, done.fail); }); }); From 6f6fd91a256aaddae1f6fdd6a295dda92ff1f86b Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Fri, 6 Feb 2026 14:28:42 -0500 Subject: [PATCH 17/22] Move titleToggle positioning into computeLegendDimensions --- src/components/legend/draw.js | 50 +++++++++++++++-------------------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/src/components/legend/draw.js b/src/components/legend/draw.js index f02b12b3467..c50ce2e58d4 100644 --- a/src/components/legend/draw.js +++ b/src/components/legend/draw.js @@ -238,22 +238,14 @@ function drawOne(gd, opts) { Lib.syncOrAsync([ Plots.previousPromises, - function() { return computeLegendDimensions(gd, groups, traces, legendObj); }, + function() { return computeLegendDimensions(gd, groups, traces, legendObj, scrollBox); }, function() { var gs = fullLayout._size; var bw = legendObj.borderwidth; var isPaperX = legendObj.xref === 'paper'; var isPaperY = legendObj.yref === 'paper'; - // re-calculate title position after legend width is derived. To allow for horizontal alignment if(title.text) { - horizontalAlignTitle(titleEl, legendObj, bw); - - // Position click target for the title after dimensions are computed - if(!inHover && (legendObj.titleclick || legendObj.titledoubleclick)) { - positionTitleToggle(scrollBox, legendObj, legendId); - } - // Toggle opacity of legend titles if all items in the legend are hidden const shapes = (fullLayout.shapes || []).filter(function(s) { return s.showlegend; }); const anyVisible = gd._fullData.concat(shapes).some(function(item) { @@ -740,25 +732,6 @@ function setupTitleToggle(scrollBox, gd, legendObj, legendId) { }); } -function positionTitleToggle(scrollBox, legendObj, legendId) { - const titleToggle = scrollBox.select('.' + legendId + 'titletoggle'); - if(!titleToggle.size()) return; - - const side = legendObj.title.side || 'top'; - const bw = legendObj.borderwidth; - var x = bw; - const width = legendObj._titleWidth + 2 * constants.titlePad; - const height = legendObj._titleHeight + 2 * constants.titlePad; - - - if(side === 'top center') { - x = bw + 0.5 * (legendObj._width - 2 * bw - width); - } else if(side === 'top right') { - x = legendObj._width - bw - width; - } - - titleToggle.attr({ x: x, y: bw, width: width, height: height }); -} function textLayout(s, g, gd, legendObj, aTitle) { if(legendObj._inHover) s.attr('data-notex', true); // do not process MathJax for unified hover @@ -884,7 +857,7 @@ function getTitleSize(legendObj) { * - _width: legend width * - _maxWidth (for orientation:h only): maximum width before starting new row */ -function computeLegendDimensions(gd, groups, traces, legendObj) { +function computeLegendDimensions(gd, groups, traces, legendObj, scrollBox) { var fullLayout = gd._fullLayout; var legendId = helpers.getId(legendObj); if(!legendObj) { @@ -1091,6 +1064,25 @@ function computeLegendDimensions(gd, groups, traces, legendObj) { } Drawing.setRect(traceToggle, 0, -h / 2, w, h); }); + + // align legend title horizontally + var titleEl = scrollBox.select('.' + legendId + 'titletext'); + if(titleEl.node()) { + horizontalAlignTitle(titleEl, legendObj, bw); + } + + // position title click target to cover the title text, parallel to traceToggle above + var titleToggle = scrollBox.select('.' + legendId + 'titletoggle'); + if(titleToggle.size() && titleEl.node()) { + var titleX = titleEl.attr('x') || 0; + var pad = constants.titlePad; + Drawing.setRect(titleToggle, + titleX - pad, + bw, + legendObj._titleWidth + 2 * pad, + legendObj._titleHeight + 2 * pad + ); + } } function expandMargin(gd, legendId, lx, ly) { From e3a068e39b15d2202aa9ee8df80910264e0c5c66 Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Wed, 11 Feb 2026 21:09:37 -0500 Subject: [PATCH 18/22] Fix group title click resolving to wrong legend by adding missing legend property --- src/components/legend/attributes.js | 6 ++++-- src/components/legend/get_legend_data.js | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/legend/attributes.js b/src/components/legend/attributes.js index 6a08a1bb31e..fc68e19de1a 100644 --- a/src/components/legend/attributes.js +++ b/src/components/legend/attributes.js @@ -185,7 +185,8 @@ module.exports = { '*toggle* toggles the visibility of all items in the legend.', '*toggleothers* toggles the visibility of all other legends.', '*false* disables legend title click interactions.', - 'Defaults to *toggle* when there are multiple legends, *false* otherwise.' + 'Defaults to *toggle* when there are multiple legends, *false* otherwise.', + 'Does not work for legends containing pie and pie-like traces.' ].join(' ') }, titledoubleclick: { @@ -197,7 +198,8 @@ module.exports = { '*toggle* toggles the visibility of all items in the legend.', '*toggleothers* toggles the visibility of all other legends.', '*false* disables legend title double-click interactions.', - 'Defaults to *toggleothers* when there are multiple legends, *false* otherwise.' + 'Defaults to *toggleothers* when there are multiple legends, *false* otherwise.', + 'Does not currently work for legends containing pie and pie-like traces.' ].join(' ') }, x: { diff --git a/src/components/legend/get_legend_data.js b/src/components/legend/get_legend_data.js index c389ad4d726..ba32065c802 100644 --- a/src/components/legend/get_legend_data.js +++ b/src/components/legend/get_legend_data.js @@ -164,6 +164,7 @@ module.exports = function getLegendData(calcdata, opts, hasMultipleLegends) { trace: { showlegend: firstItemTrace.showlegend, legendgroup: firstItemTrace.legendgroup, + legend: firstItemTrace.legend, visible: opts.groupclick === 'toggleitem' ? true : firstItemTrace.visible } }); From 28990fbd0a10e0c01928e004ecee82f86f891a65 Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Thu, 12 Feb 2026 10:40:33 -0500 Subject: [PATCH 19/22] Update schema --- test/plot-schema.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/plot-schema.json b/test/plot-schema.json index e753455cb7f..c093e0ba9a8 100644 --- a/test/plot-schema.json +++ b/test/plot-schema.json @@ -3582,7 +3582,7 @@ } }, "titleclick": { - "description": "Determines the behavior on legend title click. *toggle* toggles the visibility of all items in the legend. *toggleothers* toggles the visibility of all other legends. *false* disables legend title click interactions. Defaults to *toggle* when there are multiple legends, *false* otherwise.", + "description": "Determines the behavior on legend title click. *toggle* toggles the visibility of all items in the legend. *toggleothers* toggles the visibility of all other legends. *false* disables legend title click interactions. Defaults to *toggle* when there are multiple legends, *false* otherwise. Does not work for legends containing pie and pie-like traces.", "editType": "legend", "valType": "enumerated", "values": [ @@ -3592,7 +3592,7 @@ ] }, "titledoubleclick": { - "description": "Determines the behavior on legend title double-click. *toggle* toggles the visibility of all items in the legend. *toggleothers* toggles the visibility of all other legends. *false* disables legend title double-click interactions. Defaults to *toggleothers* when there are multiple legends, *false* otherwise.", + "description": "Determines the behavior on legend title double-click. *toggle* toggles the visibility of all items in the legend. *toggleothers* toggles the visibility of all other legends. *false* disables legend title double-click interactions. Defaults to *toggleothers* when there are multiple legends, *false* otherwise. Does not currently work for legends containing pie and pie-like traces.", "editType": "legend", "valType": "enumerated", "values": [ From a9809d23ffd9f0f8f5585c97ca81e39b84f49a31 Mon Sep 17 00:00:00 2001 From: Alex Hsu <42301846+alexshoe@users.noreply.github.com> Date: Wed, 18 Feb 2026 12:55:06 -0500 Subject: [PATCH 20/22] Update src/components/legend/attributes.js Co-authored-by: Emily KL <4672118+emilykl@users.noreply.github.com> --- src/components/legend/attributes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/legend/attributes.js b/src/components/legend/attributes.js index fc68e19de1a..1faf0dfbf7a 100644 --- a/src/components/legend/attributes.js +++ b/src/components/legend/attributes.js @@ -186,7 +186,7 @@ module.exports = { '*toggleothers* toggles the visibility of all other legends.', '*false* disables legend title click interactions.', 'Defaults to *toggle* when there are multiple legends, *false* otherwise.', - 'Does not work for legends containing pie and pie-like traces.' + 'Not supported for legends containing pie and pie-like traces.' ].join(' ') }, titledoubleclick: { From 1fc81deff4f8f97468f7ef2d0504f03b4fa7f209 Mon Sep 17 00:00:00 2001 From: Alex Hsu <42301846+alexshoe@users.noreply.github.com> Date: Wed, 18 Feb 2026 12:55:15 -0500 Subject: [PATCH 21/22] Update src/components/legend/attributes.js Co-authored-by: Emily KL <4672118+emilykl@users.noreply.github.com> --- src/components/legend/attributes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/legend/attributes.js b/src/components/legend/attributes.js index 1faf0dfbf7a..3fb8e5781e9 100644 --- a/src/components/legend/attributes.js +++ b/src/components/legend/attributes.js @@ -199,7 +199,7 @@ module.exports = { '*toggleothers* toggles the visibility of all other legends.', '*false* disables legend title double-click interactions.', 'Defaults to *toggleothers* when there are multiple legends, *false* otherwise.', - 'Does not currently work for legends containing pie and pie-like traces.' + 'Not supported for legends containing pie and pie-like traces.' ].join(' ') }, x: { From f820e7ff5b3b93f41b997303a72abb38a24e9042 Mon Sep 17 00:00:00 2001 From: Alex Hsu Date: Wed, 18 Feb 2026 15:25:43 -0500 Subject: [PATCH 22/22] Modify baseline images and update schema --- test/image/baselines/zz-pie-slice-legend.png | Bin 27143 -> 27130 bytes test/image/baselines/zz-pie-slice-legend2.png | Bin 27606 -> 27585 bytes test/image/baselines/zz-pie-slice-legend3.png | Bin 21105 -> 21055 bytes test/plot-schema.json | 4 ++-- 4 files changed, 2 insertions(+), 2 deletions(-) diff --git a/test/image/baselines/zz-pie-slice-legend.png b/test/image/baselines/zz-pie-slice-legend.png index 2f9ae6a164150fe5abdb1d8572535a93e80a1a65..bc9584f2dabd7ae066f325f0d10b3041ee2cb293 100644 GIT binary patch literal 27130 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 literal 27143 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 diff --git a/test/image/baselines/zz-pie-slice-legend2.png b/test/image/baselines/zz-pie-slice-legend2.png index 89adfd0506d3976880b965d54d164f180ed924fa..1476fd7b4872d784950be58343cceef1829846b0 100644 GIT binary patch literal 27585 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