Some methods fail to open/ close modal and/or backdrop. 2. Triggering a DOM updates thru changing a reactive variable leads to a permanently opened backdrop even for the working methods
Steps to Reproduce
I have a very basic modal for prompting user confirmation which pretty much follows the one from the documentation. I have two problems with it
Several of the documented methods to open or close the modal fail entirely, which a pretty uncommon, to my understanding, combination of two different method left that works
Even for that working combination of methods, reactive updates to the DOM directly before opening or with the modal open lead to a failure of modal closing, in the sense that the modal window itself is gone but the backdrop reimains open forever
I will be showing the whole code to present the different combination of working methods to open and close it. I have marked the different methods to open and close it and commented what happens with them.
So the only two working combinations of methods are:
Open the modal by HSOverlay.open(modalRef.value); or HSOverlay.open(hashtagOverlayId.value);. modal.value.open();does not do anything.
And close it by modal.value.close();. HSOverlay.open(...) in both variants let the modal vanish for a second and directly reopen it then. Every time, another backdrop is opened so the backdropped window is getting darker and darker.
In addition, when I change a reactive variable just before opening the modal or when it is still open, also the working combination of methods fail, in the sense that the modal window itself closes but the backdrop remains open forever:
attemptingToDeleteSection.value[textItemIndex] = true; // okay if nextTick before open, triggers backdrop remaining open if modal is directly opened without nextText
userConformationModalHandleDeleteTextItem.value.promptUserConformation()
// wait 2s
await new Promise((resolve) => setTimeout(resolve, 2000));
attemptingToDeleteSection.value[textItemIndex] = false; // backdrop remains open forever if modal closed AFTER this update. If closed before, everything works like charm.
The attemptingToDeleteSection merely sets a background color in a v-for-div. This works like charm, so no problem here.
All documented methods to open and close a modal should work. At least, opening and closing should work by the same kind of methods.
Reactive updates to other components before opening the modal or with it open should leave the modal unaffacted.
Actual Behavior
Only a combination of methods opens and closes the modal
Changing the color of a div in another component by a reactive variable and a conditional class with the modal open lets the backdrop remain open forever when later closing the modal.
Summary
Steps to Reproduce
I have a very basic modal for prompting user confirmation which pretty much follows the one from the documentation. I have two problems with it
I will be showing the whole code to present the different combination of working methods to open and close it. I have marked the different methods to open and close it and commented what happens with them.
I open the modal from another component through
The modal code is the following:
So the only two working combinations of methods are:
HSOverlay.open(modalRef.value);
orHSOverlay.open(hashtagOverlayId.value);
.modal.value.open();
does not do anything.modal.value.close();
. HSOverlay.open(...) in both variants let the modal vanish for a second and directly reopen it then. Every time, another backdrop is opened so the backdropped window is getting darker and darker.In addition, when I change a reactive variable just before opening the modal or when it is still open, also the working combination of methods fail, in the sense that the modal window itself closes but the backdrop remains open forever:
The attemptingToDeleteSection merely sets a background color in a v-for-div. This works like charm, so no problem here.
Note that on App startup I encouter https://github.com/htmlstreamofficial/preline/issues/491 , so maybe this is related.
Demo Link
N/A
Expected Behavior
Actual Behavior
Screenshots
No response