104 lines
2.0 KiB
R
104 lines
2.0 KiB
R
library(shiny)
|
|
library(bslib)
|
|
|
|
# Define UI for slider demo app ----
|
|
ui <- page_sidebar(
|
|
|
|
# App title ----
|
|
title = "Sliders",
|
|
|
|
# Sidebar panel for inputs ----
|
|
sidebar = sidebar(
|
|
|
|
# Input: Simple integer interval ----
|
|
sliderInput(
|
|
"integer",
|
|
"Integer:",
|
|
min = 0,
|
|
max = 1000,
|
|
value = 500
|
|
),
|
|
|
|
# Input: Decimal interval with step value ----
|
|
sliderInput(
|
|
"decimal",
|
|
"Decimal:",
|
|
min = 0,
|
|
max = 1,
|
|
value = 0.5,
|
|
step = 0.1
|
|
),
|
|
|
|
# Input: Specification of range within an interval ----
|
|
sliderInput(
|
|
"range",
|
|
"Range:",
|
|
min = 1,
|
|
max = 1000,
|
|
value = c(200, 500)
|
|
),
|
|
|
|
# Input: Custom currency format for with basic animation ----
|
|
sliderInput(
|
|
"format",
|
|
"Custom Format:",
|
|
min = 0,
|
|
max = 10000,
|
|
value = 0,
|
|
step = 2500,
|
|
pre = "$",
|
|
sep = ",",
|
|
animate = TRUE
|
|
),
|
|
|
|
# Input: Animation with custom interval (in ms) ----
|
|
# to control speed, plus looping
|
|
sliderInput(
|
|
"animation",
|
|
"Looping Animation:",
|
|
min = 1,
|
|
max = 2000,
|
|
value = 1,
|
|
step = 10,
|
|
animate =
|
|
animationOptions(interval = 300, loop = TRUE)
|
|
)
|
|
),
|
|
|
|
# Output: Table summarizing the values entered ----
|
|
tableOutput("values")
|
|
)
|
|
|
|
# Define server logic for slider examples ----
|
|
server <- function(input, output) {
|
|
|
|
# Reactive expression to create data frame of all input values ----
|
|
sliderValues <- reactive({
|
|
data.frame(
|
|
Name = c(
|
|
"Integer",
|
|
"Decimal",
|
|
"Range",
|
|
"Custom Format",
|
|
"Animation"
|
|
),
|
|
Value = as.character(c(
|
|
input$integer,
|
|
input$decimal,
|
|
paste(input$range, collapse = " "),
|
|
input$format,
|
|
input$animation
|
|
)),
|
|
stringsAsFactors = FALSE
|
|
)
|
|
})
|
|
|
|
# Show the values in an HTML table ----
|
|
output$values <- renderTable({
|
|
sliderValues()
|
|
})
|
|
}
|
|
|
|
# Create Shiny app ----
|
|
shinyApp(ui, server)
|