-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
fix(cdk/overlay): detach overlay when portal is destroyed from the outside #25212
Conversation
3ec69f9
to
079dc22
Compare
079dc22
to
fe7a7a0
Compare
The feedback has been addressed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Curious to see if this requires any test timing updates internally
…tside Fixes that some of the overlay elements were left behind when the portal is destroyed without going through the overlay API. We need to handle this case, because in many cases users don't have access to the `OverlayRef` (e.g. `MatDialog`) so that they can call `dispose` themselves. Fixes angular#25163.
fe7a7a0
to
0d0e0e5
Compare
Context: angular/components#25212
…tside (#25212) Fixes that some of the overlay elements were left behind when the portal is destroyed without going through the overlay API. We need to handle this case, because in many cases users don't have access to the `OverlayRef` (e.g. `MatDialog`) so that they can call `dispose` themselves. Fixes #25163. (cherry picked from commit 627daf9)
…ViewRef The value returned from `ViewContainerRef.createEmbeddedView` matches the `EmbeddedViewRef` interface, but it isn't an instance of the class that is exposed publicly. This can cause bugs, because the `instanceof` checks can be used for type narrowing, e.g. I got tripped up by it in angular/components#25212. These changes switch to extending the publicly-exposed class and adding a couple of tests to avoid regressions.
…ViewRef The value returned from `ViewContainerRef.createEmbeddedView` matches the `EmbeddedViewRef` interface, but it isn't an instance of the class that is exposed publicly. This can cause bugs, because the `instanceof` checks can be used for type narrowing, e.g. I got tripped up by it in angular/components#25212. These changes switch to extending the publicly-exposed class and adding a couple of tests to avoid regressions.
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [@angular/cdk](https://github.com/angular/components) | dependencies | patch | [`14.1.0` -> `14.1.1`](https://renovatebot.com/diffs/npm/@angular%2fcdk/14.1.0/14.1.1) | | [@angular/material](https://github.com/angular/components) | dependencies | patch | [`14.1.0` -> `14.1.1`](https://renovatebot.com/diffs/npm/@angular%2fmaterial/14.1.0/14.1.1) | --- ### Release Notes <details> <summary>angular/components</summary> ### [`v14.1.1`](https://github.com/angular/components/blob/HEAD/CHANGELOG.md#​1411-moissanite-mango-2022-08-03) [Compare Source](angular/components@14.1.0...14.1.1) ##### cdk | Commit | Type | Description | | -- | -- | -- | | [251c9abdf](angular/components@251c9ab) | fix | **dialog:** use config injector if provided ([#​25332](angular/components#25332)) | | [636dd60ee](angular/components@636dd60) | fix | **drag-drop:** expose pickup position in constrainPosition callback ([#​25341](angular/components#25341)) | | [aea1a5d67](angular/components@aea1a5d) | fix | **overlay:** detach overlay when portal is destroyed from the outside ([#​25212](angular/components#25212)) | | [63ca33bc8](angular/components@63ca33b) | fix | **schematics:** strip bom from sass files ([#​25364](angular/components#25364)) | ##### material-experimental | Commit | Type | Description | | -- | -- | -- | | [e045e8d49](angular/components@e045e8d) | fix | **mdc-chips:** don't use button element if chip row isn't editable ([#​25327](angular/components#25327)) | | [394b93f18](angular/components@394b93f) | fix | **mdc-slider:** skip resizing while the user is dragging ([#​25318](angular/components#25318)) | #### Special Thanks Amadou Sall, Kristiyan Kostadinov, Paul Gschwendtner and Serge <!-- CHANGELOG SPLIT MARKER --> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, click this checkbox. --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzMi4xNDEuMCIsInVwZGF0ZWRJblZlciI6IjMyLjE0MS4wIn0=--> Co-authored-by: cabr2-bot <[email protected]> Co-authored-by: Epsilon_02 <[email protected]> Reviewed-on: https://codeberg.org/Calciumdibromid/CaBr2/pulls/1491 Reviewed-by: Epsilon_02 <[email protected]> Co-authored-by: Calciumdibromid Bot <[email protected]> Co-committed-by: Calciumdibromid Bot <[email protected]>
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Fixes that some of the overlay elements were left behind when the portal is destroyed without going through the overlay API. We need to handle this case, because in many cases users don't have access to the
OverlayRef
(e.g.MatDialog
) so that they can calldispose
themselves.Fixes #25163.