Skip to content

Hotfix: clean up visible false scatter trace - #920

Merged
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter
Sep 9, 2016
Merged

Hotfix: clean up visible false scatter trace#920
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter

Conversation

@etpinard

@etpinardetpinard commented Sep 8, 2016

Copy link
Copy Markdown
Contributor

Setting all scatter traces to visible: false on a given graph at once (e.g. by Plotly.restyle(gd, 'visible', false); is currently broken in master and v1.17.0 ever since commit 57892ed of PR #802. By broken, I meant the visible: false traces remain visible on the graph after the update.

As of 57892ed, scatter traces aren't purged in the cartesian subplot plot step (see here), meaning that the Scatter trace module takes the responsibility of cleaning up visible: false traces - which works fine except when all scatter traces are simultaneously gone. In this case, fullLayout._modules does not contain the Scatter module here and Scatter.plot is not called here.

I'm starting to think that we are not correctly handling visible: false starting from the trace supplyDefaults. Changing that will be a bigger project that I'd call too ambitious for a patch release. So, I propose this fix that uses the plots.cleanPlot step.

@rreusser

- as of PR #802, scatter traces are no longer purged
in the per-subplot cartesian plot step - to maintain
consistency between transitions.
- While the scatter plot module can remove individual
'visible: false' traces, when all scatter traces are restyled
to 'visible: false' the scatter plot module is currently not called!
}
}
}
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@mdtusz

Copy link
Copy Markdown
Contributor

Agreed on changing the supplyDefaults step there - we should ensure that each trace has the same "structure" so that will be a good future fix.

💃 from me.

@etpinard
etpinard merged commit 923797a into masterSep 9, 2016
@etpinard
etpinard deleted the hotfix-visible-false-scatter branch September 9, 2016 16:38
@rreusserrreusser mentioned this pull request Sep 12, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugsomething broken

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@etpinard@mdtusz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Hotfix: clean up visible false scatter trace by etpinard · Pull Request #920 · plotly/plotly.js · GitHub
Skip to content

Hotfix: clean up visible false scatter trace - #920

Merged
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter
Sep 9, 2016
Merged

Hotfix: clean up visible false scatter trace#920
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter

Conversation

@etpinard

@etpinardetpinard commented Sep 8, 2016

Copy link
Copy Markdown
Contributor

Setting all scatter traces to visible: false on a given graph at once (e.g. by Plotly.restyle(gd, 'visible', false); is currently broken in master and v1.17.0 ever since commit 57892ed of PR #802. By broken, I meant the visible: false traces remain visible on the graph after the update.

As of 57892ed, scatter traces aren't purged in the cartesian subplot plot step (see here), meaning that the Scatter trace module takes the responsibility of cleaning up visible: false traces - which works fine except when all scatter traces are simultaneously gone. In this case, fullLayout._modules does not contain the Scatter module here and Scatter.plot is not called here.

I'm starting to think that we are not correctly handling visible: false starting from the trace supplyDefaults. Changing that will be a bigger project that I'd call too ambitious for a patch release. So, I propose this fix that uses the plots.cleanPlot step.

@rreusser

- as of PR #802, scatter traces are no longer purged
in the per-subplot cartesian plot step - to maintain
consistency between transitions.
- While the scatter plot module can remove individual
'visible: false' traces, when all scatter traces are restyled
to 'visible: false' the scatter plot module is currently not called!
}
}
}
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@mdtusz

Copy link
Copy Markdown
Contributor

Agreed on changing the supplyDefaults step there - we should ensure that each trace has the same "structure" so that will be a good future fix.

💃 from me.

@etpinard
etpinard merged commit 923797a into masterSep 9, 2016
@etpinard
etpinard deleted the hotfix-visible-false-scatter branch September 9, 2016 16:38
@rreusserrreusser mentioned this pull request Sep 12, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugsomething broken

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@etpinard@mdtusz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Hotfix: clean up visible false scatter trace by etpinard · Pull Request #920 · plotly/plotly.js · GitHub
Skip to content

