Set sliderInput values ​​as characters in brilliant

My brilliant app has sliderInput , but you want to replace the values ​​as character labels. How could I implement it? Thanks for any suggestions.

This is my sample code:

 library(shiny) values <- as.factor(c('Label 1', 'Label 3', 'Label 3')) ui <- shinyUI(bootstrapPage( headerPanel("test"), sliderInput("foo", "Animation duration", min = 1, max = length(values), value = values) )) server <- shinyServer(function(input, output, session) { }) shinyApp(ui = ui, server = server) 
+5
source share
1 answer

Thanks to @daattli for pointing me in the right direction and letting me know how to use js to change a shiny element.

I applied a solution to change the sliderInput and selectInput to switch different values ​​(and lengths). I think this function should be implemented in brilliant one that uses ionRangeSlider .

Please improve my codes if you think there is a better way to implement it, as this is my first js script.

 library(shiny) values <- list(A = c('A1', 'A2', 'A3'), B = c('B1', 'B2', 'B3', 'B4')) ui <- shinyUI(bootstrapPage( selectInput('selection', 'selection', c('A', 'B'), 'A'), uiOutput('selectUI'), sliderInput(inputId = "target", label = "Target", min = 0, max = length(values$A) - 1, step = 1, value = length(values$A) - 1), verbatimTextOutput('summary') )) server <- shinyServer(function(input, output, session) { output$summary <- renderPrint({ print(input$target) print(values[[input$selection]][input$target + 1]) }) output$selectUI <- renderUI({ sel_values <- paste(paste0('"', values[[input$selection]], '"'), collapse = ',') print(sel_values) list( (HTML( sprintf(' <script type="text/javascript"> $(document).ready(function() { var vals = [%s]; $(\'#target\').data(\'ionRangeSlider\').update( {values:vals, min: 0, max: %s, from:%s}) }) </script> ', sel_values, length(values[[input$selection]]) - 1, length(values[[input$selection]]) - 1))) )} )} ) shinyApp(ui = ui, server = server) 
+3
source

Source: https://habr.com/ru/post/1241959/


All Articles