Reimplementation of esOutput.
Improvements
- 🚀 Upgraded dependencies. Functionality is implemented using the current, best-in-class dependency with the brightest future. For example, shinydashboard is (soft-)deprecrated in favor of bslib, preparations are made to replace DT with gt (see #19).
- 🧩 All elements are shiny modules. This gives namespace isolation and makes it easier to reuse and recombine.
- ✅ All elements are thoroughly tested:
- Module server logic: In a reactive context, a module returns what it is supposed to (via
shiny::testServer()). - Module UI: The UI includes the all the elements it is supposed to (via
testthat::expect_snapshot()). -
Entire module behaves and looks as is supposed to (via shinytest2).Currently blocked by internal CI issues, #13
- Module server logic: In a reactive context, a module returns what it is supposed to (via
- 💄 All are known to work with:
- bootstrap 3, using elements from shinydashboard (
ui_liboption set to"sdb") (legacy) - bootstrap 5, using elements from bslib) (
ui_liboption set to"bslib") (recommended for future use)
- bootstrap 3, using elements from shinydashboard (
- 🧪 Elements can be easily inspected and developed inside a shiny testbed
crow::module2app(), rather than the full (frontend) app. - ✨ Modules improve a richer set of semantic styling choices, to allow developers to build a more informative interface. For example
esOutput2::value_box_es_server()s can be styled with bootstrap statuses.
Notice
Needs a GITHUB_PAT environment variable in the CICD settings on GitLab to pass. See #15.