Nothing
Wallace
and the addition of basic functionality to demonstrate how modules can be used. Logging errors
These changes have been made:
common
- the data structure passed between modules - has been changed from a list()
containing spp <- reactiveValues()
to an R6::R6Class()
.common
not being inherently reactive, event triggers have been added using {gargoyle}
{shinytest2}
in addition to unit tests for the function that the module calls.run_module()
which can be used to run a single module.~~ Removed in 0.2.2 use run_<app name>()
or load_file_path
create_template()
which can be used to create a skeleton app.show_loading_modal()
which uses {shinybusy}
to display a modal whilst slow functions are running.save_and_load()
to automate adding the lines to modules which facilitate saving and loading of input values.{rintrojs}
which is only shown to users on their first visit.core_
modules.parent_session
to the modules enabling switching to the results, map and table tab from within modules and added show_table()
, show_results()
and show_table()
to simplify code.rep_renv
module to enable capturing dependencies.shiny::ExtendedTask()
.writeLog()
to use icons for different events.save_and_load()
to ignore manually added lines and fix indenting.metadata()
to semi-automate adding code for reproducibility.<identifier>_f.R
to prevent confusion between the function and module file.printVecAsis()
when generating the Rmarkdown, removing the need to manually wrap strings in the .Rmd
files.{shinyAce}
to display formatted code in core_code
module.select_query
and select_async
modules in the demonstration app have been re-written to use a different API.run_module()
as it was not maintainable.asyncLog()
to improve logging from inside async functions.run_<app name>()
to take a load file as an argument which is loaded automatically.load_file_path
containing the path to a save file will attempt to load it on app start up.create_template()
, metadata()
and save_and_load()
more robust.global.R
printVecAsis()
by using dput
to support improved reproducibility e.g. by including dataframes directlyinclude_map
is FALSE
in create_template()
create_template()
in teststype = warning
run
buttons can be pressed using the Enter keycore_code
module when no function existsregister_module()
as it has not been refactored to work for created apps common
objects existlibrary()
callsgargoyle::
and leaflet::
scoping plot_auto
and plot_semi
modules to the example app that run automatically and semi-automatically respectivelyasis
chunks and example to plot_hist.Rmd
common$reset()
and reset_data()
to reset the common
object and remove all outputscreate_template()
and create_module()
to include a downloadButton
and downloadHandler
to modules that is only visible once the module runs successfullycreate_template()
and create_module()
so that create_module()
creates the module function and testsshinyWidgets::radioGroupButtons()
for module selection menucreate_template()
select_query()
and select_async()
{shinytest2}
tests on CRAN {promises}
to {mirai}
for running async tasks{bslib}
layout functions and various UI tweaksR CMD check
{magrittr}
dependency and migrated to native pipes, increasing R dependency to v4.1.0create_module()
now creates skeleton functions that include {roxygen2}
tagscreate_template()
now creates testthat.R
filecreate_module()
module function calls for async apps containing a mapcommon
(i.e. excluding common$tasks
)Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.