Hotfix: clean up visible false scatter trace - #920

Merged
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter
Sep 9, 2016
Merged

Hotfix: clean up visible false scatter trace#920
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter

Conversation

@etpinard

@etpinardetpinard commented Sep 8, 2016

Copy link
Copy Markdown
Contributor

Setting all scatter traces to visible: false on a given graph at once (e.g. by Plotly.restyle(gd, 'visible', false); is currently broken in master and v1.17.0 ever since commit 57892ed of PR #802. By broken, I meant the visible: false traces remain visible on the graph after the update.

As of 57892ed, scatter traces aren't purged in the cartesian subplot plot step (see here), meaning that the Scatter trace module takes the responsibility of cleaning up visible: false traces - which works fine except when all scatter traces are simultaneously gone. In this case, fullLayout._modules does not contain the Scatter module here and Scatter.plot is not called here.

I'm starting to think that we are not correctly handling visible: false starting from the trace supplyDefaults. Changing that will be a bigger project that I'd call too ambitious for a patch release. So, I propose this fix that uses the plots.cleanPlot step.

@rreusser

- as of PR #802, scatter traces are no longer purged
in the per-subplot cartesian plot step - to maintain
consistency between transitions.
- While the scatter plot module can remove individual
'visible: false' traces, when all scatter traces are restyled
to 'visible: false' the scatter plot module is currently not called!
}
}
}
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@mdtusz

Copy link
Copy Markdown
Contributor

Agreed on changing the supplyDefaults step there - we should ensure that each trace has the same "structure" so that will be a good future fix.

💃 from me.

@etpinard
etpinard merged commit 923797a into masterSep 9, 2016
@etpinard
etpinard deleted the hotfix-visible-false-scatter branch September 9, 2016 16:38
@rreusserrreusser mentioned this pull request Sep 12, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugsomething broken

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@etpinard@mdtusz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Hotfix: clean up visible false scatter trace by etpinard · Pull Request #920 · plotly/plotly.js · GitHub
Skip to content

Hotfix: clean up visible false scatter trace - #920

Merged
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter
Sep 9, 2016
Merged

Hotfix: clean up visible false scatter trace#920
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter

Conversation

@etpinard

@etpinardetpinard commented Sep 8, 2016

Copy link
Copy Markdown
Contributor

Setting all scatter traces to visible: false on a given graph at once (e.g. by Plotly.restyle(gd, 'visible', false); is currently broken in master and v1.17.0 ever since commit 57892ed of PR #802. By broken, I meant the visible: false traces remain visible on the graph after the update.

As of 57892ed, scatter traces aren't purged in the cartesian subplot plot step (see here), meaning that the Scatter trace module takes the responsibility of cleaning up visible: false traces - which works fine except when all scatter traces are simultaneously gone. In this case, fullLayout._modules does not contain the Scatter module here and Scatter.plot is not called here.

I'm starting to think that we are not correctly handling visible: false starting from the trace supplyDefaults. Changing that will be a bigger project that I'd call too ambitious for a patch release. So, I propose this fix that uses the plots.cleanPlot step.

@rreusser

- as of PR #802, scatter traces are no longer purged
in the per-subplot cartesian plot step - to maintain
consistency between transitions.
- While the scatter plot module can remove individual
'visible: false' traces, when all scatter traces are restyled
to 'visible: false' the scatter plot module is currently not called!
}
}
}
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@mdtusz

Copy link
Copy Markdown
Contributor

Agreed on changing the supplyDefaults step there - we should ensure that each trace has the same "structure" so that will be a good future fix.

💃 from me.

@etpinard
etpinard merged commit 923797a into masterSep 9, 2016
@etpinard
etpinard deleted the hotfix-visible-false-scatter branch September 9, 2016 16:38
@rreusserrreusser mentioned this pull request Sep 12, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugsomething broken

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@etpinard@mdtusz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Hotfix: clean up visible false scatter trace by etpinard · Pull Request #920 · plotly/plotly.js · GitHub
Skip to content

