Skip to content

Add update_title config option - #102

Merged
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option
May 7, 2021
Merged

Add update_title config option#102
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option

Conversation

@etpinard

@etpinardetpinard commented May 5, 2021

Copy link
Copy Markdown
Collaborator

fixes#101

  • add update_title String field to DashConfig struct
  • use `"Updating..." as default
  • inject its value into the frontend, to make it available to the dash renderer

TODO:

  • should we allow update_title=nothing inputs?
  • add tests

- add `update_title` String field to DashConfig struct
- use `"Updating..." as default
- inject its value into the frontend, to make it available
to the dash renderer
Comment threadsrc/app/dashapp.jl
Comment on lines +285 to +289
- `update_title::String`: Default ``Updating...``. Configures the document.title
(the text that appears in a browser tab) text when a callback is being run.
Set to '' if you don't want the document.title to change or if you
want to control the document.title through a separate component or
clientside callback.

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.

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.

Only supporting '' is fine by me.

@alexcjohnson

Copy link
Copy Markdown
Contributor

re: tests - dynamic behavior is covered by the tests in plotly/dash#1315, here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

@etpinard

Copy link
Copy Markdown
CollaboratorAuthor

here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

My attempt in -> 4b07cab

Thanks for tips!

@alexcjohnson

Copy link
Copy Markdown
Contributor

LGTM! I've enabled forks in CircleCI, didn't realize we hadn't done that yet. Would you push an empty commit to see if the tests will run?

@alexcjohnson

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

@waralex

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

Yes, we can use Pkg.develop instead of Pkg.add

 Pkg.develop(pkg::Union{String, Vector{String}}; io::IO=DEFAULT_IO[])
Pkg.develop(pkgs::Union{Packagespec, Vector{Packagespec}}; io::IO=DEFAULT_IO[])
Make a package available for development by tracking it by path. If pkg is given with only a name or by a URL, the package will be downloaded to the location specified by the environment variable JULIA_PKG_DEVDIR, with .julia/dev as the default.
If pkg is given as a local path, the package at that path will be tracked.
Examples
≡≡≡≡≡≡≡≡≡≡
# By name
Pkg.develop("Example")
# By url
Pkg.develop(url="https://github.com/JuliaLang/Compat.jl")
# By path
Pkg.develop(path="MyJuliaPackages/Package.jl")
See also PackageSpec

@waralex

Copy link
Copy Markdown
Contributor

@alexcjohnson, @etpinard In fact, there is another problem - the components are placed by direct reference to git, and not through the package repository. Apparently I wrote this file when the components were not registered yet. I fixed it in this PR #104. In that #104 unit tests pass, let's check in current one. Perhaps you should just copy the changes from #104 to this PR and merge them within current PR

@waralexwaralex mentioned this pull request May 7, 2021

@alexcjohnsonalexcjohnson 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 - Thanks @etpinard ! 💃

@alexcjohnson
alexcjohnson merged commit d27478f into plotly:devMay 7, 2021
@etpinard
etpinard deleted the add-update_title-config-option branch May 7, 2021 21:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document title Updating... broken?

3 participants

@etpinard@alexcjohnson@waralex
, '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 `update_title` config option by etpinard · Pull Request #102 · plotly/Dash.jl · GitHub
Skip to content

Add update_title config option - #102

Merged
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option
May 7, 2021
Merged

Add update_title config option#102
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option

Conversation

@etpinard

@etpinardetpinard commented May 5, 2021

Copy link
Copy Markdown
Collaborator

fixes#101

  • add update_title String field to DashConfig struct
  • use `"Updating..." as default
  • inject its value into the frontend, to make it available to the dash renderer

TODO:

  • should we allow update_title=nothing inputs?
  • add tests

- add `update_title` String field to DashConfig struct
- use `"Updating..." as default
- inject its value into the frontend, to make it available
to the dash renderer
Comment threadsrc/app/dashapp.jl
Comment on lines +285 to +289
- `update_title::String`: Default ``Updating...``. Configures the document.title
(the text that appears in a browser tab) text when a callback is being run.
Set to '' if you don't want the document.title to change or if you
want to control the document.title through a separate component or
clientside callback.

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.

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.

Only supporting '' is fine by me.

@alexcjohnson

Copy link
Copy Markdown
Contributor

re: tests - dynamic behavior is covered by the tests in plotly/dash#1315, here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

@etpinard

