Found 208 bookmarks
Newest
Themeable HTML components — bs_dependency
Themeable HTML components — bs_dependency
Themeable HTML components use Sass to generate CSS rules from Bootstrap Sass variables, functions, and/or mixins (i.e., stuff inside of theme). bs_dependencies() makes it a bit easier to create themeable components by compiling sass::sass() (input) together with Bootstrap Sass inside of a theme, and packaging up the result into an htmltools::htmlDependency(). Themable components can also be dynamically themed inside of Shiny (i.e., they may be themed in 'real-time' via bs_themer(), and more generally, update their styles in response to shiny::session's setCurrentTheme() method). Dynamically themeable components provide a "recipe" (i.e., a function) to bs_dependency_defer(), describing how to generate new CSS stylesheet(s) from a new theme. This function is called when the HTML page is first rendered, and may be invoked again with a new theme whenever shiny::session's setCurrentTheme() is called.
·rstudio.github.io·
Themeable HTML components — bs_dependency
Audit Shiny apps in few steps
Audit Shiny apps in few steps
Audit your Shiny apps at each commit. Multiple levels of testings are offered: startup and crash tests, performance tests (load test and global code profiling), reactivity audit as well as output tests. All results are gathered in an HTML report uploaded and available to everyone on any CI/CD plaform or RStudio Connect.
·opensource.nibr.com·
Audit Shiny apps in few steps
Master Shiny Apps: Complete R Web Development Guide
Master Shiny Apps: Complete R Web Development Guide
Master Shiny development with our comprehensive learning path covering fundamentals, UI design, server logic, advanced concepts, and production deployment. Transform from R user to professional web app developer through hands-on tutorials and real-world projects.
·datanovia.com·
Master Shiny Apps: Complete R Web Development Guide
Shiny Reactive Programming: Master Advanced Reactive Patterns
Shiny Reactive Programming: Master Advanced Reactive Patterns
Master Shiny’s reactive programming model with comprehensive coverage of reactive expressions, observers, event handling, and advanced patterns. Learn to build efficient, dynamic applications with proper reactive design.
·datanovia.com·
Shiny Reactive Programming: Master Advanced Reactive Patterns
"📁" U+1F4C1: File Folder (Unicode Character)
"📁" U+1F4C1: File Folder (Unicode Character)
The unicode character U+1F4C1 (📁) is named "File Folder" and belongs to the Miscellaneous Symbols and Pictographs block. It is HTML encoded as 📁.
·unicodeplus.com·
"📁" U+1F4C1: File Folder (Unicode Character)
Shiny Packaging Custom JS
Shiny Packaging Custom JS
Shiny is a package that makes it easy to create interactive web apps using R and Python.
·shiny.posit.co·
Shiny Packaging Custom JS
Shiny Custom Input Bindings
Shiny Custom Input Bindings
Shiny is a package that makes it easy to create interactive web apps using R and Python.
·shiny.posit.co·
Shiny Custom Input Bindings
Shiny Sending Messages
Shiny Sending Messages
Shiny is a package that makes it easy to create interactive web apps using R and Python.
·shiny.posit.co·
Shiny Sending Messages
Shiny Selectize Input
Shiny Selectize Input
Shiny is a package that makes it easy to create interactive web apps using R and Python.
·shiny.posit.co·
Shiny Selectize Input
Enterprise UI Design: Professional Bootstrap 5 for Shiny Apps
Enterprise UI Design: Professional Bootstrap 5 for Shiny Apps
Master enterprise-grade UI/UX design for Shiny applications using Bootstrap 5, bslib theming, and professional design systems. Learn to create accessible, responsive interfaces that meet corporate standards for biostatistics and clinical research applications.
·datanovia.com·
Enterprise UI Design: Professional Bootstrap 5 for Shiny Apps
Add Authentication and SSO to Your Shiny App
Add Authentication and SSO to Your Shiny App
Learn how to implement strong authentication and SSO in Shiny apps with Descope. This guide integrates both OIDC and SAML with Posit Connect for seamless login.
·descope.com·
Add Authentication and SSO to Your Shiny App
Replay
Replay
·app.events.ringcentral.com·
Replay
Retrieval-Augmented Generation (RAG) Workflows
Retrieval-Augmented Generation (RAG) Workflows
Provides tools for implementing Retrieval-Augmented Generation (RAG) workflows with Large Language Models (LLMs). Includes functions for document processing, text chunking, embedding generation, storage management, and content retrieval. Supports various document types and embedding providers (Ollama, OpenAI), with DuckDB as the default storage backend. Integrates with the ellmer package to equip chat objects with retrieval capabilities. Designed to offer both sensible defaults and customization options with transparent access to intermediate outputs.
·tidyverse.github.io·
Retrieval-Augmented Generation (RAG) Workflows
Standalone shiny application with nhyris
Standalone shiny application with nhyris
Transform your R Shiny applications into standalone desktop apps with nhyris. This minimal framework leverages Electron to simplify packaging and distribution, ensuring your Shiny apps are cross-platform and easy to deploy. Learn how to get started, customize your project, and build your first Electron application with nhyris.
·blog.jahnen.io·
Standalone shiny application with nhyris
Making Tables Shiny: DT, formattable, and reactable
Making Tables Shiny: DT, formattable, and reactable
Demo of popular packages for generating interactive tables suitable for Shiny apps
formattable Another nice table-making package is formattable. The cute heatmap-style colour formatting and the easy-to-use formatter functions make formattable very appealing. color_tile() fills the cells with a colour gradient corresponding to the values color_bar() adds a colour bar to each cell, where the length is proportional to the value The true_false_formatter() defined below demonstrates how to define your own formatting function, in this case formatting TRUE, FALSE and NA as green, red and black.
If you want the features of both DT and formattable, you can combine them by converting the formattable() output to as.datatable(), and much of the formattable features will be preserved.
However, one problem I had was that when using DT::datatable, missing values (NA) are left blank in the display (which I prefer), but in the converted from formattable() version, NA’s are printed. Also, color_bar columns seem to be converted to character, which can no longer be sorted numerically.
reactable Next I tried reactable, a package based on the React Table library.
Columns are customised via the columns argument, which takes a named list of column definitions defined using colDef(). These include format definitions created using colFormat.
In the end, I used DT::datatable() in my Shiny app, because I found it the easiest, fastest, and most comprehensive. I’ve been able to achieve most of the features I wanted using just DT.
Heatmap-like fill effect:
apply the formatStyle() function to the output of datatable() to set the backgroundColor for selected columns:
Abbreviate long cells
Sometimes some cells have a large amount of text that would mess up the table layout if I showed it all. In these cases, I like to abbreviate long values and show the full text in a tooltip. To do this, you can use JavaScript to format the column to show a substring with “…” and the full string in a tooltip (<span title="Long string">Substring...</span) when values are longer than N characters (in this case 10 characters). You can do this using columnDefs and pass JavaScript with the JS() function:
Really plain table Sometimes I don’t need any of the faff. Here’s how to get rid of it all:
headerCallbackRemoveHeaderFooter <- c( "function(thead, data, start, end, display){", " $('th', thead).css('display', 'none');", "}" )
datatable( my_pic_villagers, options = list( dom = "t", ordering = FALSE, paging = FALSE, searching = FALSE, headerCallback = JS(headerCallbackRemoveHeaderFooter) ), selection = 'none', callback = JS( "$('table.dataTable.no-footer').css('border-bottom', 'none');" ), class = 'row-border', escape = FALSE, rownames = FALSE, filter = "none", width = 500 )
·clarewest.github.io·
Making Tables Shiny: DT, formattable, and reactable
rstudio/shiny: Easy interactive web applications with R
rstudio/shiny: Easy interactive web applications with R
Easy interactive web applications with R.
Compared to event-based programming, reactivity allows Shiny to do the minimum amount of work when input(s) change, and allows humans to more easily reason about complex MVC logic.
An attractive default look based on Bootstrap which can also be easily customized with the bslib package or avoided entirely with more direct R bindings to HTML/CSS/JavaScript.
Tools for improving and monitoring performance, including native support for async programming, caching, load testing, and more.
·github.com·
rstudio/shiny: Easy interactive web applications with R
Shiny - Stop-Trigger-Delay
Shiny - Stop-Trigger-Delay
Shiny is a package that makes it easy to create interactive web apps using R and Python.
observeEvent() is used to perform an action in response to an event eventReactive() is used to create a calculated value that only updates in response to an event
observe() and reactive() functions automatically trigger on whatever they access observeEvent() and eventReactive() functions need to be explicitly told what triggers them
And where does isolate fit in all this? isolate() is used to stop a reaction observeEvent() is used to perform an action in response to an event eventReactive() is used to create a calculated value that only updates in response to an event
·shiny.posit.co·
Shiny - Stop-Trigger-Delay