Issue 945: fix jumpy narrative map #950
Merged
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.
Fixes #945
On the current site, when you resize the map by resizing the browser, switching between full <=> grid layout, or switch slides in a narrative,
maybeInvalidateMapSize
sets a 1500ms timer to callmap.invalidateSize()
and fill in blank map space. This can clash with the narrative's goal to focus the map "viewport" to contain the data.Proposed solution in narrative mode,
map.invalidateSize()
happens immediately when we arrive on a new slide. The Leafletresize
event listener will be called after the resize is completed, and this is when we fit viewport to the data.In free (not-narrative?) mode, the only change is I halved the resize-browser to resize-map delay to 750ms. If you prefer it can be un-changed.