Сделайте иконку airDatepickerInput кликабельной - PullRequest
0 голосов
/ 09 октября 2018

Я ищу способ запустить эту строку кода:

onevent('click', '???' ,{ print( 'hey1!!') })

или

onclick('DateRange' ,{ print( 'hey1!!') })

, но ТОЛЬКО когда пользователь нажимает на значок календаря airDatepickerInput

но я не знаю, как нацелить иконку, поскольку у нее нет собственного идентификатора.

Таргетинг 'DateRange' не будет работать, так как он также будет срабатывать при нажатии в поле диапазона дат, и это нежелательно.

Причина, по которой я этого хочу, заключается в том, что я хочу, чтобы опция открывала модальное диалоговое окно, которое показывает график с распределением дат моих файлов данных, по которым пользователь фильтрует данные в моем приложении.

library(shiny)
library(shinyWidgets)

ui <- fluidPage(

    airDatepickerInput(
        inputId = "DateRange",
        label = "Select multiple dates:",
        placeholder = "You can pick 5 dates",
        multiple = 5, clearButton = TRUE
    ),
    verbatimTextOutput("res")
)

server <- function(input, output, session) {
    output$res <- renderPrint(input$DateRange)
}

shinyApp(ui, server)

1 Ответ

0 голосов
/ 22 февраля 2019

Автор пакета блестящих виджетов обновил airDatepickerInput, чтобы теперь можно было наблюдать за кнопкой сбоку.

library(shiny)
library(shinyWidgets)

ui <- fluidPage(
    airDatepickerInput(
        inputId = "DateRange",
        label = "Select multiple dates:",
        placeholder = "You can pick 5 dates",
        multiple = 5, clearButton = TRUE
    ),
    verbatimTextOutput("res_date"),
    verbatimTextOutput("res_button")
)

server <- function(input, output, session) {
    output$res_date <- renderPrint(input$DateRange)
    output$res_button <- renderPrint(input$DateRange_button)
observeEvent(input$DateRange_button, { 
    print(input$DateRange_button)
    })
    }

shinyApp(ui, server)
...