Skip to content

Dash for R v0.3.0 - #175

Merged
rpkyle merged 45 commits into
masterfrom
dev
Feb 13, 2020
Merged

Dash for R v0.3.0#175
rpkyle merged 45 commits into
masterfrom
dev

Conversation

@rpkyle

@rpkylerpkyle commented Feb 12, 2020

Copy link
Copy Markdown
Contributor

This PR implements several new features related to the Dash for R v0.3.0 release:

[0.3.0] - 2020-02-12

Added

  • Support for config-aware relative paths #172
  • Support index customization and index templates #168
  • Application titles may be set using the app$title() method, for parity with Dash for Python's app.title syntax #168

Changed

  • Dash for R now requires dashCoreComponents v1.8.0
  • Dash for R now requires dashTable v4.6.0
  • Automatically set routes and requests pathname prefixes if DASH_APP_NAME environment variable has been set #165

Deprecated

  • Application titles can no longer be set using name parameter, which is now deprecated with a warning, for parity with Dash for Python #168
  • Removed DASH_HOST and DASH_PORT, Dash for R now respects HOST and PORT#167

@alexcjohnson

rpkyleand others added 30 commits August 23, 2019 09:23
* rename pruned_errors to prune_errors
* rename pruned to prune
* provide support for no_update in Dash for R (#111)
* rename pruned_errors to prune_errors
* rename pruned to prune
* 🔨 handle stop errors
* 🚨 add test for stop errors
byron
add more trace for pytest
* Add line number context to stack traces when srcrefs are available (#133)
* ✨ Support line #s when in debug mode
* ✨ Add use_viewer option for RStudio
* 🚨 Add soft and hard hot reloading tests
* ✨ initial support for meta tags
* support arbitrary tags
* 🚨 add tests
* 🔬 add asserts
* add reference to meta tag PR
* ⏩ indent meta tags
* add eager_loading parameter
* 📛 add buildFingerprint
* 📛 add checkFingerprint
* use getDependencyPath, + 🐾/Etag support
* updates to support async
* ✨ properly support gz compression
* 🐛 post-async fixes for CSS handling
…races (#137)
* 🚚 upgrade dash-renderer to v1.2.2, 🔨 fix stack traces
* 🚚 add polyfill.js
* refactor resolvePrefix
* camel case resolve_prefix
* Update R/utils.R
Co-authored-by: HammadTheOne <30986043+HammadTheOne@users.noreply.github.com>
@rpkylerpkyle added high priority parity Modifications to improve parity across Dash implementations labels Feb 12, 2020
@rpkylerpkyle self-assigned this Feb 12, 2020
Comment threadCHANGELOG.md
- Application titles may be set using the `app$title()` method, for parity with Dash for Python's `app.title` syntax [#168](https://github.com/plotly/dashR/pull/168)

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The table version bump should also be mentioned.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in c03c6c1

Comment threadCHANGELOG.md Outdated

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0
- Rename `DASH_HOST` to `HOST` and `DASH_PORT` to `PORT` [#167](https://github.com/plotly/dashR/pull/167)

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 goes beyond the scope of ### Changed and could be ### Deprecated (or removed)+### Added entries instead. Same for DASH_APP_NAME below. As this is a 0.x release it's not technically 100% necessary. At your discretion.

@rpkylerpkyleFeb 12, 2020

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in 030adb4 and 744b696

Comment threadR/dash.R Outdated
Comment threadR/dash.R Outdated
Comment threadR/dash.R

# akin to https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L338
# note discussion here https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L279-L284
custom_index = NULL,

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.

Typo at line 965: dire ctly

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.

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.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed, fixed, fixed in 49c97da

Comment threadR/utils.R
}

resolve_prefix <- function(prefix, environment_var, base_pathname) {
resolvePrefix <- function(prefix, environment_var, base_pathname) {

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.

Just wondering why this function is changed to camelCase when many other functions are snake_case.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I'm going to open a PR to migrate all functions to camelCase and variables to snake_case, which follows the generally accepted style rules for R. That will likely occur within the next week, prior to CRAN submission.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

cf. https://google.github.io/styleguide/Rguide.html, though they use Pascal case instead of camel case, and maybe we should also. 🤔

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.

Kk, thx. Pick one, enforce it. Move on :)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

:neckbeard: 📘 🤺

rpkyleand others added 3 commits February 12, 2020 14:36
Co-Authored-By: Marc-André Rivet <Marc-Andre-Rivet@users.noreply.github.com>
<html>
<head>
{%meta_tags%}
<title>Testing Again</title>

@Marc-Andre-RivetMarc-Andre-RivetFeb 12, 2020

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.

What happens if you set both app$title and the template? The template wins? Maybe adding some default title app$title("On no! Not again!") in this test makes that behavior more obvious.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

If you set app$title, it wins. I suspect this is what we want, rather than the template taking precedence, though I cannot say for sure.

@rpkyle
rpkyle merged commit f6a2172 into masterFeb 13, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

high priorityparityModifications to improve parity across Dash implementations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rpkyle@Marc-Andre-Rivet@byronz@HammadTheOne
, '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" + '
Dash for R v0.3.0 by rpkyle · Pull Request #175 · plotly/dashR · GitHub
Skip to content

Dash for R v0.3.0 - #175

Merged
rpkyle merged 45 commits into
masterfrom
dev
Feb 13, 2020
Merged

Dash for R v0.3.0#175
rpkyle merged 45 commits into
masterfrom
dev

Conversation

@rpkyle

@rpkylerpkyle commented Feb 12, 2020

Copy link
Copy Markdown
Contributor

This PR implements several new features related to the Dash for R v0.3.0 release:

[0.3.0] - 2020-02-12

Added

  • Support for config-aware relative paths #172
  • Support index customization and index templates #168
  • Application titles may be set using the app$title() method, for parity with Dash for Python's app.title syntax #168

Changed

  • Dash for R now requires dashCoreComponents v1.8.0
  • Dash for R now requires dashTable v4.6.0
  • Automatically set routes and requests pathname prefixes if DASH_APP_NAME environment variable has been set #165

Deprecated

  • Application titles can no longer be set using name parameter, which is now deprecated with a warning, for parity with Dash for Python #168
  • Removed DASH_HOST and DASH_PORT, Dash for R now respects HOST and PORT#167

@alexcjohnson

rpkyleand others added 30 commits August 23, 2019 09:23
* rename pruned_errors to prune_errors
* rename pruned to prune
* provide support for no_update in Dash for R (#111)
* rename pruned_errors to prune_errors
* rename pruned to prune
* 🔨 handle stop errors
* 🚨 add test for stop errors
byron
add more trace for pytest
* Add line number context to stack traces when srcrefs are available (#133)
* ✨ Support line #s when in debug mode
* ✨ Add use_viewer option for RStudio
* 🚨 Add soft and hard hot reloading tests
* ✨ initial support for meta tags
* support arbitrary tags
* 🚨 add tests
* 🔬 add asserts
* add reference to meta tag PR
* ⏩ indent meta tags
* add eager_loading parameter
* 📛 add buildFingerprint
* 📛 add checkFingerprint
* use getDependencyPath, + 🐾/Etag support
* updates to support async
* ✨ properly support gz compression
* 🐛 post-async fixes for CSS handling
…races (#137)
* 🚚 upgrade dash-renderer to v1.2.2, 🔨 fix stack traces
* 🚚 add polyfill.js
* refactor resolvePrefix
* camel case resolve_prefix
* Update R/utils.R
Co-authored-by: HammadTheOne <30986043+HammadTheOne@users.noreply.github.com>
@rpkylerpkyle added high priority parity Modifications to improve parity across Dash implementations labels Feb 12, 2020
@rpkylerpkyle self-assigned this Feb 12, 2020
Comment threadCHANGELOG.md
- Application titles may be set using the `app$title()` method, for parity with Dash for Python's `app.title` syntax [#168](https://github.com/plotly/dashR/pull/168)

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The table version bump should also be mentioned.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in c03c6c1

Comment threadCHANGELOG.md Outdated

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0
- Rename `DASH_HOST` to `HOST` and `DASH_PORT` to `PORT` [#167](https://github.com/plotly/dashR/pull/167)

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 goes beyond the scope of ### Changed and could be ### Deprecated (or removed)+### Added entries instead. Same for DASH_APP_NAME below. As this is a 0.x release it's not technically 100% necessary. At your discretion.

@rpkylerpkyleFeb 12, 2020

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in 030adb4 and 744b696

Comment threadR/dash.R Outdated
Comment threadR/dash.R Outdated
Comment threadR/dash.R

# akin to https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L338
# note discussion here https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L279-L284
custom_index = NULL,

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.

Typo at line 965: dire ctly

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.

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.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed, fixed, fixed in 49c97da

Comment threadR/utils.R
}

resolve_prefix <- function(prefix, environment_var, base_pathname) {
resolvePrefix <- function(prefix, environment_var, base_pathname) {

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.

Just wondering why this function is changed to camelCase when many other functions are snake_case.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I'm going to open a PR to migrate all functions to camelCase and variables to snake_case, which follows the generally accepted style rules for R. That will likely occur within the next week, prior to CRAN submission.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

cf. https://google.github.io/styleguide/Rguide.html, though they use Pascal case instead of camel case, and maybe we should also. 🤔

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.

Kk, thx. Pick one, enforce it. Move on :)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

:neckbeard: 📘 🤺

rpkyleand others added 3 commits February 12, 2020 14:36
Co-Authored-By: Marc-André Rivet <Marc-Andre-Rivet@users.noreply.github.com>
<html>
<head>
{%meta_tags%}
<title>Testing Again</title>

@Marc-Andre-RivetMarc-Andre-RivetFeb 12, 2020

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.

What happens if you set both app$title and the template? The template wins? Maybe adding some default title app$title("On no! Not again!") in this test makes that behavior more obvious.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

If you set app$title, it wins. I suspect this is what we want, rather than the template taking precedence, though I cannot say for sure.

@rpkyle
rpkyle merged commit f6a2172 into masterFeb 13, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

high priorityparityModifications to improve parity across Dash implementations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rpkyle@Marc-Andre-Rivet@byronz@HammadTheOne
, '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('^' + ".*" + ' Dash for R v0.3.0 by rpkyle · Pull Request #175 · plotly/dashR · GitHub
Skip to content

Dash for R v0.3.0 - #175

Merged
rpkyle merged 45 commits into
masterfrom
dev
Feb 13, 2020
Merged

Dash for R v0.3.0#175
rpkyle merged 45 commits into
masterfrom
dev

Conversation

@rpkyle

@rpkylerpkyle commented Feb 12, 2020

Copy link
Copy Markdown
Contributor

This PR implements several new features related to the Dash for R v0.3.0 release:

[0.3.0] - 2020-02-12

Added

  • Support for config-aware relative paths #172
  • Support index customization and index templates #168
  • Application titles may be set using the app$title() method, for parity with Dash for Python's app.title syntax #168

Changed

  • Dash for R now requires dashCoreComponents v1.8.0
  • Dash for R now requires dashTable v4.6.0
  • Automatically set routes and requests pathname prefixes if DASH_APP_NAME environment variable has been set #165

Deprecated

  • Application titles can no longer be set using name parameter, which is now deprecated with a warning, for parity with Dash for Python #168
  • Removed DASH_HOST and DASH_PORT, Dash for R now respects HOST and PORT#167

@alexcjohnson

rpkyleand others added 30 commits August 23, 2019 09:23
* rename pruned_errors to prune_errors
* rename pruned to prune
* provide support for no_update in Dash for R (#111)
* rename pruned_errors to prune_errors
* rename pruned to prune
* 🔨 handle stop errors
* 🚨 add test for stop errors
byron
add more trace for pytest
* Add line number context to stack traces when srcrefs are available (#133)
* ✨ Support line #s when in debug mode
* ✨ Add use_viewer option for RStudio
* 🚨 Add soft and hard hot reloading tests
* ✨ initial support for meta tags
* support arbitrary tags
* 🚨 add tests
* 🔬 add asserts
* add reference to meta tag PR
* ⏩ indent meta tags
* add eager_loading parameter
* 📛 add buildFingerprint
* 📛 add checkFingerprint
* use getDependencyPath, + 🐾/Etag support
* updates to support async
* ✨ properly support gz compression
* 🐛 post-async fixes for CSS handling
…races (#137)
* 🚚 upgrade dash-renderer to v1.2.2, 🔨 fix stack traces
* 🚚 add polyfill.js
* refactor resolvePrefix
* camel case resolve_prefix
* Update R/utils.R
Co-authored-by: HammadTheOne <30986043+HammadTheOne@users.noreply.github.com>
@rpkylerpkyle added high priority parity Modifications to improve parity across Dash implementations labels Feb 12, 2020
@rpkylerpkyle self-assigned this Feb 12, 2020
Comment threadCHANGELOG.md
- Application titles may be set using the `app$title()` method, for parity with Dash for Python's `app.title` syntax [#168](https://github.com/plotly/dashR/pull/168)

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The table version bump should also be mentioned.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in c03c6c1

Comment threadCHANGELOG.md Outdated

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0
- Rename `DASH_HOST` to `HOST` and `DASH_PORT` to `PORT` [#167](https://github.com/plotly/dashR/pull/167)

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 goes beyond the scope of ### Changed and could be ### Deprecated (or removed)+### Added entries instead. Same for DASH_APP_NAME below. As this is a 0.x release it's not technically 100% necessary. At your discretion.

@rpkylerpkyleFeb 12, 2020

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in 030adb4 and 744b696

Comment threadR/dash.R Outdated
Comment threadR/dash.R Outdated
Comment threadR/dash.R

# akin to https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L338
# note discussion here https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L279-L284
custom_index = NULL,

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.

Typo at line 965: dire ctly

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.

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.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed, fixed, fixed in 49c97da

Comment threadR/utils.R
}

resolve_prefix <- function(prefix, environment_var, base_pathname) {
resolvePrefix <- function(prefix, environment_var, base_pathname) {

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.

Just wondering why this function is changed to camelCase when many other functions are snake_case.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I'm going to open a PR to migrate all functions to camelCase and variables to snake_case, which follows the generally accepted style rules for R. That will likely occur within the next week, prior to CRAN submission.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

cf. https://google.github.io/styleguide/Rguide.html, though they use Pascal case instead of camel case, and maybe we should also. 🤔

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.

Kk, thx. Pick one, enforce it. Move on :)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

:neckbeard: 📘 🤺

rpkyleand others added 3 commits February 12, 2020 14:36
Co-Authored-By: Marc-André Rivet <Marc-Andre-Rivet@users.noreply.github.com>
<html>
<head>
{%meta_tags%}
<title>Testing Again</title>

@Marc-Andre-RivetMarc-Andre-RivetFeb 12, 2020

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.

What happens if you set both app$title and the template? The template wins? Maybe adding some default title app$title("On no! Not again!") in this test makes that behavior more obvious.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

If you set app$title, it wins. I suspect this is what we want, rather than the template taking precedence, though I cannot say for sure.

@rpkyle
rpkyle merged commit f6a2172 into masterFeb 13, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

high priorityparityModifications to improve parity across Dash implementations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rpkyle@Marc-Andre-Rivet@byronz@HammadTheOne
, '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('^' + ".*" + ' Dash for R v0.3.0 by rpkyle · Pull Request #175 · plotly/dashR · GitHub
Skip to content

Dash for R v0.3.0 - #175

Merged
rpkyle merged 45 commits into
masterfrom
dev
Feb 13, 2020
Merged

Dash for R v0.3.0#175
rpkyle merged 45 commits into
masterfrom
dev

Conversation

@rpkyle

@rpkylerpkyle commented Feb 12, 2020

Copy link
Copy Markdown
Contributor

This PR implements several new features related to the Dash for R v0.3.0 release:

[0.3.0] - 2020-02-12

Added

  • Support for config-aware relative paths #172
  • Support index customization and index templates #168
  • Application titles may be set using the app$title() method, for parity with Dash for Python's app.title syntax #168

Changed

  • Dash for R now requires dashCoreComponents v1.8.0
  • Dash for R now requires dashTable v4.6.0
  • Automatically set routes and requests pathname prefixes if DASH_APP_NAME environment variable has been set #165

Deprecated

  • Application titles can no longer be set using name parameter, which is now deprecated with a warning, for parity with Dash for Python #168
  • Removed DASH_HOST and DASH_PORT, Dash for R now respects HOST and PORT#167

@alexcjohnson

rpkyleand others added 30 commits August 23, 2019 09:23
* rename pruned_errors to prune_errors
* rename pruned to prune
* provide support for no_update in Dash for R (#111)
* rename pruned_errors to prune_errors
* rename pruned to prune
* 🔨 handle stop errors
* 🚨 add test for stop errors
byron
add more trace for pytest
* Add line number context to stack traces when srcrefs are available (#133)
* ✨ Support line #s when in debug mode
* ✨ Add use_viewer option for RStudio
* 🚨 Add soft and hard hot reloading tests
* ✨ initial support for meta tags
* support arbitrary tags
* 🚨 add tests
* 🔬 add asserts
* add reference to meta tag PR
* ⏩ indent meta tags
* add eager_loading parameter
* 📛 add buildFingerprint
* 📛 add checkFingerprint
* use getDependencyPath, + 🐾/Etag support
* updates to support async
* ✨ properly support gz compression
* 🐛 post-async fixes for CSS handling
…races (#137)
* 🚚 upgrade dash-renderer to v1.2.2, 🔨 fix stack traces
* 🚚 add polyfill.js
* refactor resolvePrefix
* camel case resolve_prefix
* Update R/utils.R
Co-authored-by: HammadTheOne <30986043+HammadTheOne@users.noreply.github.com>
@rpkylerpkyle added high priority parity Modifications to improve parity across Dash implementations labels Feb 12, 2020
@rpkylerpkyle self-assigned this Feb 12, 2020
Comment threadCHANGELOG.md
- Application titles may be set using the `app$title()` method, for parity with Dash for Python's `app.title` syntax [#168](https://github.com/plotly/dashR/pull/168)

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The table version bump should also be mentioned.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in c03c6c1

Comment threadCHANGELOG.md Outdated

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0
- Rename `DASH_HOST` to `HOST` and `DASH_PORT` to `PORT` [#167](https://github.com/plotly/dashR/pull/167)

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 goes beyond the scope of ### Changed and could be ### Deprecated (or removed)+### Added entries instead. Same for DASH_APP_NAME below. As this is a 0.x release it's not technically 100% necessary. At your discretion.

@rpkylerpkyleFeb 12, 2020

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in 030adb4 and 744b696

Comment threadR/dash.R Outdated
Comment threadR/dash.R Outdated
Comment threadR/dash.R

# akin to https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L338
# note discussion here https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L279-L284
custom_index = NULL,

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.

Typo at line 965: dire ctly

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.

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.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed, fixed, fixed in 49c97da

Comment threadR/utils.R
}

resolve_prefix <- function(prefix, environment_var, base_pathname) {
resolvePrefix <- function(prefix, environment_var, base_pathname) {

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.

Just wondering why this function is changed to camelCase when many other functions are snake_case.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I'm going to open a PR to migrate all functions to camelCase and variables to snake_case, which follows the generally accepted style rules for R. That will likely occur within the next week, prior to CRAN submission.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

cf. https://google.github.io/styleguide/Rguide.html, though they use Pascal case instead of camel case, and maybe we should also. 🤔

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.

Kk, thx. Pick one, enforce it. Move on :)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

:neckbeard: 📘 🤺

rpkyleand others added 3 commits February 12, 2020 14:36
Co-Authored-By: Marc-André Rivet <Marc-Andre-Rivet@users.noreply.github.com>
<html>
<head>
{%meta_tags%}
<title>Testing Again</title>

@Marc-Andre-RivetMarc-Andre-RivetFeb 12, 2020

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.

What happens if you set both app$title and the template? The template wins? Maybe adding some default title app$title("On no! Not again!") in this test makes that behavior more obvious.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

If you set app$title, it wins. I suspect this is what we want, rather than the template taking precedence, though I cannot say for sure.

@rpkyle
rpkyle merged commit f6a2172 into masterFeb 13, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

high priorityparityModifications to improve parity across Dash implementations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rpkyle@Marc-Andre-Rivet@byronz@HammadTheOne
, '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" + ' Dash for R v0.3.0 by rpkyle · Pull Request #175 · plotly/dashR · GitHub
Skip to content

Dash for R v0.3.0 - #175

Merged
rpkyle merged 45 commits into
masterfrom
dev
Feb 13, 2020
Merged

Dash for R v0.3.0#175
rpkyle merged 45 commits into
masterfrom
dev

Conversation

@rpkyle

@rpkylerpkyle commented Feb 12, 2020

Copy link
Copy Markdown
Contributor

This PR implements several new features related to the Dash for R v0.3.0 release:

[0.3.0] - 2020-02-12

Added

  • Support for config-aware relative paths #172
  • Support index customization and index templates #168
  • Application titles may be set using the app$title() method, for parity with Dash for Python's app.title syntax #168

Changed

  • Dash for R now requires dashCoreComponents v1.8.0
  • Dash for R now requires dashTable v4.6.0
  • Automatically set routes and requests pathname prefixes if DASH_APP_NAME environment variable has been set #165

Deprecated

  • Application titles can no longer be set using name parameter, which is now deprecated with a warning, for parity with Dash for Python #168
  • Removed DASH_HOST and DASH_PORT, Dash for R now respects HOST and PORT#167

@alexcjohnson

rpkyleand others added 30 commits August 23, 2019 09:23
* rename pruned_errors to prune_errors
* rename pruned to prune
* provide support for no_update in Dash for R (#111)
* rename pruned_errors to prune_errors
* rename pruned to prune
* 🔨 handle stop errors
* 🚨 add test for stop errors
byron
add more trace for pytest
* Add line number context to stack traces when srcrefs are available (#133)
* ✨ Support line #s when in debug mode
* ✨ Add use_viewer option for RStudio
* 🚨 Add soft and hard hot reloading tests
* ✨ initial support for meta tags
* support arbitrary tags
* 🚨 add tests
* 🔬 add asserts
* add reference to meta tag PR
* ⏩ indent meta tags
* add eager_loading parameter
* 📛 add buildFingerprint
* 📛 add checkFingerprint
* use getDependencyPath, + 🐾/Etag support
* updates to support async
* ✨ properly support gz compression
* 🐛 post-async fixes for CSS handling
…races (#137)
* 🚚 upgrade dash-renderer to v1.2.2, 🔨 fix stack traces
* 🚚 add polyfill.js
* refactor resolvePrefix
* camel case resolve_prefix
* Update R/utils.R
Co-authored-by: HammadTheOne <30986043+HammadTheOne@users.noreply.github.com>
@rpkylerpkyle added high priority parity Modifications to improve parity across Dash implementations labels Feb 12, 2020
@rpkylerpkyle self-assigned this Feb 12, 2020
Comment threadCHANGELOG.md
- Application titles may be set using the `app$title()` method, for parity with Dash for Python's `app.title` syntax [#168](https://github.com/plotly/dashR/pull/168)

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The table version bump should also be mentioned.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in c03c6c1

Comment threadCHANGELOG.md Outdated

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0
- Rename `DASH_HOST` to `HOST` and `DASH_PORT` to `PORT` [#167](https://github.com/plotly/dashR/pull/167)

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 goes beyond the scope of ### Changed and could be ### Deprecated (or removed)+### Added entries instead. Same for DASH_APP_NAME below. As this is a 0.x release it's not technically 100% necessary. At your discretion.

@rpkylerpkyleFeb 12, 2020

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in 030adb4 and 744b696

Comment threadR/dash.R Outdated
Comment threadR/dash.R Outdated
Comment threadR/dash.R

# akin to https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L338
# note discussion here https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L279-L284
custom_index = NULL,

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.

Typo at line 965: dire ctly

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.

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.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed, fixed, fixed in 49c97da

Comment threadR/utils.R
}

resolve_prefix <- function(prefix, environment_var, base_pathname) {
resolvePrefix <- function(prefix, environment_var, base_pathname) {

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.

Just wondering why this function is changed to camelCase when many other functions are snake_case.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I'm going to open a PR to migrate all functions to camelCase and variables to snake_case, which follows the generally accepted style rules for R. That will likely occur within the next week, prior to CRAN submission.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

cf. https://google.github.io/styleguide/Rguide.html, though they use Pascal case instead of camel case, and maybe we should also. 🤔

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.

Kk, thx. Pick one, enforce it. Move on :)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

:neckbeard: 📘 🤺

rpkyleand others added 3 commits February 12, 2020 14:36
Co-Authored-By: Marc-André Rivet <Marc-Andre-Rivet@users.noreply.github.com>
<html>
<head>
{%meta_tags%}
<title>Testing Again</title>

@Marc-Andre-RivetMarc-Andre-RivetFeb 12, 2020

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.

What happens if you set both app$title and the template? The template wins? Maybe adding some default title app$title("On no! Not again!") in this test makes that behavior more obvious.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

If you set app$title, it wins. I suspect this is what we want, rather than the template taking precedence, though I cannot say for sure.

@rpkyle
rpkyle merged commit f6a2172 into masterFeb 13, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

high priorityparityModifications to improve parity across Dash implementations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rpkyle@Marc-Andre-Rivet@byronz@HammadTheOne
, '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('^' + ".*" + ' Dash for R v0.3.0 by rpkyle · Pull Request #175 · plotly/dashR · GitHub
Skip to content

Dash for R v0.3.0 - #175

Merged
rpkyle merged 45 commits into
masterfrom
dev
Feb 13, 2020
Merged

Dash for R v0.3.0#175
rpkyle merged 45 commits into
masterfrom
dev

Conversation

@rpkyle

@rpkylerpkyle commented Feb 12, 2020

Copy link
Copy Markdown
Contributor

This PR implements several new features related to the Dash for R v0.3.0 release:

[0.3.0] - 2020-02-12

Added

  • Support for config-aware relative paths #172
  • Support index customization and index templates #168
  • Application titles may be set using the app$title() method, for parity with Dash for Python's app.title syntax #168

Changed

  • Dash for R now requires dashCoreComponents v1.8.0
  • Dash for R now requires dashTable v4.6.0
  • Automatically set routes and requests pathname prefixes if DASH_APP_NAME environment variable has been set #165

Deprecated

  • Application titles can no longer be set using name parameter, which is now deprecated with a warning, for parity with Dash for Python #168
  • Removed DASH_HOST and DASH_PORT, Dash for R now respects HOST and PORT#167

@alexcjohnson

rpkyleand others added 30 commits August 23, 2019 09:23
* rename pruned_errors to prune_errors
* rename pruned to prune
* provide support for no_update in Dash for R (#111)
* rename pruned_errors to prune_errors
* rename pruned to prune
* 🔨 handle stop errors
* 🚨 add test for stop errors
byron
add more trace for pytest
* Add line number context to stack traces when srcrefs are available (#133)
* ✨ Support line #s when in debug mode
* ✨ Add use_viewer option for RStudio
* 🚨 Add soft and hard hot reloading tests
* ✨ initial support for meta tags
* support arbitrary tags
* 🚨 add tests
* 🔬 add asserts
* add reference to meta tag PR
* ⏩ indent meta tags
* add eager_loading parameter
* 📛 add buildFingerprint
* 📛 add checkFingerprint
* use getDependencyPath, + 🐾/Etag support
* updates to support async
* ✨ properly support gz compression
* 🐛 post-async fixes for CSS handling
…races (#137)
* 🚚 upgrade dash-renderer to v1.2.2, 🔨 fix stack traces
* 🚚 add polyfill.js
* refactor resolvePrefix
* camel case resolve_prefix
* Update R/utils.R
Co-authored-by: HammadTheOne <30986043+HammadTheOne@users.noreply.github.com>
@rpkylerpkyle added high priority parity Modifications to improve parity across Dash implementations labels Feb 12, 2020
@rpkylerpkyle self-assigned this Feb 12, 2020
Comment threadCHANGELOG.md
- Application titles may be set using the `app$title()` method, for parity with Dash for Python's `app.title` syntax [#168](https://github.com/plotly/dashR/pull/168)

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The table version bump should also be mentioned.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in c03c6c1

Comment threadCHANGELOG.md Outdated

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0
- Rename `DASH_HOST` to `HOST` and `DASH_PORT` to `PORT` [#167](https://github.com/plotly/dashR/pull/167)

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 goes beyond the scope of ### Changed and could be ### Deprecated (or removed)+### Added entries instead. Same for DASH_APP_NAME below. As this is a 0.x release it's not technically 100% necessary. At your discretion.

@rpkylerpkyleFeb 12, 2020

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in 030adb4 and 744b696

Comment threadR/dash.R Outdated
Comment threadR/dash.R Outdated
Comment threadR/dash.R

# akin to https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L338
# note discussion here https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L279-L284
custom_index = NULL,

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.

Typo at line 965: dire ctly

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.

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.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed, fixed, fixed in 49c97da

Comment threadR/utils.R
}

resolve_prefix <- function(prefix, environment_var, base_pathname) {
resolvePrefix <- function(prefix, environment_var, base_pathname) {

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.

Just wondering why this function is changed to camelCase when many other functions are snake_case.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I'm going to open a PR to migrate all functions to camelCase and variables to snake_case, which follows the generally accepted style rules for R. That will likely occur within the next week, prior to CRAN submission.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

cf. https://google.github.io/styleguide/Rguide.html, though they use Pascal case instead of camel case, and maybe we should also. 🤔

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.

Kk, thx. Pick one, enforce it. Move on :)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

:neckbeard: 📘 🤺

rpkyleand others added 3 commits February 12, 2020 14:36
Co-Authored-By: Marc-André Rivet <Marc-Andre-Rivet@users.noreply.github.com>
<html>
<head>
{%meta_tags%}
<title>Testing Again</title>

@Marc-Andre-RivetMarc-Andre-RivetFeb 12, 2020

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.

What happens if you set both app$title and the template? The template wins? Maybe adding some default title app$title("On no! Not again!") in this test makes that behavior more obvious.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

If you set app$title, it wins. I suspect this is what we want, rather than the template taking precedence, though I cannot say for sure.

@rpkyle
rpkyle merged commit f6a2172 into masterFeb 13, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

high priorityparityModifications to improve parity across Dash implementations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rpkyle@Marc-Andre-Rivet@byronz@HammadTheOne
, '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('^' + ".*" + ' Dash for R v0.3.0 by rpkyle · Pull Request #175 · plotly/dashR · GitHub
Skip to content

Dash for R v0.3.0 - #175

Merged
rpkyle merged 45 commits into
masterfrom
dev
Feb 13, 2020
Merged

Dash for R v0.3.0#175
rpkyle merged 45 commits into
masterfrom
dev

Conversation

@rpkyle

@rpkylerpkyle commented Feb 12, 2020

Copy link
Copy Markdown
Contributor

This PR implements several new features related to the Dash for R v0.3.0 release:

[0.3.0] - 2020-02-12

Added

  • Support for config-aware relative paths #172
  • Support index customization and index templates #168
  • Application titles may be set using the app$title() method, for parity with Dash for Python's app.title syntax #168

Changed

  • Dash for R now requires dashCoreComponents v1.8.0
  • Dash for R now requires dashTable v4.6.0
  • Automatically set routes and requests pathname prefixes if DASH_APP_NAME environment variable has been set #165

Deprecated

  • Application titles can no longer be set using name parameter, which is now deprecated with a warning, for parity with Dash for Python #168
  • Removed DASH_HOST and DASH_PORT, Dash for R now respects HOST and PORT#167

@alexcjohnson

rpkyleand others added 30 commits August 23, 2019 09:23
* rename pruned_errors to prune_errors
* rename pruned to prune
* provide support for no_update in Dash for R (#111)
* rename pruned_errors to prune_errors
* rename pruned to prune
* 🔨 handle stop errors
* 🚨 add test for stop errors
byron
add more trace for pytest
* Add line number context to stack traces when srcrefs are available (#133)
* ✨ Support line #s when in debug mode
* ✨ Add use_viewer option for RStudio
* 🚨 Add soft and hard hot reloading tests
* ✨ initial support for meta tags
* support arbitrary tags
* 🚨 add tests
* 🔬 add asserts
* add reference to meta tag PR
* ⏩ indent meta tags
* add eager_loading parameter
* 📛 add buildFingerprint
* 📛 add checkFingerprint
* use getDependencyPath, + 🐾/Etag support
* updates to support async
* ✨ properly support gz compression
* 🐛 post-async fixes for CSS handling
…races (#137)
* 🚚 upgrade dash-renderer to v1.2.2, 🔨 fix stack traces
* 🚚 add polyfill.js
* refactor resolvePrefix
* camel case resolve_prefix
* Update R/utils.R
Co-authored-by: HammadTheOne <30986043+HammadTheOne@users.noreply.github.com>
@rpkylerpkyle added high priority parity Modifications to improve parity across Dash implementations labels Feb 12, 2020
@rpkylerpkyle self-assigned this Feb 12, 2020
Comment threadCHANGELOG.md
- Application titles may be set using the `app$title()` method, for parity with Dash for Python's `app.title` syntax [#168](https://github.com/plotly/dashR/pull/168)

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The table version bump should also be mentioned.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in c03c6c1

Comment threadCHANGELOG.md Outdated

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0
- Rename `DASH_HOST` to `HOST` and `DASH_PORT` to `PORT` [#167](https://github.com/plotly/dashR/pull/167)

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 goes beyond the scope of ### Changed and could be ### Deprecated (or removed)+### Added entries instead. Same for DASH_APP_NAME below. As this is a 0.x release it's not technically 100% necessary. At your discretion.

@rpkylerpkyleFeb 12, 2020

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in 030adb4 and 744b696

Comment threadR/dash.R Outdated
Comment threadR/dash.R Outdated
Comment threadR/dash.R

# akin to https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L338
# note discussion here https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L279-L284
custom_index = NULL,

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.

Typo at line 965: dire ctly

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.

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.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed, fixed, fixed in 49c97da

Comment threadR/utils.R
}

resolve_prefix <- function(prefix, environment_var, base_pathname) {
resolvePrefix <- function(prefix, environment_var, base_pathname) {

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.

Just wondering why this function is changed to camelCase when many other functions are snake_case.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I'm going to open a PR to migrate all functions to camelCase and variables to snake_case, which follows the generally accepted style rules for R. That will likely occur within the next week, prior to CRAN submission.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

cf. https://google.github.io/styleguide/Rguide.html, though they use Pascal case instead of camel case, and maybe we should also. 🤔

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.

Kk, thx. Pick one, enforce it. Move on :)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

:neckbeard: 📘 🤺

rpkyleand others added 3 commits February 12, 2020 14:36
Co-Authored-By: Marc-André Rivet <Marc-Andre-Rivet@users.noreply.github.com>
<html>
<head>
{%meta_tags%}
<title>Testing Again</title>

@Marc-Andre-RivetMarc-Andre-RivetFeb 12, 2020

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.

What happens if you set both app$title and the template? The template wins? Maybe adding some default title app$title("On no! Not again!") in this test makes that behavior more obvious.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

If you set app$title, it wins. I suspect this is what we want, rather than the template taking precedence, though I cannot say for sure.

@rpkyle
rpkyle merged commit f6a2172 into masterFeb 13, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

high priorityparityModifications to improve parity across Dash implementations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rpkyle@Marc-Andre-Rivet@byronz@HammadTheOne
, '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); } })(); })(); Dash for R v0.3.0 by rpkyle · Pull Request #175 · plotly/dashR · GitHub
Skip to content

Dash for R v0.3.0 - #175

Merged
rpkyle merged 45 commits into
masterfrom
dev
Feb 13, 2020
Merged

Dash for R v0.3.0#175
rpkyle merged 45 commits into
masterfrom
dev

Conversation

@rpkyle

@rpkylerpkyle commented Feb 12, 2020

Copy link
Copy Markdown
Contributor

This PR implements several new features related to the Dash for R v0.3.0 release:

[0.3.0] - 2020-02-12

Added

  • Support for config-aware relative paths #172
  • Support index customization and index templates #168
  • Application titles may be set using the app$title() method, for parity with Dash for Python's app.title syntax #168

Changed

  • Dash for R now requires dashCoreComponents v1.8.0
  • Dash for R now requires dashTable v4.6.0
  • Automatically set routes and requests pathname prefixes if DASH_APP_NAME environment variable has been set #165

Deprecated

  • Application titles can no longer be set using name parameter, which is now deprecated with a warning, for parity with Dash for Python #168
  • Removed DASH_HOST and DASH_PORT, Dash for R now respects HOST and PORT#167

@alexcjohnson

rpkyleand others added 30 commits August 23, 2019 09:23
* rename pruned_errors to prune_errors
* rename pruned to prune
* provide support for no_update in Dash for R (#111)
* rename pruned_errors to prune_errors
* rename pruned to prune
* 🔨 handle stop errors
* 🚨 add test for stop errors
byron
add more trace for pytest
* Add line number context to stack traces when srcrefs are available (#133)
* ✨ Support line #s when in debug mode
* ✨ Add use_viewer option for RStudio
* 🚨 Add soft and hard hot reloading tests
* ✨ initial support for meta tags
* support arbitrary tags
* 🚨 add tests
* 🔬 add asserts
* add reference to meta tag PR
* ⏩ indent meta tags
* add eager_loading parameter
* 📛 add buildFingerprint
* 📛 add checkFingerprint
* use getDependencyPath, + 🐾/Etag support
* updates to support async
* ✨ properly support gz compression
* 🐛 post-async fixes for CSS handling
…races (#137)
* 🚚 upgrade dash-renderer to v1.2.2, 🔨 fix stack traces
* 🚚 add polyfill.js
* refactor resolvePrefix
* camel case resolve_prefix
* Update R/utils.R
Co-authored-by: HammadTheOne <30986043+HammadTheOne@users.noreply.github.com>
@rpkylerpkyle added high priority parity Modifications to improve parity across Dash implementations labels Feb 12, 2020
@rpkylerpkyle self-assigned this Feb 12, 2020
Comment threadCHANGELOG.md
- Application titles may be set using the `app$title()` method, for parity with Dash for Python's `app.title` syntax [#168](https://github.com/plotly/dashR/pull/168)

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The table version bump should also be mentioned.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in c03c6c1

Comment threadCHANGELOG.md Outdated

### Changed
- Dash for R now requires `dashCoreComponents` v1.8.0
- Rename `DASH_HOST` to `HOST` and `DASH_PORT` to `PORT` [#167](https://github.com/plotly/dashR/pull/167)

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 goes beyond the scope of ### Changed and could be ### Deprecated (or removed)+### Added entries instead. Same for DASH_APP_NAME below. As this is a 0.x release it's not technically 100% necessary. At your discretion.

@rpkylerpkyleFeb 12, 2020

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed in 030adb4 and 744b696

Comment threadR/dash.R Outdated
Comment threadR/dash.R Outdated
Comment threadR/dash.R

# akin to https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L338
# note discussion here https://github.com/plotly/dash/blob/d2ebc837/dash/dash.py#L279-L284
custom_index = NULL,

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.

Typo at line 965: dire ctly

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.

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.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

fixed, fixed, fixed in 49c97da

Comment threadR/utils.R
}

resolve_prefix <- function(prefix, environment_var, base_pathname) {
resolvePrefix <- function(prefix, environment_var, base_pathname) {

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.

Just wondering why this function is changed to camelCase when many other functions are snake_case.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I'm going to open a PR to migrate all functions to camelCase and variables to snake_case, which follows the generally accepted style rules for R. That will likely occur within the next week, prior to CRAN submission.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

cf. https://google.github.io/styleguide/Rguide.html, though they use Pascal case instead of camel case, and maybe we should also. 🤔

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.

Kk, thx. Pick one, enforce it. Move on :)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

:neckbeard: 📘 🤺

rpkyleand others added 3 commits February 12, 2020 14:36
Co-Authored-By: Marc-André Rivet <Marc-Andre-Rivet@users.noreply.github.com>
<html>
<head>
{%meta_tags%}
<title>Testing Again</title>

@Marc-Andre-RivetMarc-Andre-RivetFeb 12, 2020

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.

What happens if you set both app$title and the template? The template wins? Maybe adding some default title app$title("On no! Not again!") in this test makes that behavior more obvious.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

If you set app$title, it wins. I suspect this is what we want, rather than the template taking precedence, though I cannot say for sure.

@rpkyle
rpkyle merged commit f6a2172 into masterFeb 13, 2020
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

high priorityparityModifications to improve parity across Dash implementations

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@rpkyle@Marc-Andre-Rivet@byronz@HammadTheOne