Copy link
Copy Markdown
CollaboratorAuthor

here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

My attempt in -> 4b07cab

Thanks for tips!

@alexcjohnson

Copy link
Copy Markdown
Contributor

LGTM! I've enabled forks in CircleCI, didn't realize we hadn't done that yet. Would you push an empty commit to see if the tests will run?

@alexcjohnson

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

@waralex

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

Yes, we can use Pkg.develop instead of Pkg.add

 Pkg.develop(pkg::Union{String, Vector{String}}; io::IO=DEFAULT_IO[])
Pkg.develop(pkgs::Union{Packagespec, Vector{Packagespec}}; io::IO=DEFAULT_IO[])
Make a package available for development by tracking it by path. If pkg is given with only a name or by a URL, the package will be downloaded to the location specified by the environment variable JULIA_PKG_DEVDIR, with .julia/dev as the default.
If pkg is given as a local path, the package at that path will be tracked.
Examples
≡≡≡≡≡≡≡≡≡≡
# By name
Pkg.develop("Example")
# By url
Pkg.develop(url="https://github.com/JuliaLang/Compat.jl")
# By path
Pkg.develop(path="MyJuliaPackages/Package.jl")
See also PackageSpec

@waralex

Copy link
Copy Markdown
Contributor

@alexcjohnson, @etpinard In fact, there is another problem - the components are placed by direct reference to git, and not through the package repository. Apparently I wrote this file when the components were not registered yet. I fixed it in this PR #104. In that #104 unit tests pass, let's check in current one. Perhaps you should just copy the changes from #104 to this PR and merge them within current PR

@waralexwaralex mentioned this pull request May 7, 2021

@alexcjohnsonalexcjohnson 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 - Thanks @etpinard ! 💃

@alexcjohnson
alexcjohnson merged commit d27478f into plotly:devMay 7, 2021
@etpinard
etpinard deleted the add-update_title-config-option branch May 7, 2021 21:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document title Updating... broken?

3 participants

@etpinard@alexcjohnson@waralex
, '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 `update_title` config option by etpinard · Pull Request #102 · plotly/Dash.jl · GitHub
Skip to content

Add update_title config option - #102

Merged
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option
May 7, 2021
Merged

Add update_title config option#102
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option

Conversation

@etpinard

@etpinardetpinard commented May 5, 2021

Copy link
Copy Markdown
Collaborator

fixes#101

  • add update_title String field to DashConfig struct
  • use `"Updating..." as default
  • inject its value into the frontend, to make it available to the dash renderer

TODO:

  • should we allow update_title=nothing inputs?
  • add tests

- add `update_title` String field to DashConfig struct
- use `"Updating..." as default
- inject its value into the frontend, to make it available
to the dash renderer
Comment threadsrc/app/dashapp.jl
Comment on lines +285 to +289
- `update_title::String`: Default ``Updating...``. Configures the document.title
(the text that appears in a browser tab) text when a callback is being run.
Set to '' if you don't want the document.title to change or if you
want to control the document.title through a separate component or
clientside callback.

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.

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.

Only supporting '' is fine by me.

@alexcjohnson

Copy link
Copy Markdown
Contributor

re: tests - dynamic behavior is covered by the tests in plotly/dash#1315, here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

@etpinard

Copy link
Copy Markdown
CollaboratorAuthor

here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

My attempt in -> 4b07cab

Thanks for tips!

@alexcjohnson

Copy link
Copy Markdown
Contributor

LGTM! I've enabled forks in CircleCI, didn't realize we hadn't done that yet. Would you push an empty commit to see if the tests will run?

@alexcjohnson

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

@waralex

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

Yes, we can use Pkg.develop instead of Pkg.add

 Pkg.develop(pkg::Union{String, Vector{String}}; io::IO=DEFAULT_IO[])
Pkg.develop(pkgs::Union{Packagespec, Vector{Packagespec}}; io::IO=DEFAULT_IO[])
Make a package available for development by tracking it by path. If pkg is given with only a name or by a URL, the package will be downloaded to the location specified by the environment variable JULIA_PKG_DEVDIR, with .julia/dev as the default.
If pkg is given as a local path, the package at that path will be tracked.
Examples
≡≡≡≡≡≡≡≡≡≡
# By name
Pkg.develop("Example")
# By url
Pkg.develop(url="https://github.com/JuliaLang/Compat.jl")
# By path
Pkg.develop(path="MyJuliaPackages/Package.jl")
See also PackageSpec

