mwModule

Add a manipulateWidget to a shiny application

These two functions can be used to include a manipulateWidget object in a shiny application. mwModuleUI must be used in the UI to generate the required HTML elements and add javascript and css dependencies. mwModule must be called once in the server function of the application.

Usage
mwModule(id, controller, fillPage = FALSE, ...)

mwModuleUI( id, border = TRUE, okBtn = FALSE, saveBtn = TRUE, exportBtn = TRUE, margin = 0, width = "100%", height = 400, header = NULL, footer = NULL )

Arguments
id

A unique string that identifies the module

controller

Object of class MWController returned by manipulateWidget when parameter .runApp is FALSE.

fillPage

: logical. Render in a fillPage or not ? Defaut to FALSE

...

named arguments containing reactive values. They can be used to send data from the main shiny application to the module.

border

Should a border be added to the module ?

okBtn

Should the UI contain the OK button ?

saveBtn

Should the UI contain the save button ? For saving output as html

exportBtn

Should an export button be added to the controls ? For saving output as png

margin

Margin to apply around the module UI. Should be one two or four valid css units.

width

Width of the module UI.

height

Height of the module UI.

header

Tag or list of tags to display as a common header above all tabPanels.

footer

Tag or list of tags to display as a common footer below all tabPanels

Value

mwModuleUI returns the required HTML elements for the module. mwModule is only used for its side effects.

Aliases
  • mwModule
  • mwModuleUI
Examples
# NOT RUN {
if (interactive() & require("dygraphs")) {
  require("shiny")
  ui <- fillPage(
  fillRow(
    flex = c(NA, 1),
    div(
      textInput("title", label = "Title", value = "glop"),
      selectInput("series", "series", choices = c("series1", "series2", "series3"))
    ),
    mwModuleUI("ui", height = "100%")
  ))

  server <- function(input, output, session) {
    mydata <- data.frame(
      year = 2000+1:100,
      series1 = rnorm(100),
      series2 = rnorm(100),
      series3 = rnorm(100)
    )

    c <- manipulateWidget(
      {
        dygraph(mydata[range[1]:range[2] - 2000, c("year", series)], main = title)
      },
      range = mwSlider(2001, 2100, c(2001, 2050)),
      series = mwSharedValue(),
      title = mwSharedValue(), .runApp = FALSE,
      .compare = "range"
    )
    #
    mwModule("ui", c, title = reactive(input$title), series = reactive(input$series))
  }

  shinyApp(ui, server)


}

# }
Documentation reproduced from package manipulateWidget, version 0.10.1, License: GPL (>= 2) | file LICENSE

Community examples

Looks like there are no examples yet.