Skip to content

Add config options in plot schema - #3376

Merged
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema
Jan 16, 2019
Merged

Add config options in plot schema#3376
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema

Conversation

@etpinard

Copy link
Copy Markdown
Contributor

resolves#2703

Unlike #1188, this PR doesn't try to make the config options (or attributes?) compatible with Lib.coerce. Instead, this PR just lists valType and description fields for all the config options and formats them into the schema. Here, the default config "object" stays the same, hence there's no breakage in the behaviour.

Go to https://22282-45646037-gh.circle-artifacts.com/0/plot-schema.json and <ctrl-f> for "config": to see the results.

cc @plotly/plotly_js

@etpinardetpinard added this to the 1.44.0 milestone Dec 27, 2018
@etpinard

Copy link
Copy Markdown
ContributorAuthor

... @archmoj would you mind taking a look at this one at some point this week?

@archmoj

Copy link
Copy Markdown
Contributor

This one is also interesting to review. Thanks @etpinard.

@archmojarchmoj left a comment

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.

Great PR.
I was wondering it may be useful for the users to have the plotly.js version written in the plot-schema.json.
Thanks @etpinard.

Comment threadsrc/plot_api/plot_config.js

queueLength: {
valType: 'integer',
min: 0,

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.

It may be useful to have a max for this.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Currently the Queue logic has no limit to the number of items.

You're right though, there should probably be a max, but as this is deprecated code, I'll pass.

].join(' ')
},

scrollZoom: {

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.

We may apply the changes to this attribute from other PR #3422:

scrollZoom: {
valType: 'flaglist',
flags: ['cartesian','gl3d','geo','mapbox'],
extras: [true,false],
dflt: 'gl3d+geo+mapbox',
description: [
'Determines whether mouse wheel or two-finger scroll zooms is enable.',
'Turned on by default for gl3d, geo and mapbox subplots',
'(as these subplot types do not have zoombox via pan),',
'but turned off by default for cartesian subplots.',
'Set `scrollZoom` to *false* to disable scrolling for all subplots.'
].join(' ')
},

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, I'm planning on merging #3422 into this PR.

Comment threadsrc/plot_api/plot_config.js Outdated
Comment threadsrc/plot_api/plot_config.js Outdated
@etpinard

Copy link
Copy Markdown
ContributorAuthor

got a in-person 💃 from @archmoj - merging!

@etpinard
etpinard merged commit cb9f9b0 into masterJan 16, 2019
@etpinard
etpinard deleted the config-opts-in-plot-schema branch January 16, 2019 19:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featuresomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include valid config attributes with plot schema

2 participants

@etpinard@archmoj
, '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" + '
Add config options in plot schema by etpinard · Pull Request #3376 · plotly/plotly.js · GitHub
Skip to content

Add config options in plot schema - #3376

Merged
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema
Jan 16, 2019
Merged

Add config options in plot schema#3376
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema

Conversation

@etpinard

Copy link
Copy Markdown
Contributor

resolves#2703

Unlike #1188, this PR doesn't try to make the config options (or attributes?) compatible with Lib.coerce. Instead, this PR just lists valType and description fields for all the config options and formats them into the schema. Here, the default config "object" stays the same, hence there's no breakage in the behaviour.

Go to https://22282-45646037-gh.circle-artifacts.com/0/plot-schema.json and <ctrl-f> for "config": to see the results.

cc @plotly/plotly_js

@etpinardetpinard added this to the 1.44.0 milestone Dec 27, 2018
@etpinard

Copy link
Copy Markdown
ContributorAuthor

... @archmoj would you mind taking a look at this one at some point this week?

@archmoj

Copy link
Copy Markdown
Contributor

This one is also interesting to review. Thanks @etpinard.

@archmojarchmoj left a comment

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.

Great PR.
I was wondering it may be useful for the users to have the plotly.js version written in the plot-schema.json.
Thanks @etpinard.

Comment threadsrc/plot_api/plot_config.js

queueLength: {
valType: 'integer',
min: 0,

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.

It may be useful to have a max for this.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Currently the Queue logic has no limit to the number of items.

You're right though, there should probably be a max, but as this is deprecated code, I'll pass.

].join(' ')
},