@waralex

Copy link
Copy Markdown
Contributor

@alexcjohnson, @etpinard In fact, there is another problem - the components are placed by direct reference to git, and not through the package repository. Apparently I wrote this file when the components were not registered yet. I fixed it in this PR #104. In that #104 unit tests pass, let's check in current one. Perhaps you should just copy the changes from #104 to this PR and merge them within current PR

@waralexwaralex mentioned this pull request May 7, 2021

@alexcjohnsonalexcjohnson 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 - Thanks @etpinard ! 💃

@alexcjohnson
alexcjohnson merged commit d27478f into plotly:devMay 7, 2021
@etpinard
etpinard deleted the add-update_title-config-option branch May 7, 2021 21:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document title Updating... broken?

3 participants

@etpinard@alexcjohnson@waralex
, '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 `update_title` config option by etpinard · Pull Request #102 · plotly/Dash.jl · GitHub
Skip to content

Add update_title config option - #102

Merged
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option
May 7, 2021
Merged

Add update_title config option#102
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option

Conversation

@etpinard

@etpinardetpinard commented May 5, 2021

Copy link
Copy Markdown
Collaborator

fixes#101

  • add update_title String field to DashConfig struct
  • use `"Updating..." as default
  • inject its value into the frontend, to make it available to the dash renderer

TODO:

  • should we allow update_title=nothing inputs?
  • add tests

- add `update_title` String field to DashConfig struct
- use `"Updating..." as default
- inject its value into the frontend, to make it available
to the dash renderer
Comment threadsrc/app/dashapp.jl
Comment on lines +285 to +289
- `update_title::String`: Default ``Updating...``. Configures the document.title
(the text that appears in a browser tab) text when a callback is being run.
Set to '' if you don't want the document.title to change or if you
want to control the document.title through a separate component or
clientside callback.

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.

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.

Only supporting '' is fine by me.

@alexcjohnson

Copy link
Copy Markdown
Contributor

re: tests - dynamic behavior is covered by the tests in plotly/dash#1315, here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

@etpinard

Copy link
Copy Markdown
CollaboratorAuthor

here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

My attempt in -> 4b07cab

Thanks for tips!

@alexcjohnson

Copy link
Copy Markdown
Contributor

LGTM! I've enabled forks in CircleCI, didn't realize we hadn't done that yet. Would you push an empty commit to see if the tests will run?

@alexcjohnson

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

@waralex

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

Yes, we can use Pkg.develop instead of Pkg.add

 Pkg.develop(pkg::Union{String, Vector{String}}; io::IO=DEFAULT_IO[])
Pkg.develop(pkgs::Union{Packagespec, Vector{Packagespec}}; io::IO=DEFAULT_IO[])
Make a package available for development by tracking it by path. If pkg is given with only a name or by a URL, the package will be downloaded to the location specified by the environment variable JULIA_PKG_DEVDIR, with .julia/dev as the default.
If pkg is given as a local path, the package at that path will be tracked.
Examples
≡≡≡≡≡≡≡≡≡≡
# By name
Pkg.develop("Example")
# By url
Pkg.develop(url="https://github.com/JuliaLang/Compat.jl")
# By path
Pkg.develop(path="MyJuliaPackages/Package.jl")
See also PackageSpec

@waralex

Copy link
Copy Markdown
Contributor

@alexcjohnson, @etpinard In fact, there is another problem - the components are placed by direct reference to git, and not through the package repository. Apparently I wrote this file when the components were not registered yet. I fixed it in this PR #104. In that #104 unit tests pass, let's check in current one. Perhaps you should just copy the changes from #104 to this PR and merge them within current PR

@waralexwaralex mentioned this pull request May 7, 2021

@alexcjohnsonalexcjohnson 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 - Thanks @etpinard ! 💃

@alexcjohnson
alexcjohnson merged commit d27478f into plotly:devMay 7, 2021
@etpinard
etpinard deleted the add-update_title-config-option branch May 7, 2021 21:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document title Updating... broken?

3 participants

@etpinard@alexcjohnson@waralex
, '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 `update_title` config option by etpinard · Pull Request #102 · plotly/Dash.jl · GitHub
Skip to content

Add update_title config option - #102

Merged
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option
May 7, 2021
Merged

Add update_title config option#102
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option

Conversation

@etpinard

@etpinardetpinard commented May 5, 2021

