Skip to content

Commit 5a1e7fe

Browse files
crisbetoandrewseguin
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 73d9c8f commit 5a1e7fe

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
@@ -356,7 +356,8 @@ describe('Overlay directives', () => {
356356
backdrop.click();
357357
fixture.detectChanges();
358358

359-
expect(fixture.componentInstance.backdropClicked).toBe(true);
359+
expect(fixture.componentInstance.backdropClickHandler)
360+
.toHaveBeenCalledWith(jasmine.any(MouseEvent));
360361
});
361362

362363
it('should emit positionChange appropriately', () => {
@@ -401,7 +402,7 @@ describe('Overlay directives', () => {
401402
<ng-template cdk-connected-overlay [open]="isOpen" [width]="width" [height]="height"
402403
[cdkConnectedOverlayOrigin]="triggerOverride || trigger"
403404
[hasBackdrop]="hasBackdrop" backdropClass="mat-test-class"
404-
(backdropClick)="backdropClicked=true" [offsetX]="offsetX" [offsetY]="offsetY"
405+
(backdropClick)="backdropClickHandler($event)" [offsetX]="offsetX" [offsetY]="offsetY"
405406
(positionChange)="positionChangeHandler($event)" (attach)="attachHandler()"
406407
(detach)="detachHandler()" [minWidth]="minWidth" [minHeight]="minHeight"
407408
[cdkConnectedOverlayPositions]="positionOverrides">
@@ -422,7 +423,7 @@ class ConnectedOverlayDirectiveTest {
422423
offsetY = 0;
423424
triggerOverride: CdkOverlayOrigin;
424425
hasBackdrop: boolean;
425-
backdropClicked = false;
426+
backdropClickHandler = jasmine.createSpy('backdropClick handler');
426427
positionChangeHandler = jasmine.createSpy('positionChangeHandler');
427428
positionOverrides: ConnectionPositionPair[];
428429
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
@@ -260,7 +260,7 @@ export class CdkConnectedOverlay implements OnDestroy, OnChanges {
260260
set _deprecatedHasBackdrop(_hasBackdrop: any) { this.hasBackdrop = _hasBackdrop; }
261261

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

265265
/** Event emitted when the position has changed. */
266266
@Output() positionChange = new EventEmitter<ConnectedOverlayPositionChange>();
@@ -413,8 +413,8 @@ export class CdkConnectedOverlay implements OnDestroy, OnChanges {
413413
}
414414

415415
if (this.hasBackdrop) {
416-
this._backdropSubscription = this._overlayRef.backdropClick().subscribe(() => {
417-
this.backdropClick.emit();
416+
this._backdropSubscription = this._overlayRef.backdropClick().subscribe(event => {
417+
this.backdropClick.emit(event);
418418
});
419419
}
420420
}

0 commit comments

Comments
 (0)