scrollZoom: {

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.

We may apply the changes to this attribute from other PR #3422:

scrollZoom: {
valType: 'flaglist',
flags: ['cartesian','gl3d','geo','mapbox'],
extras: [true,false],
dflt: 'gl3d+geo+mapbox',
description: [
'Determines whether mouse wheel or two-finger scroll zooms is enable.',
'Turned on by default for gl3d, geo and mapbox subplots',
'(as these subplot types do not have zoombox via pan),',
'but turned off by default for cartesian subplots.',
'Set `scrollZoom` to *false* to disable scrolling for all subplots.'
].join(' ')
},

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, I'm planning on merging #3422 into this PR.

Comment threadsrc/plot_api/plot_config.js Outdated
Comment threadsrc/plot_api/plot_config.js Outdated
@etpinard

Copy link
Copy Markdown
ContributorAuthor

got a in-person 💃 from @archmoj - merging!

@etpinard
etpinard merged commit cb9f9b0 into masterJan 16, 2019
@etpinard
etpinard deleted the config-opts-in-plot-schema branch January 16, 2019 19:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featuresomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include valid config attributes with plot schema

2 participants

@etpinard@archmoj
, '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('^' + ".*" + ' Add config options in plot schema by etpinard · Pull Request #3376 · plotly/plotly.js · GitHub
Skip to content

Add config options in plot schema - #3376

Merged
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema
Jan 16, 2019
Merged

Add config options in plot schema#3376
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema

Conversation

@etpinard

Copy link
Copy Markdown
Contributor

resolves#2703

Unlike #1188, this PR doesn't try to make the config options (or attributes?) compatible with Lib.coerce. Instead, this PR just lists valType and description fields for all the config options and formats them into the schema. Here, the default config "object" stays the same, hence there's no breakage in the behaviour.

Go to https://22282-45646037-gh.circle-artifacts.com/0/plot-schema.json and <ctrl-f> for "config": to see the results.

cc @plotly/plotly_js

@etpinardetpinard added this to the 1.44.0 milestone Dec 27, 2018
@etpinard

Copy link
Copy Markdown
ContributorAuthor

... @archmoj would you mind taking a look at this one at some point this week?

@archmoj

Copy link
Copy Markdown
Contributor

This one is also interesting to review. Thanks @etpinard.

@archmojarchmoj left a comment

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.

Great PR.
I was wondering it may be useful for the users to have the plotly.js version written in the plot-schema.json.
Thanks @etpinard.

Comment threadsrc/plot_api/plot_config.js

queueLength: {
valType: 'integer',
min: 0,

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.

It may be useful to have a max for this.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Currently the Queue logic has no limit to the number of items.

You're right though, there should probably be a max, but as this is deprecated code, I'll pass.

].join(' ')
},

scrollZoom: {

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.

We may apply the changes to this attribute from other PR #3422:

scrollZoom: {
valType: 'flaglist',
flags: ['cartesian','gl3d','geo','mapbox'],
extras: [true,false],
dflt: 'gl3d+geo+mapbox',
description: [
'Determines whether mouse wheel or two-finger scroll zooms is enable.',
'Turned on by default for gl3d, geo and mapbox subplots',
'(as these subplot types do not have zoombox via pan),',
'but turned off by default for cartesian subplots.',
'Set `scrollZoom` to *false* to disable scrolling for all subplots.'
].join(' ')
},

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, I'm planning on merging #3422 into this PR.

Comment threadsrc/plot_api/plot_config.js Outdated
Comment threadsrc/plot_api/plot_config.js Outdated
@etpinard

Copy link
Copy Markdown
ContributorAuthor

got a in-person 💃 from @archmoj - merging!

@etpinard
etpinard merged commit cb9f9b0 into masterJan 16, 2019
@etpinard
etpinard deleted the config-opts-in-plot-schema branch January 16, 2019 19:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featuresomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include valid config attributes with plot schema

2 participants

@etpinard@archmoj
, '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('^' + ".*" + ' Add config options in plot schema by etpinard · Pull Request #3376 · plotly/plotly.js · GitHub
Skip to content

Add config options in plot schema - #3376

Merged
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema
Jan 16, 2019
Merged

Add config options in plot schema#3376
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema

Conversation

@etpinard

Copy link
Copy Markdown
Contributor

resolves#2703

Unlike #1188, this PR doesn't try to make the config options (or attributes?) compatible with Lib.coerce. Instead, this PR just lists valType and description fields for all the config options and formats them into the schema. Here, the default config "object" stays the same, hence there's no breakage in the behaviour.

Go to https://22282-45646037-gh.circle-artifacts.com/0/plot-schema.json and <ctrl-f> for "config": to see the results.

cc @plotly/plotly_js

@etpinardetpinard added this to the 1.44.0 milestone Dec 27, 2018
@etpinard

Copy link
Copy Markdown
ContributorAuthor

... @archmoj would you mind taking a look at this one at some point this week?

@archmoj

Copy link
Copy Markdown
Contributor

This one is also interesting to review. Thanks @etpinard.

@archmojarchmoj left a comment

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.

Great PR.
I was wondering it may be useful for the users to have the plotly.js version written in the plot-schema.json.
Thanks @etpinard.

Comment threadsrc/plot_api/plot_config.js

queueLength: {
valType: 'integer',
min: 0,

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.

It may be useful to have a max for this.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Currently the Queue logic has no limit to the number of items.

You're right though, there should probably be a max, but as this is deprecated code, I'll pass.

].join(' ')
},

