mwModule {manipulateWidget} | R Documentation

## Add a manipulateWidget to a shiny application

### Description

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.

### Examples

    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)

    }

[Package manipulateWidget version 0.10.0 Index]