Skip to content

Commit dc8165e

Browse files
aparziatscott
authored andcommitted
docs: close menù with click outside container
close menù with click outside container Fixes #69222
1 parent 9cfd3f5 commit dc8165e

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

  • adev/src/content/examples/aria/menu/src/menu-context/app

adev/src/content/examples/aria/menu/src/menu-context/app/app.html

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,14 @@
1717
<!-- Overlay container for the menu -->
1818
<ng-template
1919
[cdkConnectedOverlayOpen]="trigger.expanded()"
20-
[cdkConnectedOverlay]="{origin: triggerEl, usePopover: 'inline'}"
20+
[cdkConnectedOverlay]="{
21+
origin: triggerEl,
22+
usePopover: 'inline',
23+
hasBackdrop: true,
24+
backdropClass: 'cdk-overlay-transparent-backdrop',
25+
}"
26+
(backdropClick)="closeContextMenu()"
27+
(overlayKeydown)="onOverlayKeydown($event)"
2128
cdkAttachPopoverAsChild
2229
>
2330
<div ngMenu #contextMenu="ngMenu" (itemSelected)="onItemSelected($event)">

adev/src/content/examples/aria/menu/src/menu-context/app/app.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,16 @@ export class App {
2828
onItemSelected(value: string) {
2929
console.log(`Action selected: ${value}`);
3030
}
31+
32+
onOverlayKeydown(event: KeyboardEvent) {
33+
if (event.key === 'Escape') {
34+
this.closeContextMenu();
35+
}
36+
}
37+
38+
closeContextMenu() {
39+
if (this.trigger().expanded()) {
40+
this.trigger().close();
41+
}
42+
}
3143
}

0 commit comments

Comments
 (0)