Articles in this section
Category / Section

How to get started easily with Syncfusion Angular 9 Context Menu?

3 mins read

A quick start project that helps you to create an Angular 9 Context Menu with a minimal code configurations.

Angular 9 Context Menu

The following section explains you how to create a simple Angular 9 Context Menu component.

Prerequisites

Before start, we need following items to create Angular Context Menu in Angular 9 application

Dependencies

The Angular 9 Context Menu is created from the Syncfusion ej2-angular-navigations package from npmjs, which are distributed in npm as @syncfusion scoped packages.

Creating Angular Project

  • Install Angular cli 9 using following command.
      npm install -g @angular/cli@9.0.2
     
    

 

Note:

If you would like to follow and run the application in Angular 8 or Angular 7 or Angular 6 or Angular 5 or Angular 4, you need to replace the CLI command version number with the corresponding angular version number.

 

npm install -g @angular/cli@<CLI VERSION>

  • Create a new Angular 9 project using angular cli and navigate to that folder.
    ng new <project name>
    cd <project name>
    

      

Adding Angular Context Menu

  • After running the Angular 9 application successfully, configure the Angular Context Menu in this application. Install Angular Context Menu and EJ2 package using following command. The --save command will instruct the NPM to include a Context Menu package inside the dependencies section of the package.json.
    npm install @syncfusion/ej2-angular-navigations --save
    

 

  • Import Context Menu from installed package.
  • Import and inject the other required modules within the providers section of app.module.ts.
    import { BrowserModule } from '@angular/platform-browser';
    import { NgModule } from '@angular/core';
    import { ContextMenuModule } from '@syncfusion/ej2-angular-navigations';
    import { AppComponent } from './app.component';
    import { enableRipple } from '@syncfusion/ej2-base';
     
    enableRipple(true);
     
    @NgModule({
      declarations: [
        AppComponent
      ],
      imports: [
        BrowserModule,
        ContextMenuModule
      ],
      providers: [],
      bootstrap: [AppComponent]
    })
    export class AppModule {} 
    
  • Add the given below angular context menu’s styles in styles.css.
    @import "../node_modules/@syncfusion/ej2-navigations/styles/material.css";
    @import "../node_modules/@syncfusion/ej2-base/styles/material.css";
     
    /* Context Menu target */
    #target {
        border: 1px dashed;
        height: 150px;
        padding: 10px;
        position: relative;
        text - align: justify;
        color: gray;
        user - select: none;
    }
    
  • Add the angular Context Menu component in app.component.ts.
    import { Component } from '@angular/core';
    import { MenuItemModel } from '@syncfusion/ej2-navigations';
     
    @Component({
        selector: 'app-root',
        template`<div id="target">Right click / Touch hold to open the ContextMenu</div>
    <ejs-contextmenu id='contextmenu' target='#target' [items]= 'menuItems'></ejs-contextmenu>`
    })
    export class AppComponent {
    public menuItems: MenuItemModel[] = [
        {
            text: 'Cut'
        },
        {
            text: 'Copy'
        },
        {
            text: 'Paste'
        }];
    }
    
  • Now serve the application using following command.
    ng serve 
    

Once the files are compiled successfully, it will serve the site at localhost:4200

Screenshot:

 

          Context menu preview

Rendering Items with Separator

The Separators are the horizontal lines used to separate the menu items. You can enable separators to group the menu items using the separator property. In the following sample Cut, Copy, and Paste menu items are grouped using separator property.

[app.component.ts]

import { Component } from '@angular/core';
import { MenuItemModel } from '@syncfusion/ej2-navigations;
 
@Component({
    selector: 'app-root',
    template`<div id="target">Right click / Touch hold to open the ContextMenu</div>
<ejs-contextmenu id='contextmenu' target='#target' [items]= 'menuItems'></ejs-contextmenu>`
})
export class AppComponent {
public menuItems: MenuItemModel[] = [
    {
        text: 'Cut'
    },
    {
        text: 'Copy'
    },
    {
        text: 'Paste'
    },
    {
        separator: true
    },
    {
        text: 'Font'
    },
    {
        text: 'Paragraph'
    }];
}

Screenshot:

context menu sample

Summary

    

       Refer to our documentation and online samples for more features. If you have any queries, please let us know in comments below.  You can also contact us through our Support forum or Direct-Trac. We are happy to assist you!

Did you find this information helpful?
Yes
No
Help us improve this page
Please provide feedback or comments
Comments (0)
Please  to leave a comment
Access denied
Access denied