Hotfix: clean up visible false scatter trace - #920

Merged
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter
Sep 9, 2016
Merged

Hotfix: clean up visible false scatter trace#920
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter

Conversation

@etpinard

@etpinardetpinard commented Sep 8, 2016

Copy link
Copy Markdown
Contributor

Setting all scatter traces to visible: false on a given graph at once (e.g. by Plotly.restyle(gd, 'visible', false); is currently broken in master and v1.17.0 ever since commit 57892ed of PR #802. By broken, I meant the visible: false traces remain visible on the graph after the update.

As of 57892ed, scatter traces aren't purged in the cartesian subplot plot step (see here), meaning that the Scatter trace module takes the responsibility of cleaning up visible: false traces - which works fine except when all scatter traces are simultaneously gone. In this case, fullLayout._modules does not contain the Scatter module here and Scatter.plot is not called here.

I'm starting to think that we are not correctly handling visible: false starting from the trace supplyDefaults. Changing that will be a bigger project that I'd call too ambitious for a patch release. So, I propose this fix that uses the plots.cleanPlot step.

@rreusser

- as of PR #802, scatter traces are no longer purged
in the per-subplot cartesian plot step - to maintain
consistency between transitions.
- While the scatter plot module can remove individual
'visible: false' traces, when all scatter traces are restyled
to 'visible: false' the scatter plot module is currently not called!
}
}
}
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@mdtusz

Copy link
Copy Markdown
Contributor

Agreed on changing the supplyDefaults step there - we should ensure that each trace has the same "structure" so that will be a good future fix.

💃 from me.

@etpinard
etpinard merged commit 923797a into masterSep 9, 2016
@etpinard
etpinard deleted the hotfix-visible-false-scatter branch September 9, 2016 16:38
@rreusserrreusser mentioned this pull request Sep 12, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugsomething broken

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@etpinard@mdtusz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Hotfix: clean up visible false scatter trace by etpinard · Pull Request #920 · plotly/plotly.js · GitHub
Skip to content

Hotfix: clean up visible false scatter trace - #920

Merged
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter
Sep 9, 2016
Merged

Hotfix: clean up visible false scatter trace#920
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter

Conversation

@etpinard

@etpinardetpinard commented Sep 8, 2016

Copy link
Copy Markdown
Contributor

Setting all scatter traces to visible: false on a given graph at once (e.g. by Plotly.restyle(gd, 'visible', false); is currently broken in master and v1.17.0 ever since commit 57892ed of PR #802. By broken, I meant the visible: false traces remain visible on the graph after the update.

As of 57892ed, scatter traces aren't purged in the cartesian subplot plot step (see here), meaning that the Scatter trace module takes the responsibility of cleaning up visible: false traces - which works fine except when all scatter traces are simultaneously gone. In this case, fullLayout._modules does not contain the Scatter module here and Scatter.plot is not called here.

I'm starting to think that we are not correctly handling visible: false starting from the trace supplyDefaults. Changing that will be a bigger project that I'd call too ambitious for a patch release. So, I propose this fix that uses the plots.cleanPlot step.

@rreusser

- as of PR #802, scatter traces are no longer purged
in the per-subplot cartesian plot step - to maintain
consistency between transitions.
- While the scatter plot module can remove individual
'visible: false' traces, when all scatter traces are restyled
to 'visible: false' the scatter plot module is currently not called!
}
}
}
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@mdtusz

Copy link
Copy Markdown
Contributor

Agreed on changing the supplyDefaults step there - we should ensure that each trace has the same "structure" so that will be a good future fix.

💃 from me.

@etpinard
etpinard merged commit 923797a into masterSep 9, 2016
@etpinard
etpinard deleted the hotfix-visible-false-scatter branch September 9, 2016 16:38
@rreusserrreusser mentioned this pull request Sep 12, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugsomething broken

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@etpinard@mdtusz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Hotfix: clean up visible false scatter trace by etpinard · Pull Request #920 · plotly/plotly.js · GitHub
Skip to content

