This repository was archived by the owner on Aug 29, 2025. It is now read-only.

No events - #444

Merged
alexcjohnson merged 12 commits into
masterfrom
no-events
Jan 24, 2019
Merged

No events#444
alexcjohnson merged 12 commits into
masterfrom
no-events

Conversation

@alexcjohnson

Copy link
Copy Markdown
Collaborator

Closes#433 - last in the series for plotly/dash#531

In addition, as in the other no-events PRs, I tried to unify the local and CI test runners, and make it so on CI all tests run, even if an earlier one fails, so you get a complete failure report - see 3f0b9df, @T4rk1n@Marc-Andre-Rivet are you comfortable with this?

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

@T4rk1n the dcc css test:

deftest_user_supplied_css(self):
app=dash.Dash(assets_folder='test/assets')
app.layout=html.Div(className="test-input-css", children=[dcc.Input()])
self.startServer(app)
self.wait_for_element_by_css_selector('.test-input-css')
self.snapshot('styled input - width: 100%, border-color: hotpink')

is failing, seems to be due to plotly/dash#547 - can you take a look at it, see if it's just the test that needs updating or if there's a real issue with the new assets_folder logic? The same issue that percy caught in this PR, that the extra css is not showing up, I see it locally running this test both on master and on this branch.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

the dcc css test is failing, seems to be due to plotly/dash#547

OK yeah, that was an easy fix, and after looking at it in a little more detail, that test was definitely locking down buggy behavior!

"exec-sh": "^0.3.0",
"jest": "^23.6.0",
"lodash": "^4.17.11",
"npm-run-all": "^4.1.5",

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.

I do so love this package 🥇

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Jan 24, 2019

Copy link
Copy Markdown
Contributor
  • Interval tests still contain fireEvent logic
  • Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Can you confirm what version of dash is used in your environment during the components py file generation? I have 0.35.3 locally and I'm getting a significant amount of diffs vs. what's in the PR. By default, this is running on Python 3.7 in my environment -- don't know if it should makes a difference.

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Test run in dash-docs seems to be behaving fine. Once the ☝️ are fixed I'm fine with this PR.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Can you confirm what version of dash is used in your environment during the components py file generation?

Right, this needs to be built off the no-events branch of dashplotly/dash#550. Also I believe it needs to be built with py3 (which you're doing anyway) since that branch doesn't yet have @rpkyle's byteify fix from plotly/dash#545

"lint:py": "flake8 --ignore=E501,F401,F841,F811 test",
"test": "run-s -c test-unit test:py test:pyimport lint format:test lint:py",
"test:py": "python -m unittest test.test_integration",
"test:pyimport": "python -m unittest test.test_dash_import",

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.

Can combine them with python -m unittest discover

@alexcjohnsonalexcjohnsonJan 24, 2019

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Ah good to know! But test_dash_import is funny, since it rewrites files (specifically, making a dash.py in the test folder) you can't run it in conjunction with any of the other tests. So if we wanted to use discover we'd have to make test_dash_import undiscoverable one way or another, and still run it separately.

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.

Hmm, that test is strange, not sure we really need to test that.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I guess someone put that error message in the code, so they wanted to see it in a test. But yeah, not the most useful test to be lugging around.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Interval tests still contain fireEvent logic

Ah good call, that came in with a community PR after my initial sweep through the code... fixed in 7d82256

Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

Sure, easy enough -> 948c7dc

n_blur: 0,
n_blur_timestamp: -1,
n_clicks: 0,
n_clicks_timestamp: -1,

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.

😺 This addition of props should be noted somewhere, had to read the code to see it.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks @T4rk1n -> added to CHANGELOG in 8b4936b

Kind of amazing that these two are the only events we had that weren't covered by an existing regular prop already.

@Marc-Andre-RivetMarc-Andre-Rivet 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.

Looks good to me. Maybe @T4rk1n will have additional insight.

@T4rk1nT4rk1n 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.

💃

@alexcjohnson
alexcjohnson merged commit 67cd5d7 into masterJan 24, 2019
@alexcjohnson
alexcjohnson deleted the no-events branch January 24, 2019 21:49
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@alexcjohnson@Marc-Andre-Rivet@T4rk1n
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

