ng-bootstrap / ng-bootstrap

Angular powered Bootstrap

Home Page:https://ng-bootstrap.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Offcanvas is not dismissed, starts to stack

leherv opened this issue · comments

Bug description:

When hooking this function to a button that can be clicked multiple times the offcanvas is only closed and opened correctly once. After that the offcanvas elements start stacking over each other:

closeThenOpenDrawer() { this.offcanvasService.dismiss(); this.offcanvasService.open(OffcanvasDrawerComponent, { backdrop: false, position: 'bottom' }) }

Link to minimally-working StackBlitz that reproduces the issue:

https://stackblitz.com/edit/angular-bvjb8m-wqdm2w?file=src%2Fapp%2Foffcanvas-component.ts

Versions of Angular, ng-bootstrap and Bootstrap:

I used your Stackblitz example
Angular: 17.09

ng-bootstrap: 16.0.0

Bootstrap: 5.3.2

Same issue here, seems like the offcanvas gets dismissed every other time, instead of every time (as I would expect). When listening for changes like this:

   this.offcanvasService.activeInstance.subscribe({
      next: (rslt: NgbOffcanvasRef) => {
        console.log(rslt);
      }
    });

The console output is:
image
When dismissing the offcanvas by clicking Close, the console output says undefined every time.

ng-bootstrap: 16.0.0
Bootstrap: 5.3.2