Copy link
Copy Markdown
Collaborator

fixes#101

  • add update_title String field to DashConfig struct
  • use `"Updating..." as default
  • inject its value into the frontend, to make it available to the dash renderer

TODO:

  • should we allow update_title=nothing inputs?
  • add tests

- add `update_title` String field to DashConfig struct
- use `"Updating..." as default
- inject its value into the frontend, to make it available
to the dash renderer
Comment threadsrc/app/dashapp.jl
Comment on lines +285 to +289
- `update_title::String`: Default ``Updating...``. Configures the document.title
(the text that appears in a browser tab) text when a callback is being run.
Set to '' if you don't want the document.title to change or if you
want to control the document.title through a separate component or
clientside callback.

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.

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.

Only supporting '' is fine by me.

@alexcjohnson

Copy link
Copy Markdown
Contributor

re: tests - dynamic behavior is covered by the tests in plotly/dash#1315, here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

@etpinard

Copy link
Copy Markdown
CollaboratorAuthor

here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

My attempt in -> 4b07cab

Thanks for tips!

@alexcjohnson

Copy link
Copy Markdown
Contributor

LGTM! I've enabled forks in CircleCI, didn't realize we hadn't done that yet. Would you push an empty commit to see if the tests will run?

@alexcjohnson

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

@waralex

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

Yes, we can use Pkg.develop instead of Pkg.add

 Pkg.develop(pkg::Union{String, Vector{String}}; io::IO=DEFAULT_IO[])
Pkg.develop(pkgs::Union{Packagespec, Vector{Packagespec}}; io::IO=DEFAULT_IO[])
Make a package available for development by tracking it by path. If pkg is given with only a name or by a URL, the package will be downloaded to the location specified by the environment variable JULIA_PKG_DEVDIR, with .julia/dev as the default.
If pkg is given as a local path, the package at that path will be tracked.
Examples
≡≡≡≡≡≡≡≡≡≡
# By name
Pkg.develop("Example")
# By url
Pkg.develop(url="https://github.com/JuliaLang/Compat.jl")
# By path
Pkg.develop(path="MyJuliaPackages/Package.jl")
See also PackageSpec

@waralex

Copy link
Copy Markdown
Contributor

@alexcjohnson, @etpinard In fact, there is another problem - the components are placed by direct reference to git, and not through the package repository. Apparently I wrote this file when the components were not registered yet. I fixed it in this PR #104. In that #104 unit tests pass, let's check in current one. Perhaps you should just copy the changes from #104 to this PR and merge them within current PR

@waralexwaralex mentioned this pull request May 7, 2021

@alexcjohnsonalexcjohnson 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 - Thanks @etpinard ! 💃

@alexcjohnson
alexcjohnson merged commit d27478f into plotly:devMay 7, 2021
@etpinard
etpinard deleted the add-update_title-config-option branch May 7, 2021 21:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document title Updating... broken?

3 participants

@etpinard@alexcjohnson@waralex
, '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 `update_title` config option by etpinard · Pull Request #102 · plotly/Dash.jl · GitHub
Skip to content

Add update_title config option - #102

Merged
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option
May 7, 2021
Merged

Add update_title config option#102
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option

Conversation

@etpinard

@etpinardetpinard commented May 5, 2021

Copy link
Copy Markdown
Collaborator

fixes#101

  • add update_title String field to DashConfig struct
  • use `"Updating..." as default
  • inject its value into the frontend, to make it available to the dash renderer

TODO:

  • should we allow update_title=nothing inputs?
  • add tests

- add `update_title` String field to DashConfig struct
- use `"Updating..." as default
- inject its value into the frontend, to make it available
to the dash renderer
Comment threadsrc/app/dashapp.jl
Comment on lines +285 to +289
- `update_title::String`: Default ``Updating...``. Configures the document.title
(the text that appears in a browser tab) text when a callback is being run.
Set to '' if you don't want the document.title to change or if you
want to control the document.title through a separate component or
clientside callback.

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.

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.

Only supporting '' is fine by me.

@alexcjohnson

Copy link
Copy Markdown
Contributor

re: tests - dynamic behavior is covered by the tests in plotly/dash#1315, here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

@etpinard

Copy link
Copy Markdown
CollaboratorAuthor

here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

My attempt in -> 4b07cab

Thanks for tips!

@alexcjohnson

Copy link
Copy Markdown
Contributor