scrollZoom: {

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.

We may apply the changes to this attribute from other PR #3422:

scrollZoom: {
valType: 'flaglist',
flags: ['cartesian','gl3d','geo','mapbox'],
extras: [true,false],
dflt: 'gl3d+geo+mapbox',
description: [
'Determines whether mouse wheel or two-finger scroll zooms is enable.',
'Turned on by default for gl3d, geo and mapbox subplots',
'(as these subplot types do not have zoombox via pan),',
'but turned off by default for cartesian subplots.',
'Set `scrollZoom` to *false* to disable scrolling for all subplots.'
].join(' ')
},

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, I'm planning on merging #3422 into this PR.

Comment threadsrc/plot_api/plot_config.js Outdated
Comment threadsrc/plot_api/plot_config.js Outdated
@etpinard

Copy link
Copy Markdown
ContributorAuthor

got a in-person 💃 from @archmoj - merging!

@etpinard
etpinard merged commit cb9f9b0 into masterJan 16, 2019
@etpinard
etpinard deleted the config-opts-in-plot-schema branch January 16, 2019 19:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featuresomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include valid config attributes with plot schema

2 participants

@etpinard@archmoj
, '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" + ' Add config options in plot schema by etpinard · Pull Request #3376 · plotly/plotly.js · GitHub
Skip to content

Add config options in plot schema - #3376

Merged
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema
Jan 16, 2019
Merged

Add config options in plot schema#3376
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema

Conversation

@etpinard

Copy link
Copy Markdown
Contributor

resolves#2703

Unlike #1188, this PR doesn't try to make the config options (or attributes?) compatible with Lib.coerce. Instead, this PR just lists valType and description fields for all the config options and formats them into the schema. Here, the default config "object" stays the same, hence there's no breakage in the behaviour.

Go to https://22282-45646037-gh.circle-artifacts.com/0/plot-schema.json and <ctrl-f> for "config": to see the results.

cc @plotly/plotly_js

@etpinardetpinard added this to the 1.44.0 milestone Dec 27, 2018
@etpinard

Copy link
Copy Markdown
ContributorAuthor

... @archmoj would you mind taking a look at this one at some point this week?

@archmoj

Copy link
Copy Markdown
Contributor

This one is also interesting to review. Thanks @etpinard.

@archmojarchmoj left a comment

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.

Great PR.
I was wondering it may be useful for the users to have the plotly.js version written in the plot-schema.json.
Thanks @etpinard.

Comment threadsrc/plot_api/plot_config.js

queueLength: {
valType: 'integer',
min: 0,

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.

It may be useful to have a max for this.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Currently the Queue logic has no limit to the number of items.

You're right though, there should probably be a max, but as this is deprecated code, I'll pass.

].join(' ')
},

