-
Notifications
You must be signed in to change notification settings - Fork 8.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feat: Kiosk Mode and URL Params #38938
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
set appState from the middleware code
also export that function for external use
dispatch actions on load to sync redux state, and update appState from middleware
💚 Build Succeeded |
no need to muddy up the url if the appState is the default value
8f1db55
to
ac1964b
Compare
💚 Build Succeeded |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Feature:New Feature
New feature not correlating to an existing feature label
loe:medium
Medium Level of Effort
release_note:enhancement
v7.3.0
v8.0.0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Closes #23061
Closes #23144
Closes #29526
All those issues are basically asking for the same thing.
This PR introduces "app state" to Canvas, which is used to control fullscreen mode, auto-playing, and auto-refresh from the URL. This works similar to how Kibana core works, where app state is rison-encoded and added to the
_a
search param in the URL. So you'll now see something like the following appended to URLs:App state is controlled through a new
app_state
lib which exposes methods for reading from and updating app state. This module is used in middleware to update app state, and also in the router component to set redux state based on the initial values in the URL.Usage
You should see no change to the URL the first time you load Canvas. Once you enable fullscreen, or enable/modify the auto-refresh or auto-play settings, you'll see these settings in the url. For example, toggling fullscreen will result in
?_a=(fullscreen%3A!t)
being appended. Hit escape to leave fullscreen mode and you will see the updated state reflected as?_a=(fullscreen%3A!f)
(note the!t
became!f
, both rison-encoded values).