Link em aplicação no shiny não funciona

Fiz um addin no RStudio usando o shiny

rbcb::rbcb_dataset("dados-cadastrais-de-aposentados")

No campo URL há um link criado com os códigos.

UI:

shiny::htmlOutput("url")

Server:

output$url <- shiny::renderUI({
  data <- query_result()
  shiny::tags$div(
    shiny::tags$strong("URL: "),
    shiny::tags$a(data$ckan_url)
  )
})

O código completo está aqui.

O problema é que a URL aparece como um link, mas ao clicar nela nada acontece.

Agradeço qualquer sugestão.

Oi, Wilson!

A tag a precisa de dois parâmetros, sendo um deles o href e o outro o conteúdo que vai aparecer na tela. O href é o link para o qual a pessoa será direcionada.

Por exemplo:

tags$a("clique aqui", href = "google.com")

seria equivalente ao hiperlink clique aqui.

Assim, no seu caso, você poderia fazer

shiny::tags$a(data$ckan_url, href = data$ckan_url)
1 Curtida

Putz … valeu! Vou fazer aqui.
Obrigado!

1 Curtida

@wamorim aproveitando, sabe se é possível colocar um link ou botão em um addin que ao clicar abre outro addin?

O que seria um addin nesse contexto?

Um shiny app com miniUI.
Em uma atualização recente no pacote rbcb eu criei uma função que abre um miniUI e o usuário pode fazer consultas em uma API.
Daí a ideia seria colocar um botão para que ao clicar o usuário abra outro miniUI.

Dado que o R é single thread eu não encontrei como abrir outro shiny app a partir de um shiny app.

Oi, Wilson

Eu nunca tinha usado o miniUI, mas fiz uns testes aqui e parece que não dá mesmo. Não dá para dar runApp() dentro de um runApp(), provavelmente pelo motivo que você citou.

O que eu conseguir foi fazer ele rodar a partir de um job, mas ele abre o segundo app no navegador e não em uma nova janelinha. Não tentei muito, então talvez esse seja um caminho interessante. Se você quiser explorar essa alternativa, subi os códigos nesse repo: https://github.com/williamorim/testingMiniUI

1 Curtida

Muito obrigado!! Vou olhar os seus códigos.