scrollZoom: {

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.

We may apply the changes to this attribute from other PR #3422:

scrollZoom: {
valType: 'flaglist',
flags: ['cartesian','gl3d','geo','mapbox'],
extras: [true,false],
dflt: 'gl3d+geo+mapbox',
description: [
'Determines whether mouse wheel or two-finger scroll zooms is enable.',
'Turned on by default for gl3d, geo and mapbox subplots',
'(as these subplot types do not have zoombox via pan),',
'but turned off by default for cartesian subplots.',
'Set `scrollZoom` to *false* to disable scrolling for all subplots.'
].join(' ')
},

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, I'm planning on merging #3422 into this PR.

Comment threadsrc/plot_api/plot_config.js Outdated
Comment threadsrc/plot_api/plot_config.js Outdated
@etpinard

Copy link
Copy Markdown
ContributorAuthor

got a in-person 💃 from @archmoj - merging!

@etpinard
etpinard merged commit cb9f9b0 into masterJan 16, 2019
@etpinard
etpinard deleted the config-opts-in-plot-schema branch January 16, 2019 19:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featuresomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include valid config attributes with plot schema

2 participants

@etpinard@archmoj
, '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('^' + ".*" + ' Add config options in plot schema by etpinard · Pull Request #3376 · plotly/plotly.js · GitHub
Skip to content

Add config options in plot schema - #3376

Merged
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema
Jan 16, 2019
Merged

Add config options in plot schema#3376
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema

Conversation

@etpinard

Copy link
Copy Markdown
Contributor

resolves#2703

Unlike #1188, this PR doesn't try to make the config options (or attributes?) compatible with Lib.coerce. Instead, this PR just lists valType and description fields for all the config options and formats them into the schema. Here, the default config "object" stays the same, hence there's no breakage in the behaviour.

Go to https://22282-45646037-gh.circle-artifacts.com/0/plot-schema.json and <ctrl-f> for "config": to see the results.

cc @plotly/plotly_js

@etpinardetpinard added this to the 1.44.0 milestone Dec 27, 2018
@etpinard

Copy link
Copy Markdown
ContributorAuthor

... @archmoj would you mind taking a look at this one at some point this week?

@archmoj

Copy link
Copy Markdown
Contributor

This one is also interesting to review. Thanks @etpinard.

@archmojarchmoj left a comment

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.

Great PR.
I was wondering it may be useful for the users to have the plotly.js version written in the plot-schema.json.
Thanks @etpinard.

Comment threadsrc/plot_api/plot_config.js

queueLength: {
valType: 'integer',
min: 0,

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.

It may be useful to have a max for this.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Currently the Queue logic has no limit to the number of items.

You're right though, there should probably be a max, but as this is deprecated code, I'll pass.

].join(' ')
},

scrollZoom: {

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.

We may apply the changes to this attribute from other PR #3422:

scrollZoom: {
valType: 'flaglist',
flags: ['cartesian','gl3d','geo','mapbox'],
extras: [true,false],
dflt: 'gl3d+geo+mapbox',
description: [
'Determines whether mouse wheel or two-finger scroll zooms is enable.',
'Turned on by default for gl3d, geo and mapbox subplots',
'(as these subplot types do not have zoombox via pan),',
'but turned off by default for cartesian subplots.',
'Set `scrollZoom` to *false* to disable scrolling for all subplots.'
].join(' ')
},

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, I'm planning on merging #3422 into this PR.

Comment threadsrc/plot_api/plot_config.js Outdated
Comment threadsrc/plot_api/plot_config.js Outdated
@etpinard

Copy link
Copy Markdown
ContributorAuthor

got a in-person 💃 from @archmoj - merging!

@etpinard
etpinard merged commit cb9f9b0 into masterJan 16, 2019
@etpinard
etpinard deleted the config-opts-in-plot-schema branch January 16, 2019 19:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featuresomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include valid config attributes with plot schema

2 participants

@etpinard@archmoj
, '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('^' + ".*" + ' Add config options in plot schema by etpinard · Pull Request #3376 · plotly/plotly.js · GitHub
Skip to content

Add config options in plot schema - #3376

Merged
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema
Jan 16, 2019
Merged

Add config options in plot schema#3376
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema

Conversation

@etpinard

Copy link
Copy Markdown
Contributor

resolves#2703

Unlike #1188, this PR doesn't try to make the config options (or attributes?) compatible with Lib.coerce. Instead, this PR just lists valType and description fields for all the config options and formats them into the schema. Here, the default config "object" stays the same, hence there's no breakage in the behaviour.

Go to https://22282-45646037-gh.circle-artifacts.com/0/plot-schema.json and <ctrl-f> for "config": to see the results.

cc @plotly/plotly_js

@etpinardetpinard added this to the 1.44.0 milestone Dec 27, 2018
@etpinard

Copy link
Copy Markdown
ContributorAuthor

... @archmoj would you mind taking a look at this one at some point this week?

@archmoj

Copy link
Copy Markdown
Contributor

This one is also interesting to review. Thanks @etpinard.

@archmojarchmoj left a comment

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.

Great PR.
I was wondering it may be useful for the users to have the plotly.js version written in the plot-schema.json.
Thanks @etpinard.

Comment threadsrc/plot_api/plot_config.js

queueLength: {
valType: 'integer',
min: 0,

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.

It may be useful to have a max for this.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Currently the Queue logic has no limit to the number of items.

You're right though, there should probably be a max, but as this is deprecated code, I'll pass.

].join(' ')
},

