JavaScript/jQuery Gantt - contextMenu.items

Configures context menu item settings.

The context menu contains a set of default commands: 'addTask', 'taskDetails', and 'deleteTask'. Use the contextMenu property to recreate the context menu items.

DevExtreme Gantt - Default Context Menu

To add a predefined item to the context menu, add its name and optional settings (for example, 'visible', 'text', and 'icon') to the items collection.

HTML
TypeScript
  • <dx-gantt ... >
  • <dxo-context-menu>
  • <dxi-item name="addTask"></dxi-item>
  • <dxi-item name="deleteTask"></dxi-item>
  • <dxi-item text="Zoom">
  • <dxi-item name="zoomIn"></dxi-item>
  • <dxi-item name="zoomOut"></dxi-item>
  • </dxi-item>
  • </dxo-context-menu>
  • ...
  • </dx-gantt>
  • import { DxGanttModule } from "devextreme-angular";
  • // ...
  • export class AppComponent {
  • // ...
  • }
  • @NgModule({
  • imports: [
  • // ...
  • DxGanttModule
  • ],
  • // ...
  • })

DevExtreme Gantt - Predefined Context Menu Items

Custom Items

To add a custom context menu item, specify its text and optional settings (for example, name or category). Use the customCommand event to handle clicks on custom context menu items.

HTML
TypeScript
  • <dx-gantt (onCustomCommand)="onCustomCommand($event)" >
  • <dxo-context-menu>
  • <dxi-item text="Category">
  • <dxi-item name="item1" text="Item 1"></dxi-item>
  • <dxi-item name="item2" text="Item 2"></dxi-item>
  • <dxi-item name="item3" text="Item 3"></dxi-item>
  • </dxi-item>
  • </dxo-context-menu>
  • ...
  • </dx-gantt>
  • import { DxGanttModule } from "devextreme-angular";
  • // ...
  • export class AppComponent {
  • onCustomCommand(e) {
  • if(e.name == 'item1') {
  • // your code
  • }
  • }
  • }
  • @NgModule({
  • imports: [
  • // ...
  • DxGanttModule
  • ],
  • // ...
  • })

Result:

DevExtreme Gantt - Custom Context Menu Items

beginGroup

Specifies whether a group separator is displayed over the item.

Type:

Boolean

You can add group separators only between items in submenus.

closeMenuOnClick

Specifies if a menu is closed when a user clicks the item. Does not apply to the root items.

Type:

Boolean

Default Value: true

disabled

Specifies whether the menu item responds to user interaction.

Type:

Boolean

Default Value: false

icon

Specifies the menu item's icon.

Type:

String

This property accepts one of the following:

items

Specifies nested menu items.

Nested menu items should have the same structure as the first-level menu items.

name

Specifies the context menu item name.

HTML
TypeScript
  • <dx-gantt (onCustomCommand)="onCustomCommand($event)" >
  • <dxo-context-menu>
  • <dxi-item text="Category">
  • <dxi-item name="item1" text="Item 1"></dxi-item>
  • <dxi-item name="item2" text="Item 2"></dxi-item>
  • <dxi-item name="item3" text="Item 3"></dxi-item>
  • </dxi-item>
  • </dxo-context-menu>
  • ...
  • </dx-gantt>
  • import { DxGanttModule } from "devextreme-angular";
  • // ...
  • export class AppComponent {
  • onCustomCommand(e) {
  • if(e.name == 'item1') {
  • // your code
  • }
  • }
  • }
  • @NgModule({
  • imports: [
  • // ...
  • DxGanttModule
  • ],
  • // ...
  • })

selectable

Specifies whether or not a user can select a menu item.

Type:

Boolean

Default Value: false

selected

Specifies whether or not the item is selected.

Type:

Boolean

Default Value: false

template

Specifies a template that should be used to render this item only.

Type:

template

Template Data:

CollectionWidgetItem

The item object to be rendered.

The following types of the specified value are available.

  • Assign a string containing the name of the required template.
  • Assign a jQuery object of the template's container.
  • Assign a DOM Node of the template's container.
  • Assign a function that returns the jQuery object or a DOM Node of the template's container.

The following example adds a custom item to the component. Note that Angular and Vue use custom templates instead of the template property. In React, specify the render or component properties.

app.component.html
app.component.ts
app.module.ts
  • <dx-gantt ... >
  • <dxo-context-menu>
  • <dxi-item ...>
  • <div *dxTemplate>
  • <div>Custom Item</div>
  • </div>
  • </dxi-item>
  • </dxo-context-menu>
  • </dx-gantt>
  • import { Component } from '@angular/core';
  •  
  • @Component({
  • selector: 'app-root',
  • templateUrl: './app.component.html',
  • styleUrls: ['./app.component.css']
  • })
  • export class AppComponent {
  • // ...
  • }
  • import { BrowserModule } from '@angular/platform-browser';
  • import { NgModule } from '@angular/core';
  • import { AppComponent } from './app.component';
  •  
  • import { DxGanttModule } from 'devextreme-angular';
  •  
  • @NgModule({
  • declarations: [
  • AppComponent
  • ],
  • imports: [
  • BrowserModule,
  • DxGanttModule
  • ],
  • providers: [ ],
  • bootstrap: [AppComponent]
  • })
  • export class AppModule { }
See Also

text

Specifies the text inserted into the item element.

Type:

String

If you use both this property and a template, the template overrides the text.

visible

Specifies whether or not the menu item is visible.

Type:

Boolean

Default Value: true