This PR updates how cards report their full screen state. Now, given
card(id = "my_card", full_screen = TRUE, ...)
users will need to use input$my_card_full_screen to react to the card's full screen state change.
Previously, we were providing input$my_card with essentially list(full_screen = TRUE), which we chose intending to leave room for future state or event data reporting. However, any use of input$my_card takes a reactive dependency on the entire data structure reported from the client. If we imagine that we've added another reported event type via input$my_card, changes in the new event type will cause input$my_card$full_screen to invalidate, even if the value doesn't change.
I explored a range of other options and using the <id>_full_screen pattern seems to be the most straightforward and best option at this time.
This PR updates how cards report their full screen state. Now, given
users will need to use
input$my_card_full_screen
to react to the card's full screen state change.Previously, we were providing
input$my_card
with essentiallylist(full_screen = TRUE)
, which we chose intending to leave room for future state or event data reporting. However, any use ofinput$my_card
takes a reactive dependency on the entire data structure reported from the client. If we imagine that we've added another reported event type viainput$my_card
, changes in the new event type will causeinput$my_card$full_screen
to invalidate, even if the value doesn't change.I explored a range of other options and using the
<id>_full_screen
pattern seems to be the most straightforward and best option at this time.