Deactivate widgets when Dashboard isn't displayed #2240
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.
Summary of the pull request
After the user leaves the dashboard, the widgets are still there. By unsubscribing from the WidgetUpdated event, the widget manager "deactivates" the widget by telling it not to update until it is activated again. In our case, when we next navigate to the Dashboard we re-activate them when rebuilding the PinnedWidgets list.
References and relevant issues
#716
Detailed description of the pull request / Additional comments
OnNavigatingFrom is used rather than OnNavigatedFrom: "In addition to being invoked when navigating between pages, the OnNavigatedFrom method is invoked when Frame.GetNavigationState is called. To avoid any issues, you should use OnNavigatingFrom or the Unloaded event, which are only called on actual navigation, to unregister event handlers and do other cleanup."
Validation steps performed
PR checklist