| EmptyStateManager {shiny.emptystate} | R Documentation |
EmptyStateManager R6 class
Description
Creates an EmptyStateManager to then show or hide content.
Details
Creates an object to show an empty state content on selected id specified by id parameter.
Then show or hide or use is_empty_state_show to check the status.
Value
EmptyStateManager R6 class
Methods
Public methods
Method new()
Creates a new empty state manager object.
Usage
EmptyStateManager$new( id, html_content = default_empty_state_component(), color = NULL )
Arguments
idid of element which should be covered with
html_contenthtml_contentContent for empty state. Defaults to
default_empty_state_component()colorBackground color of empty state content. Defaults to
NULL
Returns
A new EmptyStateManager R6 class object.
Method is_empty_state_show()
Returns the current visibility state of the empty state UI.
Defaults to FALSE
Usage
EmptyStateManager$is_empty_state_show()
Returns
boolean, TRUE/FALSE
Method show()
Show empty state component.
Usage
EmptyStateManager$show()
Returns
Nothing, it changes state of empty state
Method hide()
Hides empty state component.
Usage
EmptyStateManager$hide()
Returns
Nothing, it changes state of empty state
Method clone()
The objects of this class are cloneable with this method.
Usage
EmptyStateManager$clone(deep = FALSE)
Arguments
deepWhether to make a deep clone.
Examples
library(shiny)
library(shiny.emptystate)
library(fontawesome)
ui <- fluidPage(
use_empty_state(),
actionButton("show", "Show empty state!"),
actionButton("hide", "Hide empty state!"),
tableOutput("my_table")
)
server <- function(input, output) {
# Creating a custom empty state component
empty_state_content <- empty_state_component(
content = fa("eye-slash", height = "10rem", fill = "#808000"),
title = "Hide empty state to see table",
subtitle = "This empty state uses a FontAwesome icon."
)
# Initialize a new empty state manager object
manager_object <- EmptyStateManager$new(
id = "my_table",
html_content = empty_state_content
)
observeEvent(input$show, {
# Show empty state
manager_object$show()
})
observeEvent(input$hide, {
# Hide empty state
manager_object$hide()
})
output$my_table <- renderTable(mtcars)
}
if (interactive()) {
shinyApp(ui = ui, server = server)
}