An XY pad controller for Shiny.
library(shiny)
library(shinyXYpad)
<- fluidPage(
ui $head(
tags$style(HTML("#xy2-xylabel {font-size: 20px; color: lime;}"))
tags
),fluidRow(
column(
3,
XYpadInput(
"xy1", label = "XY pad", pointRadius = 5,
x = "X", y = "Y",
coordsColor = "darkred", xyColor = "green",
xySize = 14, xyStyle = "oblique"
)
),column(
3,
XYpadInput(
"xy2", label = "XY pad", pointColor = "red",
width = 150, height = 150,
onMove = TRUE, displayXY = FALSE, displayPrevious = FALSE
)
)
),br(),
actionButton("update", "Update"),
br(),
fluidRow(
column(3, verbatimTextOutput("xy1value")),
column(3, verbatimTextOutput("xy2value"))
)
)
<- function(input, output, session){
server
"xy1value"]] <- renderPrint({input[["xy1"]]})
output[["xy2value"]] <- renderPrint({input[["xy2"]]})
output[[
observeEvent(input[["update"]], {
updateXYpadInput(
session = session, inputId = "xy1", label = "XY controller",
value = list(x = 50, y = 50), ndecimals = 3,
bgColor = "rgba(100,255,100,0.2)",
pointColor = "maroon", pointRadius = 15
)
})
}
shinyApp(ui, server)