No events - #444

Merged
alexcjohnson merged 12 commits into
masterfrom
no-events
Jan 24, 2019
Merged

No events#444
alexcjohnson merged 12 commits into
masterfrom
no-events

Conversation

@alexcjohnson

Copy link
Copy Markdown
Collaborator

Closes#433 - last in the series for plotly/dash#531

In addition, as in the other no-events PRs, I tried to unify the local and CI test runners, and make it so on CI all tests run, even if an earlier one fails, so you get a complete failure report - see 3f0b9df, @T4rk1n@Marc-Andre-Rivet are you comfortable with this?

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

@T4rk1n the dcc css test:

deftest_user_supplied_css(self):
app=dash.Dash(assets_folder='test/assets')
app.layout=html.Div(className="test-input-css", children=[dcc.Input()])
self.startServer(app)
self.wait_for_element_by_css_selector('.test-input-css')
self.snapshot('styled input - width: 100%, border-color: hotpink')

is failing, seems to be due to plotly/dash#547 - can you take a look at it, see if it's just the test that needs updating or if there's a real issue with the new assets_folder logic? The same issue that percy caught in this PR, that the extra css is not showing up, I see it locally running this test both on master and on this branch.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

the dcc css test is failing, seems to be due to plotly/dash#547

OK yeah, that was an easy fix, and after looking at it in a little more detail, that test was definitely locking down buggy behavior!

"exec-sh": "^0.3.0",
"jest": "^23.6.0",
"lodash": "^4.17.11",
"npm-run-all": "^4.1.5",

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.

I do so love this package 🥇

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Jan 24, 2019

Copy link
Copy Markdown
Contributor
  • Interval tests still contain fireEvent logic
  • Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Can you confirm what version of dash is used in your environment during the components py file generation? I have 0.35.3 locally and I'm getting a significant amount of diffs vs. what's in the PR. By default, this is running on Python 3.7 in my environment -- don't know if it should makes a difference.

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Test run in dash-docs seems to be behaving fine. Once the ☝️ are fixed I'm fine with this PR.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Can you confirm what version of dash is used in your environment during the components py file generation?

Right, this needs to be built off the no-events branch of dashplotly/dash#550. Also I believe it needs to be built with py3 (which you're doing anyway) since that branch doesn't yet have @rpkyle's byteify fix from plotly/dash#545

"lint:py": "flake8 --ignore=E501,F401,F841,F811 test",
"test": "run-s -c test-unit test:py test:pyimport lint format:test lint:py",
"test:py": "python -m unittest test.test_integration",
"test:pyimport": "python -m unittest test.test_dash_import",

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.

Can combine them with python -m unittest discover

@alexcjohnsonalexcjohnsonJan 24, 2019

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Ah good to know! But test_dash_import is funny, since it rewrites files (specifically, making a dash.py in the test folder) you can't run it in conjunction with any of the other tests. So if we wanted to use discover we'd have to make test_dash_import undiscoverable one way or another, and still run it separately.

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.

Hmm, that test is strange, not sure we really need to test that.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I guess someone put that error message in the code, so they wanted to see it in a test. But yeah, not the most useful test to be lugging around.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Interval tests still contain fireEvent logic

Ah good call, that came in with a community PR after my initial sweep through the code... fixed in 7d82256

Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

Sure, easy enough -> 948c7dc

n_blur: 0,
n_blur_timestamp: -1,
n_clicks: 0,
n_clicks_timestamp: -1,

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.

😺 This addition of props should be noted somewhere, had to read the code to see it.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks @T4rk1n -> added to CHANGELOG in 8b4936b

Kind of amazing that these two are the only events we had that weren't covered by an existing regular prop already.

@Marc-Andre-RivetMarc-Andre-Rivet 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.

Looks good to me. Maybe @T4rk1n will have additional insight.

@T4rk1nT4rk1n 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.

💃

@alexcjohnson
alexcjohnson merged commit 67cd5d7 into masterJan 24, 2019
@alexcjohnson
alexcjohnson deleted the no-events branch January 24, 2019 21:49
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@alexcjohnson@Marc-Andre-Rivet@T4rk1n
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

No events - #444

