Creates a ranking item list using the SortableJS framework, and generates an htmlwidgets element. The elements of this list can be dragged and dropped in any order.

You can embed a ranking question inside a learnr tutorial, using question_rank().

To embed a rank_list inside a shiny app, see the Details section.

rank_list(
  text = "",
  labels,
  input_id,
  css_id = NULL,
  options = sortable_options(),
  class = "default-sortable"
)

Arguments

text

Text to appear at top of list.

labels

A character vector with the text to display inside the widget. This can also be a list of html tag elements. The text content of each label or label name will be used to set the shiny input_id value.

input_id

output variable to read the plot/image from.

css_id

This is the css id to use, and must be unique in your shiny app. If NULL, the function generates a id of the form rank_list_id_1, and will automatically increment for every rank_list.

options

Options to be supplied to sortable_js object. See sortable_options for more details

class

A css class applied to the rank list. This can be used to define custom styling.

Details

You can embed a rank_list inside a Shiny app, to capture the preferred ranking order of your user.

The widget automatically updates a Shiny output, with the matching input_id.

See also

Examples

## - example-rank-list ------------------------------------------------ rank_list( text = "You can drag, drap and re-order these items:", labels = c("one", "two", "three", "four", "five"), input_id = "example_2" ) ## Example of a shiny app if (interactive()) { app <- system.file("shiny-examples/rank_list/app.R", package = "sortable") shiny::runApp(app) }