Skip to content

Commit ef63efe

Browse files
committed
feat(cdk/menu): add option to enable inlined overlay
1 parent 2a54c83 commit ef63efe

File tree

3 files changed

+9
-1
lines changed

3 files changed

+9
-1
lines changed

src/cdk/menu/menu-trigger-base.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ export abstract class CdkMenuTriggerBase implements OnDestroy {
9090
*/
9191
menuPosition: ConnectedPosition[];
9292

93+
/**
94+
* Whether to inline the overlay, instead of using the global overlay container.
95+
*/
96+
menuOverlayInlined: boolean;
97+
9398
/** Emits when the attached menu is requested to open */
9499
readonly opened: EventEmitter<void> = new EventEmitter();
95100

src/cdk/menu/menu-trigger.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
OnDestroy,
1818
Renderer2,
1919
SimpleChanges,
20+
booleanAttribute,
2021
} from '@angular/core';
2122
import {InputModalityDetector} from '../a11y';
2223
import {Directionality} from '../bidi';
@@ -68,6 +69,7 @@ import {eventDispatchesNativeClick} from './event-detection';
6869
inputs: [
6970
{name: 'menuTemplateRef', alias: 'cdkMenuTriggerFor'},
7071
{name: 'menuPosition', alias: 'cdkMenuPosition'},
72+
{name: 'menuOverlayInlined', alias: 'cdkMenuOverlayInlined', transform: booleanAttribute},
7173
{name: 'menuData', alias: 'cdkMenuTriggerData'},
7274
],
7375
outputs: ['opened: cdkMenuOpened', 'closed: cdkMenuClosed'],
@@ -276,6 +278,7 @@ export class CdkMenuTrigger extends CdkMenuTriggerBase implements OnChanges, OnD
276278
positionStrategy: this._getOverlayPositionStrategy(),
277279
scrollStrategy: this.menuScrollStrategy(),
278280
direction: this._directionality || undefined,
281+
insertOverlayAfter: this.menuOverlayInlined ? this._elementRef : undefined,
279282
});
280283
}
281284

src/components-examples/cdk/menu/cdk-menu-standalone-menu/cdk-menu-standalone-menu-example.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<!-- #docregion trigger -->
2-
<button [cdkMenuTriggerFor]="menu" class="example-standalone-trigger">Click me!</button>
2+
<button [cdkMenuTriggerFor]="menu" cdkMenuOverlayInlined class="example-standalone-trigger">Click me!</button>
33
<!-- #enddocregion trigger -->
44

55
<ng-template #menu>

0 commit comments

Comments
 (0)