Fariya
Fariya

Reputation: 284

How to use the onclick function in server

Can anyone tell me how to use this onclick function in server its working on ui but i need to use this on server or is it possible to observe the url so that i can use the url once the button is clicked

Thanks in Advance

u_id<-"123"
inv_id <-222

url <- paste0("https://www.google.com/","?id=",u_id, "&inv_id=", inv_id)

ui <- fluidPage(
  
  
  titlePanel("open url"),
  
  sidebarLayout(
    sidebarPanel(
      actionButton("id",
                   label = "ADD COMMENT",
                   icon = icon("Click"))
    ),
    mainPanel(
    )
  ))
  server <- function(input, output, session) {
   onclick("id",sprintf("window.open('%s','win','resizable,height=400,width=400')",url)) 
      
  }

shinyApp(ui, server)

Upvotes: 1

Views: 595

Answers (1)

lz100
lz100

Reputation: 7350

  • First you need to use {shinyjs} to use onClick from server.
  • You need to use runjs to run js from server.
u_id<-"123"
inv_id <-222

url <- paste0("https://www.google.com/","?id=",u_id, "&inv_id=", inv_id)

library(shiny)
library(shinyjs)
ui <- fluidPage(
    useShinyjs(),
    titlePanel("open url"),
    sidebarLayout(
        sidebarPanel(
            actionButton("id",
                         label = "ADD COMMENT",
                         icon = icon("Click"))
        ),
        mainPanel(
        )
    ))
server <- function(input, output, session) {
    onclick(id = "id", runjs(sprintf("window.open('%s','win','resizable,height=400,width=400')",url)))
    
}

shinyApp(ui, server)

Upvotes: 1

Related Questions