Skip to content

Commit dcd9c79

Browse files
crisbetojelbourn
authored andcommitted
fix(overlay): expose backdropClick mouse event in ConnectedOverlayDirective (#9845)
Exposes the `MouseEvent` from the backdrop click in the `ConnectedOverlayDirective.backdropClick` emitter. Relates to #9713.
1 parent 0db1795 commit dcd9c79

File tree

2 files changed

+7
-6
lines changed

2 files changed

+7
-6
lines changed

src/cdk/overlay/overlay-directives.spec.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,8 @@ describe('Overlay directives', () => {
359359
backdrop.click();
360360
fixture.detectChanges();
361361

362-
expect(fixture.componentInstance.backdropClicked).toBe(true);
362+
expect(fixture.componentInstance.backdropClickHandler)
363+
.toHaveBeenCalledWith(jasmine.any(MouseEvent));
363364
});
364365

365366
it('should emit positionChange appropriately', () => {
@@ -404,7 +405,7 @@ describe('Overlay directives', () => {
404405
<ng-template cdk-connected-overlay [open]="isOpen" [width]="width" [height]="height"
405406
[cdkConnectedOverlayOrigin]="triggerOverride || trigger"
406407
[hasBackdrop]="hasBackdrop" backdropClass="mat-test-class"
407-
(backdropClick)="backdropClicked=true" [offsetX]="offsetX" [offsetY]="offsetY"
408+
(backdropClick)="backdropClickHandler($event)" [offsetX]="offsetX" [offsetY]="offsetY"
408409
(positionChange)="positionChangeHandler($event)" (attach)="attachHandler()"
409410
(detach)="detachHandler()" [minWidth]="minWidth" [minHeight]="minHeight"
410411
[cdkConnectedOverlayPositions]="positionOverrides">
@@ -425,7 +426,7 @@ class ConnectedOverlayDirectiveTest {
425426
offsetY = 0;
426427
triggerOverride: CdkOverlayOrigin;
427428
hasBackdrop: boolean;
428-
backdropClicked = false;
429+
backdropClickHandler = jasmine.createSpy('backdropClick handler');
429430
positionChangeHandler = jasmine.createSpy('positionChangeHandler');
430431
positionOverrides: ConnectionPositionPair[];
431432
attachHandler = jasmine.createSpy('attachHandler').and.callFake(() => {

src/cdk/overlay/overlay-directives.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ export class CdkConnectedOverlay implements OnDestroy, OnChanges {
254254
set _deprecatedHasBackdrop(_hasBackdrop: any) { this.hasBackdrop = _hasBackdrop; }
255255

256256
/** Event emitted when the backdrop is clicked. */
257-
@Output() backdropClick = new EventEmitter<void>();
257+
@Output() backdropClick = new EventEmitter<MouseEvent>();
258258

259259
/** Event emitted when the position has changed. */
260260
@Output() positionChange = new EventEmitter<ConnectedOverlayPositionChange>();
@@ -402,8 +402,8 @@ export class CdkConnectedOverlay implements OnDestroy, OnChanges {
402402
}
403403

404404
if (this.hasBackdrop) {
405-
this._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {
406-
this.backdropClick.emit();
405+
this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {
406+
this.backdropClick.emit(event);
407407
});
408408
}
409409
}

0 commit comments

Comments
 (0)