LGTM! I've enabled forks in CircleCI, didn't realize we hadn't done that yet. Would you push an empty commit to see if the tests will run?

@alexcjohnson

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

@waralex

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

Yes, we can use Pkg.develop instead of Pkg.add

 Pkg.develop(pkg::Union{String, Vector{String}}; io::IO=DEFAULT_IO[])
Pkg.develop(pkgs::Union{Packagespec, Vector{Packagespec}}; io::IO=DEFAULT_IO[])
Make a package available for development by tracking it by path. If pkg is given with only a name or by a URL, the package will be downloaded to the location specified by the environment variable JULIA_PKG_DEVDIR, with .julia/dev as the default.
If pkg is given as a local path, the package at that path will be tracked.
Examples
≡≡≡≡≡≡≡≡≡≡
# By name
Pkg.develop("Example")
# By url
Pkg.develop(url="https://github.com/JuliaLang/Compat.jl")
# By path
Pkg.develop(path="MyJuliaPackages/Package.jl")
See also PackageSpec

@waralex

Copy link
Copy Markdown
Contributor

@alexcjohnson, @etpinard In fact, there is another problem - the components are placed by direct reference to git, and not through the package repository. Apparently I wrote this file when the components were not registered yet. I fixed it in this PR #104. In that #104 unit tests pass, let's check in current one. Perhaps you should just copy the changes from #104 to this PR and merge them within current PR

@waralexwaralex mentioned this pull request May 7, 2021

@alexcjohnsonalexcjohnson 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 - Thanks @etpinard ! 💃

@alexcjohnson
alexcjohnson merged commit d27478f into plotly:devMay 7, 2021
@etpinard
etpinard deleted the add-update_title-config-option branch May 7, 2021 21:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document title Updating... broken?

3 participants

@etpinard@alexcjohnson@waralex
, '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 `update_title` config option by etpinard · Pull Request #102 · plotly/Dash.jl · GitHub
Skip to content

Add update_title config option - #102

Merged
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option
May 7, 2021
Merged

Add update_title config option#102
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option

Conversation

@etpinard

@etpinardetpinard commented May 5, 2021

Copy link
Copy Markdown
Collaborator

fixes#101

  • add update_title String field to DashConfig struct
  • use `"Updating..." as default
  • inject its value into the frontend, to make it available to the dash renderer

TODO:

  • should we allow update_title=nothing inputs?
  • add tests

- add `update_title` String field to DashConfig struct
- use `"Updating..." as default
- inject its value into the frontend, to make it available
to the dash renderer
Comment threadsrc/app/dashapp.jl
Comment on lines +285 to +289
- `update_title::String`: Default ``Updating...``. Configures the document.title
(the text that appears in a browser tab) text when a callback is being run.
Set to '' if you don't want the document.title to change or if you
want to control the document.title through a separate component or
clientside callback.

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.

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.

Only supporting '' is fine by me.

@alexcjohnson

Copy link
Copy Markdown
Contributor

re: tests - dynamic behavior is covered by the tests in plotly/dash#1315, here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

@etpinard

Copy link
Copy Markdown
CollaboratorAuthor

here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

My attempt in -> 4b07cab

Thanks for tips!

@alexcjohnson

Copy link
Copy Markdown
Contributor

LGTM! I've enabled forks in CircleCI, didn't realize we hadn't done that yet. Would you push an empty commit to see if the tests will run?

@alexcjohnson

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

@waralex

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

Yes, we can use Pkg.develop instead of Pkg.add

 Pkg.develop(pkg::Union{String, Vector{String}}; io::IO=DEFAULT_IO[])
Pkg.develop(pkgs::Union{Packagespec, Vector{Packagespec}}; io::IO=DEFAULT_IO[])
Make a package available for development by tracking it by path. If pkg is given with only a name or by a URL, the package will be downloaded to the location specified by the environment variable JULIA_PKG_DEVDIR, with .julia/dev as the default.
If pkg is given as a local path, the package at that path will be tracked.
Examples
≡≡≡≡≡≡≡≡≡≡
# By name
Pkg.develop("Example")
# By url
Pkg.develop(url="https://github.com/JuliaLang/Compat.jl")
# By path
Pkg.develop(path="MyJuliaPackages/Package.jl")
See also PackageSpec

@waralex

Copy link
Copy Markdown
Contributor

