Change the value of a colour input

Description

Change the value of a colour input on the client.

Usage

1
2
3
updateColourInput(session, inputId, label = NULL, value = NULL,
  showColour = NULL, palette = NULL, allowedCols = NULL,
  allowTransparent = NULL, transparentText = NULL, returnName = NULL)

Arguments

session

The session object passed to function given to shinyServer.

inputId

The id of the colour input object.

label

The label to set for the input object.

value

The value to set for the input object.

showColour

Whether to shoW the chosen colour via text, background, or both.

palette

The type of colour palette to allow the user to select colours from.

allowedCols

A list of colours that the user can choose from.

allowTransparent

If TRUE, then add a checkbox that allows the user to select the transparent colour.

transparentText

The text to show beside the transparency checkbox when allowTransparent is TRUE

returnName

If TRUE, then return the name of an R colour instead of a HEX value when possible.

Details

The update function sends a message to the client, telling it to change the settings of a colour input object.
This function works similarly to the update functions provided by shiny.
Any argument with NULL values will be ignored.

Note

See http://daattali.com/shiny/colourInput/ for a live demo.

See Also

colourInput

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if (interactive()) {
  library(shiny)
  shinyApp(
    ui = fluidPage(
      div("Selected colour:", textOutput("value", inline = TRUE)),
      colourInput("col", "Choose colour", "red"),
      h3("Update colour input"),
      textInput("text", "New colour: (colour name or HEX value)"),
      selectInput("showColour", "Show colour",
        c("both", "text", "background")),
      checkboxInput("allowTransparent", "Allow transparent", FALSE),
      checkboxInput("returnName", "Return R colour name", FALSE),
      actionButton("btn", "Update")
    ),
    server = function(input, output, session) {
      observeEvent(input$btn, {
        updateColourInput(session, "col",
          value = input$text, showColour = input$showColour,
          allowTransparent = input$allowTransparent,
          returnName = input$returnName)
      })
      output$value <- renderText(input$col)
    }
  )
}