Merged
alexcjohnson merged 12 commits into
masterfrom
no-events
Jan 24, 2019
Merged

No events#444
alexcjohnson merged 12 commits into
masterfrom
no-events

Conversation

@alexcjohnson

Copy link
Copy Markdown
Collaborator

Closes#433 - last in the series for plotly/dash#531

In addition, as in the other no-events PRs, I tried to unify the local and CI test runners, and make it so on CI all tests run, even if an earlier one fails, so you get a complete failure report - see 3f0b9df, @T4rk1n@Marc-Andre-Rivet are you comfortable with this?

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

@T4rk1n the dcc css test:

deftest_user_supplied_css(self):
app=dash.Dash(assets_folder='test/assets')
app.layout=html.Div(className="test-input-css", children=[dcc.Input()])
self.startServer(app)
self.wait_for_element_by_css_selector('.test-input-css')
self.snapshot('styled input - width: 100%, border-color: hotpink')

is failing, seems to be due to plotly/dash#547 - can you take a look at it, see if it's just the test that needs updating or if there's a real issue with the new assets_folder logic? The same issue that percy caught in this PR, that the extra css is not showing up, I see it locally running this test both on master and on this branch.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

the dcc css test is failing, seems to be due to plotly/dash#547

OK yeah, that was an easy fix, and after looking at it in a little more detail, that test was definitely locking down buggy behavior!

"exec-sh": "^0.3.0",
"jest": "^23.6.0",
"lodash": "^4.17.11",
"npm-run-all": "^4.1.5",

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.

I do so love this package 🥇

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Jan 24, 2019

Copy link
Copy Markdown
Contributor
  • Interval tests still contain fireEvent logic
  • Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Can you confirm what version of dash is used in your environment during the components py file generation? I have 0.35.3 locally and I'm getting a significant amount of diffs vs. what's in the PR. By default, this is running on Python 3.7 in my environment -- don't know if it should makes a difference.

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Test run in dash-docs seems to be behaving fine. Once the ☝️ are fixed I'm fine with this PR.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Can you confirm what version of dash is used in your environment during the components py file generation?

Right, this needs to be built off the no-events branch of dashplotly/dash#550. Also I believe it needs to be built with py3 (which you're doing anyway) since that branch doesn't yet have @rpkyle's byteify fix from plotly/dash#545

"lint:py": "flake8 --ignore=E501,F401,F841,F811 test",
"test": "run-s -c test-unit test:py test:pyimport lint format:test lint:py",
"test:py": "python -m unittest test.test_integration",
"test:pyimport": "python -m unittest test.test_dash_import",

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.

Can combine them with python -m unittest discover

@alexcjohnsonalexcjohnsonJan 24, 2019

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Ah good to know! But test_dash_import is funny, since it rewrites files (specifically, making a dash.py in the test folder) you can't run it in conjunction with any of the other tests. So if we wanted to use discover we'd have to make test_dash_import undiscoverable one way or another, and still run it separately.

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.

Hmm, that test is strange, not sure we really need to test that.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I guess someone put that error message in the code, so they wanted to see it in a test. But yeah, not the most useful test to be lugging around.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Interval tests still contain fireEvent logic

Ah good call, that came in with a community PR after my initial sweep through the code... fixed in 7d82256

Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

Sure, easy enough -> 948c7dc

n_blur: 0,
n_blur_timestamp: -1,
n_clicks: 0,
n_clicks_timestamp: -1,

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.

😺 This addition of props should be noted somewhere, had to read the code to see it.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks @T4rk1n -> added to CHANGELOG in 8b4936b

Kind of amazing that these two are the only events we had that weren't covered by an existing regular prop already.

@Marc-Andre-RivetMarc-Andre-Rivet 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.

Looks good to me. Maybe @T4rk1n will have additional insight.

@T4rk1nT4rk1n 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.

💃

@alexcjohnson
alexcjohnson merged commit 67cd5d7 into masterJan 24, 2019
@alexcjohnson
alexcjohnson deleted the no-events branch January 24, 2019 21:49
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@alexcjohnson@Marc-Andre-Rivet@T4rk1n
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

No events - #444

Merged
alexcjohnson merged 12 commits into
masterfrom
no-events
Jan 24, 2019
Merged

