inst/doc/built_in.R

## ---- include = FALSE---------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

## ---- echo=FALSE--------------------------------------------------------------
library(htmltools)
tags$div(
  class = "shiny-app-frame",
  tags$iframe(
    src = "https://andrie-de-vries.shinyapps.io/sortable_rank_list_app/",
    width = "100%",
    height = 550
    )
)

## ----echo=FALSE, cache=FALSE--------------------------------------------------
knitr::read_chunk(
  system.file("shiny-examples/rank_list/app.R", package = "sortable")
)

## ----rank-list-app, eval=FALSE------------------------------------------------
#  ## Example shiny app with rank list
#  
#  library(shiny)
#  library(sortable)
#  
#  labels <- list(
#    "one",
#    "two",
#    "three",
#    htmltools::tags$div(
#      htmltools::em("Complex"), " html tag without a name"
#    ),
#    "five" = htmltools::tags$div(
#      htmltools::em("Complex"), " html tag with name: 'five'"
#    )
#  )
#  
#  rank_list_basic <- rank_list(
#    text = "Drag the items in any desired order",
#    labels = labels,
#    input_id = "rank_list_basic"
#  )
#  
#  rank_list_swap <- rank_list(
#    text = "Notice that dragging causes items to swap",
#    labels = labels,
#    input_id = "rank_list_swap",
#    options = sortable_options(swap = TRUE)
#  )
#  
#  rank_list_multi <- rank_list(
#    text = "You can select multiple items, then drag as a group",
#    labels = labels,
#    input_id = "rank_list_multi",
#    options = sortable_options(multiDrag = TRUE)
#  )
#  
#  
#  
#  ui <- fluidPage(
#    fluidRow(
#      column(
#        width = 12,
#      tags$h2("Default, multi-drag and swapping behaviour"),
#        tabsetPanel(
#          type = "tabs",
#          tabPanel(
#            "Default",
#              tags$b("Exercise"),
#              rank_list_basic,
#              tags$b("Result"),
#              verbatimTextOutput("results_basic")
#          ),
#          tabPanel(
#            "Multi-drag",
#              tags$b("Exercise"),
#              rank_list_multi,
#              tags$b("Result"),
#              verbatimTextOutput("results_multi")
#          ),
#          tabPanel(
#            "Swap",
#              tags$b("Exercise"),
#              rank_list_swap,
#              tags$b("Result"),
#              verbatimTextOutput("results_swap")
#          )
#        )
#      )
#    )
#  )
#  
#  server <- function(input, output, session) {
#    output$results_basic <- renderPrint({
#      input$rank_list_basic # This matches the input_id of the rank list
#    })
#    output$results_multi <- renderPrint({
#      input$rank_list_multi # This matches the input_id of the rank list
#    })
#    output$results_swap <- renderPrint({
#      input$rank_list_swap # This matches the input_id of the rank list
#    })
#  }
#  
#  shinyApp(ui, server)

## ---- echo=FALSE--------------------------------------------------------------
library(htmltools)
tags$div(
  class = "shiny-app-frame",
  tags$iframe(
    src = "https://andrie-de-vries.shinyapps.io/sortable_bucket_list_app/",
    width = "100%",
    height = 800
    )
)

## ----echo=FALSE, cache=FALSE--------------------------------------------------
knitr::read_chunk(
  system.file("shiny-examples/bucket_list/app.R", package = "sortable")
)

## ----bucket-list-app, eval=FALSE----------------------------------------------
#  ## Example shiny app with bucket list
#  
#  library(shiny)
#  library(sortable)
#  
#  ui <- fluidPage(
#    tags$head(
#      tags$style(HTML(".bucket-list-container {min-height: 350px;}"))
#    ),
#    fluidRow(
#      column(
#        tags$b("Exercise"),
#        width = 12,
#        bucket_list(
#          header = "Drag the items in any desired bucket",
#          group_name = "bucket_list_group",
#          orientation = "horizontal",
#          add_rank_list(
#            text = "Drag from here",
#            labels = list(
#              "one",
#              "two",
#              "three",
#              htmltools::tags$div(
#                htmltools::em("Complex"), " html tag without a name"
#              ),
#              "five" = htmltools::tags$div(
#                htmltools::em("Complex"), " html tag with name: 'five'"
#              )
#            ),
#            input_id = "rank_list_1"
#          ),
#          add_rank_list(
#            text = "to here",
#            labels = NULL,
#            input_id = "rank_list_2"
#          )
#        )
#      )
#    ),
#    fluidRow(
#      column(
#        width = 12,
#        tags$b("Result"),
#        column(
#          width = 12,
#  
#          tags$p("input$rank_list_1"),
#          verbatimTextOutput("results_1"),
#  
#          tags$p("input$rank_list_2"),
#          verbatimTextOutput("results_2"),
#  
#          tags$p("input$bucket_list_group"),
#          verbatimTextOutput("results_3")
#        )
#      )
#    )
#  )
#  
#  server <- function(input, output, session) {
#    output$results_1 <-
#      renderPrint(
#        input$rank_list_1 # This matches the input_id of the first rank list
#      )
#    output$results_2 <-
#      renderPrint(
#        input$rank_list_2 # This matches the input_id of the second rank list
#      )
#    output$results_3 <-
#      renderPrint(
#        input$bucket_list_group # Matches the group_name of the bucket list
#      )
#  
#  }
#  
#  
#  shinyApp(ui, server)

Try the sortable package in your browser

Any scripts or data that you put into this service are public.

sortable documentation built on March 31, 2023, 9:35 p.m.