Hotfix: clean up visible false scatter trace - #920

Merged
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter
Sep 9, 2016
Merged

Hotfix: clean up visible false scatter trace#920
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter

Conversation

@etpinard

@etpinardetpinard commented Sep 8, 2016

Copy link
Copy Markdown
Contributor

Setting all scatter traces to visible: false on a given graph at once (e.g. by Plotly.restyle(gd, 'visible', false); is currently broken in master and v1.17.0 ever since commit 57892ed of PR #802. By broken, I meant the visible: false traces remain visible on the graph after the update.

As of 57892ed, scatter traces aren't purged in the cartesian subplot plot step (see here), meaning that the Scatter trace module takes the responsibility of cleaning up visible: false traces - which works fine except when all scatter traces are simultaneously gone. In this case, fullLayout._modules does not contain the Scatter module here and Scatter.plot is not called here.

I'm starting to think that we are not correctly handling visible: false starting from the trace supplyDefaults. Changing that will be a bigger project that I'd call too ambitious for a patch release. So, I propose this fix that uses the plots.cleanPlot step.

@rreusser

- as of PR #802, scatter traces are no longer purged
in the per-subplot cartesian plot step - to maintain
consistency between transitions.
- While the scatter plot module can remove individual
'visible: false' traces, when all scatter traces are restyled
to 'visible: false' the scatter plot module is currently not called!
}
}
}
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@mdtusz

Copy link
Copy Markdown
Contributor

Agreed on changing the supplyDefaults step there - we should ensure that each trace has the same "structure" so that will be a good future fix.

💃 from me.

@etpinard
etpinard merged commit 923797a into masterSep 9, 2016
@etpinard
etpinard deleted the hotfix-visible-false-scatter branch September 9, 2016 16:38
@rreusserrreusser mentioned this pull request Sep 12, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugsomething broken

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@etpinard@mdtusz
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Hotfix: clean up visible false scatter trace by etpinard · Pull Request #920 · plotly/plotly.js · GitHub
Skip to content

Hotfix: clean up visible false scatter trace - #920

Merged
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter
Sep 9, 2016
Merged

Hotfix: clean up visible false scatter trace#920
etpinard merged 3 commits into
masterfrom
hotfix-visible-false-scatter

Conversation

@etpinard

@etpinardetpinard commented Sep 8, 2016

Copy link
Copy Markdown
Contributor

Setting all scatter traces to visible: false on a given graph at once (e.g. by Plotly.restyle(gd, 'visible', false); is currently broken in master and v1.17.0 ever since commit 57892ed of PR #802. By broken, I meant the visible: false traces remain visible on the graph after the update.

As of 57892ed, scatter traces aren't purged in the cartesian subplot plot step (see here), meaning that the Scatter trace module takes the responsibility of cleaning up visible: false traces - which works fine except when all scatter traces are simultaneously gone. In this case, fullLayout._modules does not contain the Scatter module here and Scatter.plot is not called here.

I'm starting to think that we are not correctly handling visible: false starting from the trace supplyDefaults. Changing that will be a bigger project that I'd call too ambitious for a patch release. So, I propose this fix that uses the plots.cleanPlot step.

@rreusser

- as of PR #802, scatter traces are no longer purged
in the per-subplot cartesian plot step - to maintain
consistency between transitions.
- While the scatter plot module can remove individual
'visible: false' traces, when all scatter traces are restyled
to 'visible: false' the scatter plot module is currently not called!
}
}
}
};

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯

@mdtusz

Copy link
Copy Markdown
Contributor

Agreed on changing the supplyDefaults step there - we should ensure that each trace has the same "structure" so that will be a good future fix.

💃 from me.

@etpinard
etpinard merged commit 923797a into masterSep 9, 2016
@etpinard
etpinard deleted the hotfix-visible-false-scatter branch September 9, 2016 16:38
@rreusserrreusser mentioned this pull request Sep 12, 2016
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugsomething broken

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@etpinard@mdtusz