No events#444
alexcjohnson merged 12 commits into
masterfrom
no-events

Conversation

@alexcjohnson

Copy link
Copy Markdown
Collaborator

Closes#433 - last in the series for plotly/dash#531

In addition, as in the other no-events PRs, I tried to unify the local and CI test runners, and make it so on CI all tests run, even if an earlier one fails, so you get a complete failure report - see 3f0b9df, @T4rk1n@Marc-Andre-Rivet are you comfortable with this?

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

@T4rk1n the dcc css test:

deftest_user_supplied_css(self):
app=dash.Dash(assets_folder='test/assets')
app.layout=html.Div(className="test-input-css", children=[dcc.Input()])
self.startServer(app)
self.wait_for_element_by_css_selector('.test-input-css')
self.snapshot('styled input - width: 100%, border-color: hotpink')

is failing, seems to be due to plotly/dash#547 - can you take a look at it, see if it's just the test that needs updating or if there's a real issue with the new assets_folder logic? The same issue that percy caught in this PR, that the extra css is not showing up, I see it locally running this test both on master and on this branch.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

the dcc css test is failing, seems to be due to plotly/dash#547

OK yeah, that was an easy fix, and after looking at it in a little more detail, that test was definitely locking down buggy behavior!

"exec-sh": "^0.3.0",
"jest": "^23.6.0",
"lodash": "^4.17.11",
"npm-run-all": "^4.1.5",

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.

I do so love this package 🥇

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Jan 24, 2019

Copy link
Copy Markdown
Contributor
  • Interval tests still contain fireEvent logic
  • Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Can you confirm what version of dash is used in your environment during the components py file generation? I have 0.35.3 locally and I'm getting a significant amount of diffs vs. what's in the PR. By default, this is running on Python 3.7 in my environment -- don't know if it should makes a difference.

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Test run in dash-docs seems to be behaving fine. Once the ☝️ are fixed I'm fine with this PR.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Can you confirm what version of dash is used in your environment during the components py file generation?

Right, this needs to be built off the no-events branch of dashplotly/dash#550. Also I believe it needs to be built with py3 (which you're doing anyway) since that branch doesn't yet have @rpkyle's byteify fix from plotly/dash#545

"lint:py": "flake8 --ignore=E501,F401,F841,F811 test",
"test": "run-s -c test-unit test:py test:pyimport lint format:test lint:py",
"test:py": "python -m unittest test.test_integration",
"test:pyimport": "python -m unittest test.test_dash_import",

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.

Can combine them with python -m unittest discover

@alexcjohnsonalexcjohnsonJan 24, 2019

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Ah good to know! But test_dash_import is funny, since it rewrites files (specifically, making a dash.py in the test folder) you can't run it in conjunction with any of the other tests. So if we wanted to use discover we'd have to make test_dash_import undiscoverable one way or another, and still run it separately.

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.

Hmm, that test is strange, not sure we really need to test that.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I guess someone put that error message in the code, so they wanted to see it in a test. But yeah, not the most useful test to be lugging around.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Interval tests still contain fireEvent logic

Ah good call, that came in with a community PR after my initial sweep through the code... fixed in 7d82256

Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

Sure, easy enough -> 948c7dc

n_blur: 0,
n_blur_timestamp: -1,
n_clicks: 0,
n_clicks_timestamp: -1,

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.

😺 This addition of props should be noted somewhere, had to read the code to see it.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks @T4rk1n -> added to CHANGELOG in 8b4936b

Kind of amazing that these two are the only events we had that weren't covered by an existing regular prop already.

@Marc-Andre-RivetMarc-Andre-Rivet 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.

Looks good to me. Maybe @T4rk1n will have additional insight.

@T4rk1nT4rk1n 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.

💃

@alexcjohnson
alexcjohnson merged commit 67cd5d7 into masterJan 24, 2019
@alexcjohnson
alexcjohnson deleted the no-events branch January 24, 2019 21:49
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@alexcjohnson@Marc-Andre-Rivet@T4rk1n
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

No events - #444

Merged
alexcjohnson merged 12 commits into
masterfrom
no-events
Jan 24, 2019
Merged

No events#444
alexcjohnson merged 12 commits into
masterfrom
no-events

