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.
Methods
Method new()
Creates a new empty state manager object.
Usage
EmptyStateManager$new(
  id,
  html_content = default_empty_state_component(),
  color = NULL
)Arguments
- id
- id of element which should be covered with - html_content
- html_content
- Content for empty state. Defaults to - default_empty_state_component()
- color
- Background color of empty state content. Defaults to - NULL
Method is_empty_state_show()
Returns the current visibility state of the empty state UI.
Defaults to FALSE
Method show()
Show empty state component.
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)
}
