Я пытаюсь встроить imgviewer2 (https://github.com/waynegm/imgViewer) в мое блестящее приложение, чтобы иметь возможность масштабировать и панорамировать изображения, которые я хочу отображать. Это работает нормально, но код мешает таблицам DT моего приложения.Они больше не отображаются или не реагируют на мои входные данные.
Я сделал небольшой пример ниже:
ui <- fluidPage(
mainPanel(
fluidPage(
tags$link(rel = "stylesheet", type = "text/css", href ="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css"),
tags$link(rel = "stylesheet", href="http://code.jquery.com/ui/1.12.1/themes/smoothness/jquery-ui.css", media="screen"),
tags$head(tags$script(src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js", type="text/javascript")),
tags$head(tags$meta(name="viewport", content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes")),
tags$head(tags$script(src="http://code.jquery.com/jquery-3.2.1.min.js", type="text/javascript")),
tags$head(tags$script(src="http://code.jquery.com/ui/1.12.1/jquery-ui.min.js", type="text/javascript")),
tags$head(tags$script(src="imgViewer2.min.js", type="text/javascript")),
tags$head(tags$script(type="text/javascript", ';(function($) {
$(window).on("load", function() {
var $img = $("#image1").imgViewer2();
});
})(jQuery);')),
tags$div(img(src="https://images.plot.ly/language-icons/api-home/r-logo.png", width="80%", id="image1")),
selectizeInput("sample2", "Sample: ",
choices = c("cyl", "mpg", "disp", "hp")),
DT::dataTableOutput("table")
)))
server <- function(input, output) {
mtcars2 <- reactive({
mtcars2 <- mtcars
return(mtcars2)
})
output$table <- DT::renderDataTable({
mtcars2 <- mtcars2()
mtcars2 <- subset(mtcars2, select = c(input$sample2))
table <- DT::datatable(mtcars2, rownames = FALSE)
})
}
shinyApp(ui = ui, server = server)
Как выделить код imgviewer таким образом, чтобы он не мешал работеDT в моем приложении? Я пытался обернуть функцию в singleton () на основе этого вопроса карта масштабирования изображения в RStudio Shiny , но это не помогло.