É possível fazer um botão do shiny apertar outro botão?

Tenho uma aplicação shiny com 2 botões.
Gostaria de saber se é possível fazer com que, no final das ações de um botão, ele acione o outro botão.

Eu peguei o código introdutório do shiny e fiz uma alteração para ser um exemplo deste problema.
Abaixo do sliderInput eu coloquei um botão e o gráfico só aparece se apertarmos o botão.

Abaixo do gráfico eu coloquei um outro botão que serve para imprimir o valor do sliderInput na tela.

Seria possível fazer com que, ao apertar o primeiro botão, ele automaticamente acione o segundo?

library(shiny)

# Define UI for application that draws a histogram
ui <- fluidPage(

    # Application title
    titlePanel("Old Faithful Geyser Data"),

    # Sidebar with a slider input for number of bins 
    sidebarLayout(
        sidebarPanel(
            sliderInput("bins",
                        "Number of bins:",
                        min = 1,
                        max = 50,
                        value = 30),
            
            actionButton("atualiza_grafico", 'Atualiza o gráfico')
        ),

        # Show a plot of the generated distribution
        mainPanel(
           plotOutput("distPlot"),
           actionButton('mostra_valor', 'Mostrar entrada'),
           br(),
           verbatimTextOutput('imprime')
        )
    )
)

# Define server logic required to draw a histogram
server <- function(input, output) {
    
    observeEvent(input$atualiza_grafico, {
        
        entrada <- input$bins
        output$distPlot <- renderPlot({
            # generate bins based on input$bins from ui.R
            x    <- faithful[, 2]
            bins <- seq(min(x), max(x), length.out = entrada + 1)
            
            # draw the histogram with the specified number of bins
            hist(x, breaks = bins, col = 'darkgray', border = 'white')
        })
        
        ## gostaria de apertar o botão de mostrar entrada aqui
    })
    
    observeEvent(input$mostra_valor, {
        entrada <- input$bins
        
        output$imprime <- renderPrint({
            entrada
        })
    })

    
}

# Run the application 
shinyApp(ui = ui, server = server)

Obs.: Nesse exemplo isso por não fazer muito sentido, mas foi a forma que eu encontrei de simplificar meu problema. O que eu estou fazendo de fato é uma página em shiny que (após o acionamento do botão 1) lê dados de um sql, coloca os dados em tabelas rhandsontable. Então o usuário poderá fazer alterações e no final tem um botão de atualizar (botão 2), que envia as alterações pro sql.
Eu gostaria que, quando o usuário apertasse o botão 2, as informações carregadas pelo botão 1 fossem recarregadas sem que o usuário precisasse apertar novamente o botão 1

Problema complexo de explicar. Espero que tenha ficado suficientemente claro.
Obrigada!!

Oioi! Uma maneira é usar o {shinyjs}.

library(shinyjs)

#...

# Define UI for application that draws a histogram
ui <- fluidPage(
  useShinyjs(),

#...

## gostaria de apertar o botão de mostrar entrada aqui
click("mostra_valor")

#...
2 Curtidas