% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/glass_multiselect.R
\name{updateGlassMultiSelect}
\alias{updateGlassMultiSelect}
\title{Update a glassMultiSelect widget}
\usage{
updateGlassMultiSelect(
  session,
  inputId,
  choices = NULL,
  selected = NULL,
  check_style = NULL
)
}
\arguments{
\item{session}{Shiny session.}

\item{inputId}{Input id of the widget.}

\item{choices}{New choices, or \code{NULL} to keep current choices.}

\item{selected}{New selected values, or \code{NULL} to keep current
selection. Use \code{character(0)} to clear.}

\item{check_style}{Optional new style string. One of \code{"checkbox"},
\code{"check-only"}, or \code{"filled"}. Defaults to \code{NULL}, which
keeps the current style unchanged.}
}
\description{
Update the available choices and/or current selection of an existing
\code{\link[=glassMultiSelect]{glassMultiSelect()}} input.
}
\details{
This function now follows Shiny-style update semantics more closely:

\itemize{
\item \code{choices = NULL} leaves choices unchanged
\item \code{selected = NULL} leaves selection unchanged
\item \code{selected = character(0)} clears the selection
}

When \code{choices} is supplied and \code{selected} is not, the browser side
keeps the intersection of the current selection and the new set of choices.
}
