Nothing
manipulateWidget()
has now new controls to enter in comparison mode, choose the number of charts, the layout and the variables to compare.compareOptions()
gains a new argument allowCompare
to hide/show the new controls presented above.mwTranslations()
to translate UI elements.manipulateWidget()
had the same name as a variable in the global environment.mwSelect(multiple = TRUE)
was not updating charts when selection was empty.staticPlot()
was evaluating expressions in the wrong environment.mwModule()
and mwModuleUI()
: you have to passed directly ui options like buttons on mwModuleUI()
rather than in mwModule()
manipulateWidget
gains a new parameter ".exportBtn" to show or hide this button..saveBtn
using modulemwGroup
mwSelectize
input.showCompare
shiny
with fluidPage
and manipulateWidget
manipulateWidget()
has a new parameter .updateBtnInit
. In case of update button .updateBtn
, you can decide to render graphics on init or not.manipulateWidget
gains a new parameter ".saveBtn" to show or hide this button.manipulateWidget()
has a new parameter ".runApp". If it is false, then the function returns an object of class MWController
that can be modified using command line instructions. This is useful to write tests for UIs created with manipulateWidget()
.manipulateWidget
interfaces can now be included in shiny applications thanks to the two new functions mwModule()
and mwModuleUI()
.mwSharedValue
has been introduced. It can be used to avoid repeating the same computations when inputs and output use a common intermediary value. It can also be used when
manipulateWidget()
is used in a shiny application to send data from the main application to the module.manipulateWidget()
now only updates the dependant inputs and outputs when user changes the value of an input. This can lead to important performance improvement in complicated applications.mwModule()
now return controller
value, with possibility to use new clear()
methodheader
, footer
and fluidRow
arguments to mwModuleUI()
manipulateWidget()
has lost all arguments that were used to customize the UI. Parameters .controlPos
, .tabColumns
and .compareLayout
do not exist anymore.manipulateWidget()
now creates a more compact and elegant user interface.manipulateWidget()
has a new argument .compareOpts
to control the number of charts and their position..compare
of manipulateWidget
can now be a character vector. manipulateWidget()
now has a simpler API to show, hide and update inputs dynamically. Parameters .display
and .updateInputs
have been removed.mwUI()
and mwControlsUI()
have been removed.manipulateWidget()
gains a new parameter .return
to modify the object returned by the function.manipulateWidget()
has two new arguments .width
and .height
to control size of the UI in Rmarkdown documents with option runtime: shiny
mwGroup
can be used to create groups of input..id
is now available when evaluating the initial properties of the input controls. This can be useful in comparison mode, for instance to set different choices for a select input. .updateInputs
was used..compare
and .updateInputs
were used together.manipulateWidget()
can now be used in a R Markdown document with shiny runtime. Input controls are included in the final document so end users can play with their values directly. (contribution by JJ. Allaire)manipulateWidget()
has two new arguments .compare
and .compareLayout
to create a comparison interface. When .compare
is set, two charts are outputed with some common and some individual input controls (see vignette).manipulateWidget()
can be dynamically updated thanks to the new argument ".updateInputs".staticImage()
and staticPlot()
to include in a combine widget a static image or a static plot created with base functions, ggplot2, etc.combinedWidgets
objects, individual widgets are stored in a property called widgets
, so users can now access them and modify them.combineWidgets()
has been entirely rewritten and now produces a htmlwidget that can be included as is in documents or shiny applications. The general behavior is the same, but some parameters have changed.manipulateWidget()
can now update an already rendered widget instead of overwriting it each time the user changes an input. This leads to better performance and user experience. Look at the documentation of manipulateWidget for further information.manipulateWidget()
now preserves the order of the initial value of select inputs.manipulateWidget()
now automatically finds the correct render and output functions. This solves in particular sizing problems.mwUI()
and mwControlsUI()
have been added to let the user easily reuse the user interface generated by the package but with different server logic.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.