colourpicker (version 0.3)

updateColourInput: Change the value of a colour input

Description

Change the value of a colour input on the client.

Usage

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.

See Also

colourInput

Examples

Run this code
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)
    }
  )
}

Run the code above in your browser using DataLab