Dynamic grid layouts of images.
In a Shiny app, the items of a ‘freewall’ grid have the class ID-item
where ID
is the id you use in the freewallOutput
function. Here is an example of a Shiny app with a CSS3 animation:
library(shiny)
library(freewall)
css <- "
#fw {
margin: 15px;
}
@keyframes start {
from {
transform: scale(0);
}
to {
transform: scale(1);
}
}
@-webkit-keyframes start {
from {
-webkit-transform: scale(0);
}
to {
-webkit-transform: scale(1);
}
}
#fw .fw-item[data-state='init'] {
display: none;
}
#fw .fw-item[data-state='start'] {
display: block;
animation: start 1s;
-webkit-animation: start 1s;
}
#fw .fw-item[data-state='move'] {
transition: top 1s, left 1s, width 1s, height 1s;
-webkit-transition: top 1s, left 1s, width 1s, height 1s;
}
"
ui <- fluidPage(
tags$head(tags$style(HTML(css))),
freewallOutput("fw")
)
server <- function(input, output, session) {
output[["fw"]] <- renderFreewall({
freewall(
nature(), backgroundImages = TRUE,
widths = 200, heights = 200,
cellW = 200, cellH = 200,
animate = FALSE, delay = 50
)
})
}
shinyApp(ui, server)