Open and close contextmenu in Angular Context menu component
28 Sep 20233 minutes to read
ContextMenu can be opened and closed programmatically whenever required by using open and close methods.
In the following example, the ContextMenu is opened using the open
method at the specified position using top
and left
. Also, ContextMenu is closed using close
method on ContextMenu item click or document click.
import { Component } from '@angular/core';
import { getInstance } from '@syncfusion/ej2-base';
import { MenuItemModel, ContextMenu } from '@syncfusion/ej2-navigations';
@Component({
selector: 'app-root',
template: `<div class="e-section-control">
<!-- To Render ContextMenu. -->
<ejs-contextmenu id='contextmenu' [items]= 'menuItems'></ejs-contextmenu>
<!-- To Render Button. -->
<button ejs-button (click)="btnClick()">Open ContextMenu</button>
</div>`
})
export class AppComponent {
// Initialize action items.
public menuItems: MenuItemModel[] = [
{
text: 'Cut'
},
{
text: 'Copy'
},
{
text: 'Paste'
}];
btnClick() {
let contextmenuObj: ContextMenu = getInstance(document.getElementById("contextmenu_0") as HTMLElement, ContextMenu) as ContextMenu;
contextmenuObj.open(40, 20);
}
}
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { ContextMenuModule } from '@syncfusion/ej2-angular-navigations';
import { ButtonModule } from '@syncfusion/ej2-angular-buttons';
import { enableRipple } from '@syncfusion/ej2-base';
enableRipple(true);
/**
* Module
*/
@NgModule({
imports: [
BrowserModule,
ContextMenuModule,
ButtonModule
],
declarations: [AppComponent],
bootstrap: [AppComponent]
})
export class AppModule { }
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { AppModule } from './app.module';
import 'zone.js';
enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);