Conversation

@alexcjohnson

Copy link
Copy Markdown
Collaborator

Closes#433 - last in the series for plotly/dash#531

In addition, as in the other no-events PRs, I tried to unify the local and CI test runners, and make it so on CI all tests run, even if an earlier one fails, so you get a complete failure report - see 3f0b9df, @T4rk1n@Marc-Andre-Rivet are you comfortable with this?

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

@T4rk1n the dcc css test:

deftest_user_supplied_css(self):
app=dash.Dash(assets_folder='test/assets')
app.layout=html.Div(className="test-input-css", children=[dcc.Input()])
self.startServer(app)
self.wait_for_element_by_css_selector('.test-input-css')
self.snapshot('styled input - width: 100%, border-color: hotpink')

is failing, seems to be due to plotly/dash#547 - can you take a look at it, see if it's just the test that needs updating or if there's a real issue with the new assets_folder logic? The same issue that percy caught in this PR, that the extra css is not showing up, I see it locally running this test both on master and on this branch.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

the dcc css test is failing, seems to be due to plotly/dash#547

OK yeah, that was an easy fix, and after looking at it in a little more detail, that test was definitely locking down buggy behavior!

"exec-sh": "^0.3.0",
"jest": "^23.6.0",
"lodash": "^4.17.11",
"npm-run-all": "^4.1.5",

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.

I do so love this package 🥇

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Jan 24, 2019

Copy link
Copy Markdown
Contributor
  • Interval tests still contain fireEvent logic
  • Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Can you confirm what version of dash is used in your environment during the components py file generation? I have 0.35.3 locally and I'm getting a significant amount of diffs vs. what's in the PR. By default, this is running on Python 3.7 in my environment -- don't know if it should makes a difference.

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Test run in dash-docs seems to be behaving fine. Once the ☝️ are fixed I'm fine with this PR.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Can you confirm what version of dash is used in your environment during the components py file generation?

Right, this needs to be built off the no-events branch of dashplotly/dash#550. Also I believe it needs to be built with py3 (which you're doing anyway) since that branch doesn't yet have @rpkyle's byteify fix from plotly/dash#545

"lint:py": "flake8 --ignore=E501,F401,F841,F811 test",
"test": "run-s -c test-unit test:py test:pyimport lint format:test lint:py",
"test:py": "python -m unittest test.test_integration",
"test:pyimport": "python -m unittest test.test_dash_import",

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.

Can combine them with python -m unittest discover

@alexcjohnsonalexcjohnsonJan 24, 2019

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Ah good to know! But test_dash_import is funny, since it rewrites files (specifically, making a dash.py in the test folder) you can't run it in conjunction with any of the other tests. So if we wanted to use discover we'd have to make test_dash_import undiscoverable one way or another, and still run it separately.

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.

Hmm, that test is strange, not sure we really need to test that.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I guess someone put that error message in the code, so they wanted to see it in a test. But yeah, not the most useful test to be lugging around.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Interval tests still contain fireEvent logic

Ah good call, that came in with a community PR after my initial sweep through the code... fixed in 7d82256

Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

Sure, easy enough -> 948c7dc

n_blur: 0,
n_blur_timestamp: -1,
n_clicks: 0,
n_clicks_timestamp: -1,

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.

😺 This addition of props should be noted somewhere, had to read the code to see it.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks @T4rk1n -> added to CHANGELOG in 8b4936b

Kind of amazing that these two are the only events we had that weren't covered by an existing regular prop already.

@Marc-Andre-RivetMarc-Andre-Rivet 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.

Looks good to me. Maybe @T4rk1n will have additional insight.

@T4rk1nT4rk1n 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.

💃

@alexcjohnson
alexcjohnson merged commit 67cd5d7 into masterJan 24, 2019
@alexcjohnson
alexcjohnson deleted the no-events branch January 24, 2019 21:49
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@alexcjohnson@Marc-Andre-Rivet@T4rk1n
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

No events - #444

Merged
alexcjohnson merged 12 commits into
masterfrom
no-events
Jan 24, 2019
Merged

No events#444
alexcjohnson merged 12 commits into
masterfrom
no-events

Conversation

@alexcjohnson

