') + ')', '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('^' + ".*" + ', '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" + ', '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('^' + ".*" + ', '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); } })(); })(); Attempt resolving conflicts in Pull 2911 by archmoj · Pull Request #2 · jonmmease/plotly.js · GitHub
Skip to content

Attempt resolving conflicts in Pull 2911 - #2

Closed
archmoj wants to merge 4823 commits into
jonmmease:typedArrayEncodingfrom
plotly:pull-2911_res-conflicts
Closed

Attempt resolving conflicts in Pull 2911#2
archmoj wants to merge 4823 commits into
jonmmease:typedArrayEncodingfrom
plotly:pull-2911_res-conflicts

Conversation

@archmoj

Copy link
Copy Markdown

Added two commits to help resolve conflicts in plotly#2911

@jonmmease
cc: @plotly_js

archmojand others added 30 commits May 2, 2020 01:50
Apply and ensure stroke event only to activate editable shapes
Handle rangebreak gaps in `candlestick` & `ohlc`
- remove duplicate points from heatmap mocks
archmojand others added 26 commits July 28, 2020 17:57
- support formatting options e.g. quarters, weeks and weekdays
- update description link to list various time format options
Upgrade d3 time format to expose new formatting options for weekdays, weeks and quarters
- and resolved conflicts in
- package.json
- src/lib/index.js
- src/lib/is_array.js
- src/plot_api/index.js
@jonmmease

Copy link
Copy Markdown
Owner

Thanks for resurrecting this @archmoj.

How do you and @alexcjohnson feel about including the Plotly.encode/Plotly.decode methods in Plotly.js at this point?

@jonmmease

Copy link
Copy Markdown
Owner

Something else I would want to add to the encoded representation would be a shape attribute that holds the shape of the input array:

Here is the interpretation I was picturing:

  • If shape is a scalar number, then decode into a TypedArray. This is the current behavior of the PR.
  • If shape is an array of N numbers, then decode into an N dimensional ndarray. Assume and document whatever winding order is most natural for use with ndarray library.

Then to make use of this in Plotly.js:

  • Update heatmap and image traces to accept 2D ndarrays.
  • Update isosurface and volume traces to accept 3D ndarrays.

@archmojarchmoj closed this Jun 26, 2021
@archmoj
archmoj deleted the pull-2911_res-conflicts branch June 26, 2021 14:37
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants

@archmoj@jonmmease@alexcjohnson@MaksimLysakou@cy6eria@justin-sleep@jbampton@rio-yo@mtgto@priyanomi