scrollZoom: {

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.

We may apply the changes to this attribute from other PR #3422:

scrollZoom: {
valType: 'flaglist',
flags: ['cartesian','gl3d','geo','mapbox'],
extras: [true,false],
dflt: 'gl3d+geo+mapbox',
description: [
'Determines whether mouse wheel or two-finger scroll zooms is enable.',
'Turned on by default for gl3d, geo and mapbox subplots',
'(as these subplot types do not have zoombox via pan),',
'but turned off by default for cartesian subplots.',
'Set `scrollZoom` to *false* to disable scrolling for all subplots.'
].join(' ')
},

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, I'm planning on merging #3422 into this PR.

Comment threadsrc/plot_api/plot_config.js Outdated
Comment threadsrc/plot_api/plot_config.js Outdated
@etpinard

Copy link
Copy Markdown
ContributorAuthor

got a in-person 💃 from @archmoj - merging!

@etpinard
etpinard merged commit cb9f9b0 into masterJan 16, 2019
@etpinard
etpinard deleted the config-opts-in-plot-schema branch January 16, 2019 19:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featuresomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include valid config attributes with plot schema

2 participants

@etpinard@archmoj
, '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); } })(); })(); Add config options in plot schema by etpinard · Pull Request #3376 · plotly/plotly.js · GitHub
Skip to content

Add config options in plot schema - #3376

Merged
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema
Jan 16, 2019
Merged

Add config options in plot schema#3376
etpinard merged 11 commits into
masterfrom
config-opts-in-plot-schema

Conversation

@etpinard

Copy link
Copy Markdown
Contributor

resolves#2703

Unlike #1188, this PR doesn't try to make the config options (or attributes?) compatible with Lib.coerce. Instead, this PR just lists valType and description fields for all the config options and formats them into the schema. Here, the default config "object" stays the same, hence there's no breakage in the behaviour.

Go to https://22282-45646037-gh.circle-artifacts.com/0/plot-schema.json and <ctrl-f> for "config": to see the results.

cc @plotly/plotly_js

@etpinardetpinard added this to the 1.44.0 milestone Dec 27, 2018
@etpinard

Copy link
Copy Markdown
ContributorAuthor

... @archmoj would you mind taking a look at this one at some point this week?

@archmoj

Copy link
Copy Markdown
Contributor

This one is also interesting to review. Thanks @etpinard.

@archmojarchmoj left a comment

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.

Great PR.
I was wondering it may be useful for the users to have the plotly.js version written in the plot-schema.json.
Thanks @etpinard.

Comment threadsrc/plot_api/plot_config.js

queueLength: {
valType: 'integer',
min: 0,

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.

It may be useful to have a max for this.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Currently the Queue logic has no limit to the number of items.

You're right though, there should probably be a max, but as this is deprecated code, I'll pass.

].join(' ')
},

scrollZoom: {

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.

We may apply the changes to this attribute from other PR #3422:

scrollZoom: {
valType: 'flaglist',
flags: ['cartesian','gl3d','geo','mapbox'],
extras: [true,false],
dflt: 'gl3d+geo+mapbox',
description: [
'Determines whether mouse wheel or two-finger scroll zooms is enable.',
'Turned on by default for gl3d, geo and mapbox subplots',
'(as these subplot types do not have zoombox via pan),',
'but turned off by default for cartesian subplots.',
'Set `scrollZoom` to *false* to disable scrolling for all subplots.'
].join(' ')
},

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Yes, I'm planning on merging #3422 into this PR.

Comment threadsrc/plot_api/plot_config.js Outdated
Comment threadsrc/plot_api/plot_config.js Outdated
@etpinard

Copy link
Copy Markdown
ContributorAuthor

got a in-person 💃 from @archmoj - merging!

@etpinard
etpinard merged commit cb9f9b0 into masterJan 16, 2019
@etpinard
etpinard deleted the config-opts-in-plot-schema branch January 16, 2019 19:45
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

featuresomething new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Include valid config attributes with plot schema

2 participants

@etpinard@archmoj