Copy link
Copy Markdown
Collaborator

Closes#433 - last in the series for plotly/dash#531

In addition, as in the other no-events PRs, I tried to unify the local and CI test runners, and make it so on CI all tests run, even if an earlier one fails, so you get a complete failure report - see 3f0b9df, @T4rk1n@Marc-Andre-Rivet are you comfortable with this?

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

@T4rk1n the dcc css test:

deftest_user_supplied_css(self):
app=dash.Dash(assets_folder='test/assets')
app.layout=html.Div(className="test-input-css", children=[dcc.Input()])
self.startServer(app)
self.wait_for_element_by_css_selector('.test-input-css')
self.snapshot('styled input - width: 100%, border-color: hotpink')

is failing, seems to be due to plotly/dash#547 - can you take a look at it, see if it's just the test that needs updating or if there's a real issue with the new assets_folder logic? The same issue that percy caught in this PR, that the extra css is not showing up, I see it locally running this test both on master and on this branch.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

the dcc css test is failing, seems to be due to plotly/dash#547

OK yeah, that was an easy fix, and after looking at it in a little more detail, that test was definitely locking down buggy behavior!

"exec-sh": "^0.3.0",
"jest": "^23.6.0",
"lodash": "^4.17.11",
"npm-run-all": "^4.1.5",

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.

I do so love this package 🥇

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Jan 24, 2019

Copy link
Copy Markdown
Contributor
  • Interval tests still contain fireEvent logic
  • Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Can you confirm what version of dash is used in your environment during the components py file generation? I have 0.35.3 locally and I'm getting a significant amount of diffs vs. what's in the PR. By default, this is running on Python 3.7 in my environment -- don't know if it should makes a difference.

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Test run in dash-docs seems to be behaving fine. Once the ☝️ are fixed I'm fine with this PR.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Can you confirm what version of dash is used in your environment during the components py file generation?

Right, this needs to be built off the no-events branch of dashplotly/dash#550. Also I believe it needs to be built with py3 (which you're doing anyway) since that branch doesn't yet have @rpkyle's byteify fix from plotly/dash#545

"lint:py": "flake8 --ignore=E501,F401,F841,F811 test",
"test": "run-s -c test-unit test:py test:pyimport lint format:test lint:py",
"test:py": "python -m unittest test.test_integration",
"test:pyimport": "python -m unittest test.test_dash_import",

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.

Can combine them with python -m unittest discover

@alexcjohnsonalexcjohnsonJan 24, 2019

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Ah good to know! But test_dash_import is funny, since it rewrites files (specifically, making a dash.py in the test folder) you can't run it in conjunction with any of the other tests. So if we wanted to use discover we'd have to make test_dash_import undiscoverable one way or another, and still run it separately.

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.

Hmm, that test is strange, not sure we really need to test that.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I guess someone put that error message in the code, so they wanted to see it in a test. But yeah, not the most useful test to be lugging around.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Interval tests still contain fireEvent logic

Ah good call, that came in with a community PR after my initial sweep through the code... fixed in 7d82256

Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

Sure, easy enough -> 948c7dc

n_blur: 0,
n_blur_timestamp: -1,
n_clicks: 0,
n_clicks_timestamp: -1,

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.

😺 This addition of props should be noted somewhere, had to read the code to see it.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks @T4rk1n -> added to CHANGELOG in 8b4936b

Kind of amazing that these two are the only events we had that weren't covered by an existing regular prop already.

@Marc-Andre-RivetMarc-Andre-Rivet 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.

Looks good to me. Maybe @T4rk1n will have additional insight.

@T4rk1nT4rk1n 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.

💃

@alexcjohnson
alexcjohnson merged commit 67cd5d7 into masterJan 24, 2019
@alexcjohnson
alexcjohnson deleted the no-events branch January 24, 2019 21:49
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@alexcjohnson@Marc-Andre-Rivet@T4rk1n
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content
This repository was archived by the owner on Aug 29, 2025. It is now read-only.

No events - #444

Merged
alexcjohnson merged 12 commits into
masterfrom
no-events
Jan 24, 2019
Merged

No events#444
alexcjohnson merged 12 commits into
masterfrom
no-events

Conversation

@alexcjohnson

