Do not send popups with unresolvable anchors to Scout JS#2032
Open
fschinkel wants to merge 1 commit intoreleases/24.2from
Open
Do not send popups with unresolvable anchors to Scout JS#2032fschinkel wants to merge 1 commit intoreleases/24.2from
fschinkel wants to merge 1 commit intoreleases/24.2from
Conversation
The PopupManager contains a set of popups, which themselves may contain anchors. When a JsonPopup builds its json it may happen that there is no json adapter for the anchor of the popup, because the anchor is e.g. part of an outline that is currently not the active outline. The JsonPopup can not leave its anchor property empty as a popup without anchor will be rendered directly which would be incorrect. In addition, the JsonPopup can not return null when creating its json as this leads to other errors. Therefore, the JsonPopupManager needs to filter its set of popups and ensure that no popup containing an anchor without a json adapter is sent to Scout JS. To ensure correct updates of its property "popups" the JsonPopupManager needs to observe all current anchors of its popups and perform an update of its property "popups" if json adapters are created or disposed for one of these observed anchors. Additionally, close a Popup if its anchor is disposed to prevent memory leaks. 448950
ee9b562 to
da4a4f6
Compare
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
The PopupManager contains a set of popups, which themselves may contain anchors. When a JsonPopup builds its json it may happen that there is no json adapter for the anchor of the popup, because the anchor is e.g. part of an outline that is currently not the active outline. The JsonPopup can not leave its anchor property empty as a popup without anchor will be rendered directly which would be incorrect. In addition, the JsonPopup can not return null when creating its json as this leads to other errors.
Therefore, the JsonPopupManager needs to filter its set of popups and ensure that no popup containing an anchor without a json adapter is sent to Scout JS. To ensure correct updates of its property "popups" the JsonPopupManager needs to observe all current anchors of its popups and perform an update of its property "popups" if json adapters are created or disposed for one of these observed anchors.
Additionally, close a Popup if its anchor is disposed to prevent memory leaks.
448950