- Notifications
You must be signed in to change notification settings - Fork 13.4k
Labels
package: core@ionic/core package@ionic/core packagetype: buga confirmed bug reporta confirmed bug report
Description
Prerequisites
- I have read the Contributing Guidelines.
- I agree to follow the Code of Conduct.
- I have searched for existing issues that already include this feature request, without success.
Describe the Feature Request
Currently you are able to create multiple modals with an id. eg:
const modal = await this.modalCtrl.create({ component: ModalExampleComponent, id: 'my-id' }); modal.present(); When I dismiss the modal via this.modalCtrl.dimiss(undefined, undefined, 'my-id') the bottom most modal with this id will be closed. If I do not specify the id the to most modal will be closed. It would be great if always the top most modal would be closed.
Describe the Use Case
I want to present multiple modals with the same id. When I close an modal by id the top most modal with this id should be closed.
Describe Preferred Solution
No response
Describe Alternatives
No response
Related Code
see core/src/utils/overlays.ts
change this
export const getPresentedOverlay = ( doc: Document, overlayTag?: string, id?: string ): HTMLIonOverlayElement | undefined => { const overlays = getPresentedOverlays(doc, overlayTag); return id === undefined ? overlays[overlays.length - 1] : overlays.find((o) => o.id === id); }; into this
export const getPresentedOverlay = ( doc: Document, overlayTag?: string, id?: string ): HTMLIonOverlayElement | undefined => { const overlays = getPresentedOverlays(doc, overlayTag); return id === undefined ? overlays[overlays.length - 1] : overlays.slice().reverse().find((o) => o.id === id); }; Additional Information
No response
drakedeatonuk
Metadata
Metadata
Assignees
Labels
package: core@ionic/core package@ionic/core packagetype: buga confirmed bug reporta confirmed bug report