Copy link
Copy Markdown
Collaborator

Closes#433 - last in the series for plotly/dash#531

In addition, as in the other no-events PRs, I tried to unify the local and CI test runners, and make it so on CI all tests run, even if an earlier one fails, so you get a complete failure report - see 3f0b9df, @T4rk1n@Marc-Andre-Rivet are you comfortable with this?

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

@T4rk1n the dcc css test:

deftest_user_supplied_css(self):
app=dash.Dash(assets_folder='test/assets')
app.layout=html.Div(className="test-input-css", children=[dcc.Input()])
self.startServer(app)
self.wait_for_element_by_css_selector('.test-input-css')
self.snapshot('styled input - width: 100%, border-color: hotpink')

is failing, seems to be due to plotly/dash#547 - can you take a look at it, see if it's just the test that needs updating or if there's a real issue with the new assets_folder logic? The same issue that percy caught in this PR, that the extra css is not showing up, I see it locally running this test both on master and on this branch.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

the dcc css test is failing, seems to be due to plotly/dash#547

OK yeah, that was an easy fix, and after looking at it in a little more detail, that test was definitely locking down buggy behavior!

"exec-sh": "^0.3.0",
"jest": "^23.6.0",
"lodash": "^4.17.11",
"npm-run-all": "^4.1.5",

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.

I do so love this package 🥇

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Jan 24, 2019

Copy link
Copy Markdown
Contributor
  • Interval tests still contain fireEvent logic
  • Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Can you confirm what version of dash is used in your environment during the components py file generation? I have 0.35.3 locally and I'm getting a significant amount of diffs vs. what's in the PR. By default, this is running on Python 3.7 in my environment -- don't know if it should makes a difference.

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Test run in dash-docs seems to be behaving fine. Once the ☝️ are fixed I'm fine with this PR.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Can you confirm what version of dash is used in your environment during the components py file generation?

Right, this needs to be built off the no-events branch of dashplotly/dash#550. Also I believe it needs to be built with py3 (which you're doing anyway) since that branch doesn't yet have @rpkyle's byteify fix from plotly/dash#545

"lint:py": "flake8 --ignore=E501,F401,F841,F811 test",
"test": "run-s -c test-unit test:py test:pyimport lint format:test lint:py",
"test:py": "python -m unittest test.test_integration",
"test:pyimport": "python -m unittest test.test_dash_import",

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.

Can combine them with python -m unittest discover

@alexcjohnsonalexcjohnsonJan 24, 2019

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Ah good to know! But test_dash_import is funny, since it rewrites files (specifically, making a dash.py in the test folder) you can't run it in conjunction with any of the other tests. So if we wanted to use discover we'd have to make test_dash_import undiscoverable one way or another, and still run it separately.

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.

Hmm, that test is strange, not sure we really need to test that.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I guess someone put that error message in the code, so they wanted to see it in a test. But yeah, not the most useful test to be lugging around.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Interval tests still contain fireEvent logic

Ah good call, that came in with a community PR after my initial sweep through the code... fixed in 7d82256

Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

Sure, easy enough -> 948c7dc

n_blur: 0,
n_blur_timestamp: -1,
n_clicks: 0,
n_clicks_timestamp: -1,

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.

😺 This addition of props should be noted somewhere, had to read the code to see it.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks @T4rk1n -> added to CHANGELOG in 8b4936b

Kind of amazing that these two are the only events we had that weren't covered by an existing regular prop already.

@Marc-Andre-RivetMarc-Andre-Rivet 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.

Looks good to me. Maybe @T4rk1n will have additional insight.

@T4rk1nT4rk1n 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.

💃

@alexcjohnson
alexcjohnson merged commit 67cd5d7 into masterJan 24, 2019
@alexcjohnson
alexcjohnson deleted the no-events branch January 24, 2019 21:49
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

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

No events - #444

Merged
alexcjohnson merged 12 commits into
masterfrom
no-events
Jan 24, 2019
Merged

No events#444
alexcjohnson merged 12 commits into
masterfrom
no-events

Conversation

@alexcjohnson

Copy link
Copy Markdown
Collaborator

Closes#433 - last in the series for plotly/dash#531