@alexcjohnson, @etpinard In fact, there is another problem - the components are placed by direct reference to git, and not through the package repository. Apparently I wrote this file when the components were not registered yet. I fixed it in this PR #104. In that #104 unit tests pass, let's check in current one. Perhaps you should just copy the changes from #104 to this PR and merge them within current PR

@waralexwaralex mentioned this pull request May 7, 2021

@alexcjohnsonalexcjohnson 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 - Thanks @etpinard ! 💃

@alexcjohnson
alexcjohnson merged commit d27478f into plotly:devMay 7, 2021
@etpinard
etpinard deleted the add-update_title-config-option branch May 7, 2021 21:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document title Updating... broken?

3 participants

@etpinard@alexcjohnson@waralex
, '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 `update_title` config option by etpinard · Pull Request #102 · plotly/Dash.jl · GitHub
Skip to content

Add update_title config option - #102

Merged
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option
May 7, 2021
Merged

Add update_title config option#102
alexcjohnson merged 4 commits into
plotly:devfrom
etpinard:add-update_title-config-option

Conversation

@etpinard

@etpinardetpinard commented May 5, 2021

Copy link
Copy Markdown
Collaborator

fixes#101

  • add update_title String field to DashConfig struct
  • use `"Updating..." as default
  • inject its value into the frontend, to make it available to the dash renderer

TODO:

  • should we allow update_title=nothing inputs?
  • add tests

- add `update_title` String field to DashConfig struct
- use `"Updating..." as default
- inject its value into the frontend, to make it available
to the dash renderer
Comment threadsrc/app/dashapp.jl
Comment on lines +285 to +289
- `update_title::String`: Default ``Updating...``. Configures the document.title
(the text that appears in a browser tab) text when a callback is being run.
Set to '' if you don't want the document.title to change or if you
want to control the document.title through a separate component or
clientside callback.

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.

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.

Only supporting '' is fine by me.

@alexcjohnson

Copy link
Copy Markdown
Contributor

re: tests - dynamic behavior is covered by the tests in plotly/dash#1315, here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

@etpinard

Copy link
Copy Markdown
CollaboratorAuthor

here it would be fine to just assert dashjl.driver.execute_script("return store.getState().config.update_title") == expected for the default and one non-default case.

My attempt in -> 4b07cab

Thanks for tips!

@alexcjohnson

Copy link
Copy Markdown
Contributor

LGTM! I've enabled forks in CircleCI, didn't realize we hadn't done that yet. Would you push an empty commit to see if the tests will run?

@alexcjohnson

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

@waralex

Copy link
Copy Markdown
Contributor

@waralex This step fails for forks:

Pkg.add(PackageSpec(url="https://github.com/plotly/Dash.jl.git", rev=ENV["CIRCLE_BRANCH"]))

But we already have the appropriate version of the code in a local directory, can't we just use that?

Yes, we can use Pkg.develop instead of Pkg.add

 Pkg.develop(pkg::Union{String, Vector{String}}; io::IO=DEFAULT_IO[])
Pkg.develop(pkgs::Union{Packagespec, Vector{Packagespec}}; io::IO=DEFAULT_IO[])
Make a package available for development by tracking it by path. If pkg is given with only a name or by a URL, the package will be downloaded to the location specified by the environment variable JULIA_PKG_DEVDIR, with .julia/dev as the default.
If pkg is given as a local path, the package at that path will be tracked.
Examples
≡≡≡≡≡≡≡≡≡≡
# By name
Pkg.develop("Example")
# By url
Pkg.develop(url="https://github.com/JuliaLang/Compat.jl")
# By path
Pkg.develop(path="MyJuliaPackages/Package.jl")
See also PackageSpec

@waralex

Copy link
Copy Markdown
Contributor

@alexcjohnson, @etpinard In fact, there is another problem - the components are placed by direct reference to git, and not through the package repository. Apparently I wrote this file when the components were not registered yet. I fixed it in this PR #104. In that #104 unit tests pass, let's check in current one. Perhaps you should just copy the changes from #104 to this PR and merge them within current PR

@waralexwaralex mentioned this pull request May 7, 2021

@alexcjohnsonalexcjohnson 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 - Thanks @etpinard ! 💃

@alexcjohnson
alexcjohnson merged commit d27478f into plotly:devMay 7, 2021
@etpinard
etpinard deleted the add-update_title-config-option branch May 7, 2021 21:17
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document title Updating... broken?

3 participants

@etpinard@alexcjohnson@waralex