88
99import {
1010 Directive ,
11- EventEmitter ,
1211 Inject ,
1312 Injectable ,
1413 Injector ,
1514 Input ,
1615 OnDestroy ,
1716 Optional ,
18- Output ,
19- TemplateRef ,
2017 ViewContainerRef ,
2118} from '@angular/core' ;
2219import { Directionality } from '@angular/cdk/bidi' ;
2320import {
24- ConnectedPosition ,
2521 FlexibleConnectedPositionStrategy ,
2622 Overlay ,
2723 OverlayConfig ,
28- OverlayRef ,
2924 STANDARD_DROPDOWN_BELOW_POSITIONS ,
3025} from '@angular/cdk/overlay' ;
3126import { Portal , TemplatePortal } from '@angular/cdk/portal' ;
3227import { BooleanInput , coerceBooleanProperty } from '@angular/cdk/coercion' ;
33- import { merge , partition , Subject } from 'rxjs' ;
28+ import { merge , partition } from 'rxjs' ;
3429import { skip , takeUntil } from 'rxjs/operators' ;
3530import { MENU_STACK , MenuStack } from './menu-stack' ;
3631import { isClickInsideMenuOverlay } from './menu-item-trigger' ;
@@ -76,25 +71,14 @@ export type ContextMenuCoordinates = {x: number; y: number};
7671 host : {
7772 '(contextmenu)' : '_openOnContextMenu($event)' ,
7873 } ,
74+ inputs : [ '_menuTemplateRef: cdkContextMenuTriggerFor' , 'menuPosition: cdkContextMenuPosition' ] ,
75+ outputs : [ 'opened: cdkContextMenuOpened' , 'closed: cdkContextMenuClosed' ] ,
7976 providers : [
8077 { provide : MENU_TRIGGER , useExisting : CdkContextMenuTrigger } ,
8178 { provide : MENU_STACK , useClass : MenuStack } ,
8279 ] ,
8380} )
8481export class CdkContextMenuTrigger extends MenuTrigger implements OnDestroy {
85- /** Template reference variable to the menu to open on right click. */
86- @Input ( 'cdkContextMenuTriggerFor' )
87- private _menuTemplateRef : TemplateRef < unknown > ;
88-
89- /** A list of preferred menu positions to be used when constructing the `FlexibleConnectedPositionStrategy` for this trigger's menu. */
90- @Input ( 'cdkMenuPosition' ) menuPosition : ConnectedPosition [ ] ;
91-
92- /** Emits when the attached menu is requested to open. */
93- @Output ( 'cdkContextMenuOpened' ) readonly opened : EventEmitter < void > = new EventEmitter ( ) ;
94-
95- /** Emits when the attached menu is requested to close. */
96- @Output ( 'cdkContextMenuClosed' ) readonly closed : EventEmitter < void > = new EventEmitter ( ) ;
97-
9882 /** Whether the context menu should be disabled. */
9983 @Input ( 'cdkContextMenuDisabled' )
10084 get disabled ( ) : boolean {
@@ -105,18 +89,6 @@ export class CdkContextMenuTrigger extends MenuTrigger implements OnDestroy {
10589 }
10690 private _disabled = false ;
10791
108- /** A reference to the overlay which manages the triggered menu. */
109- private _overlayRef : OverlayRef | null = null ;
110-
111- /** The content of the menu panel opened by this trigger. */
112- private _menuPortal : TemplatePortal ;
113-
114- /** Emits when the element is destroyed. */
115- private readonly _destroyed = new Subject < void > ( ) ;
116-
117- /** Emits when the outside pointer events listener on the overlay should be stopped. */
118- private readonly _stopOutsideClicksListener = merge ( this . closed , this . _destroyed ) ;
119-
12092 constructor (
12193 injector : Injector ,
12294 protected readonly _viewContainerRef : ViewContainerRef ,
@@ -199,11 +171,6 @@ export class CdkContextMenuTrigger extends MenuTrigger implements OnDestroy {
199171 }
200172 }
201173
202- /** Whether the attached menu is open. */
203- isOpen ( ) {
204- return ! ! this . _overlayRef ?. hasAttached ( ) ;
205- }
206-
207174 /**
208175 * Get the configuration object used to create the overlay.
209176 * @param coordinates the location to place the opened menu
@@ -277,19 +244,4 @@ export class CdkContextMenuTrigger extends MenuTrigger implements OnDestroy {
277244 } ) ;
278245 }
279246 }
280-
281- ngOnDestroy ( ) {
282- this . _destroyOverlay ( ) ;
283-
284- this . _destroyed . next ( ) ;
285- this . _destroyed . complete ( ) ;
286- }
287-
288- /** Destroy and unset the overlay reference it if exists. */
289- private _destroyOverlay ( ) {
290- if ( this . _overlayRef ) {
291- this . _overlayRef . dispose ( ) ;
292- this . _overlayRef = null ;
293- }
294- }
295247}
0 commit comments