In addition, as in the other no-events PRs, I tried to unify the local and CI test runners, and make it so on CI all tests run, even if an earlier one fails, so you get a complete failure report - see 3f0b9df, @T4rk1n@Marc-Andre-Rivet are you comfortable with this?

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

@T4rk1n the dcc css test:

deftest_user_supplied_css(self):
app=dash.Dash(assets_folder='test/assets')
app.layout=html.Div(className="test-input-css", children=[dcc.Input()])
self.startServer(app)
self.wait_for_element_by_css_selector('.test-input-css')
self.snapshot('styled input - width: 100%, border-color: hotpink')

is failing, seems to be due to plotly/dash#547 - can you take a look at it, see if it's just the test that needs updating or if there's a real issue with the new assets_folder logic? The same issue that percy caught in this PR, that the extra css is not showing up, I see it locally running this test both on master and on this branch.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

the dcc css test is failing, seems to be due to plotly/dash#547

OK yeah, that was an easy fix, and after looking at it in a little more detail, that test was definitely locking down buggy behavior!

"exec-sh": "^0.3.0",
"jest": "^23.6.0",
"lodash": "^4.17.11",
"npm-run-all": "^4.1.5",

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.

I do so love this package 🥇

@Marc-Andre-Rivet

Marc-Andre-Rivet commented Jan 24, 2019

Copy link
Copy Markdown
Contributor
  • Interval tests still contain fireEvent logic
  • Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Can you confirm what version of dash is used in your environment during the components py file generation? I have 0.35.3 locally and I'm getting a significant amount of diffs vs. what's in the PR. By default, this is running on Python 3.7 in my environment -- don't know if it should makes a difference.

@Marc-Andre-Rivet

Copy link
Copy Markdown
Contributor

Test run in dash-docs seems to be behaving fine. Once the ☝️ are fixed I'm fine with this PR.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Can you confirm what version of dash is used in your environment during the components py file generation?

Right, this needs to be built off the no-events branch of dashplotly/dash#550. Also I believe it needs to be built with py3 (which you're doing anyway) since that branch doesn't yet have @rpkyle's byteify fix from plotly/dash#545

"lint:py": "flake8 --ignore=E501,F401,F841,F811 test",
"test": "run-s -c test-unit test:py test:pyimport lint format:test lint:py",
"test:py": "python -m unittest test.test_integration",
"test:pyimport": "python -m unittest test.test_dash_import",

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.

Can combine them with python -m unittest discover

@alexcjohnsonalexcjohnsonJan 24, 2019

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Ah good to know! But test_dash_import is funny, since it rewrites files (specifically, making a dash.py in the test folder) you can't run it in conjunction with any of the other tests. So if we wanted to use discover we'd have to make test_dash_import undiscoverable one way or another, and still run it separately.

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.

Hmm, that test is strange, not sure we really need to test that.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

I guess someone put that error message in the code, so they wanted to see it in a test. But yeah, not the most useful test to be lugging around.

@alexcjohnson

Copy link
Copy Markdown
CollaboratorAuthor

Interval tests still contain fireEvent logic

Ah good call, that came in with a community PR after my initial sweep through the code... fixed in 7d82256

Technically out of scope, but while updating the test scripts, could you change npm's lint command to do eslint src test instead of just src -- and fix the associated lint errors

Sure, easy enough -> 948c7dc

n_blur: 0,
n_blur_timestamp: -1,
n_clicks: 0,
n_clicks_timestamp: -1,

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.

😺 This addition of props should be noted somewhere, had to read the code to see it.

Copy link
Copy Markdown
CollaboratorAuthor

Choose a reason for hiding this comment

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

Thanks @T4rk1n -> added to CHANGELOG in 8b4936b

Kind of amazing that these two are the only events we had that weren't covered by an existing regular prop already.

@Marc-Andre-RivetMarc-Andre-Rivet 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.

Looks good to me. Maybe @T4rk1n will have additional insight.

@T4rk1nT4rk1n 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.

💃

@alexcjohnson
alexcjohnson merged commit 67cd5d7 into masterJan 24, 2019
@alexcjohnson
alexcjohnson deleted the no-events branch January 24, 2019 21:49
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@alexcjohnson@Marc-Andre-Rivet@T4rk1n