Vue Gantt - contextMenu.items

Configures context menu item settings.

Selector: DxItem
Accepted Values: 'undo' | 'redo' | 'expandAll' | 'collapseAll' | 'addTask' | 'deleteTask' | 'zoomIn' | 'zoomOut' | 'deleteDependency' | 'taskDetails' | 'resourceManager'

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.

App.vue
  • <template>
  • <DxGantt ... >
  • <DxContextMenu>
  • <DxItem name="addTask"/>
  • <DxItem name="deleteTask"/>
  • <DxItem text="Zoom">
  • <DxItem name="zoomIn"/>
  • <DxItem name="zoomOut"/>
  • </DxItem>
  • </DxContextMenu>
  • </DxGantt>
  • </template>
  •  
  • <script>
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import { DxGantt, DxContextMenu } from 'devextreme-vue/gantt';
  •  
  • export default {
  • components: {
  • DxGantt,
  • DxContextMenu
  • },
  • data() {
  • return {
  • // ...
  • }
  • }
  • }
  • </script>

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.

App.vue
  • <template>
  • <DxGantt
  • @custom-command="onCustomCommand" >
  • <DxContextMenu>
  • <DxItem text="Category">
  • <DxItem name="item1" text="Item 1" />
  • <DxItem name="item2" text="Item 2" />
  • <DxItem name="item3" text="Item 3" />
  • </DxItem>
  • </DxContextMenu>
  • </DxGantt>
  • </template>
  •  
  • <script>
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import { DxGantt, DxContextMenu } from 'devextreme-vue/gantt';
  •  
  • export default {
  • components: {
  • DxGantt,
  • DxContextMenu
  • },
  • methods: {
  • onCustomCommand(e) {
  • if(e.name == 'item1') {
  • // your code
  • }
  • }
  • },
  • data() {
  • return {
  • // ...
  • }
  • }
  • }
  • </script>

Result:

DevExtreme Gantt - Custom Context Menu Items

beginGroup

Specifies whether a group separator is displayed over the item.

Selector: begin-group
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.

Selector: close-menu-on-click
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.

Selector: DxItem

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

name

Specifies the context menu item name.

Type:

String

Accepted Values: 'undo' | 'redo' | 'expandAll' | 'collapseAll' | 'addTask' | 'deleteTask' | 'zoomIn' | 'zoomOut' | 'deleteDependency' | 'taskDetails' | 'resourceManager'

App.vue
  • <template>
  • <DxGantt
  • @custom-command="onCustomCommand" >
  • <DxContextMenu>
  • <DxItem text="Category">
  • <DxItem name="item1" text="Item 1" />
  • <DxItem name="item2" text="Item 2" />
  • <DxItem name="item3" text="Item 3" />
  • </DxItem>
  • </DxContextMenu>
  • </DxGantt>
  • </template>
  •  
  • <script>
  • import 'devextreme/dist/css/dx.light.css';
  •  
  • import { DxGantt, DxContextMenu } from 'devextreme-vue/gantt';
  •  
  • export default {
  • components: {
  • DxGantt,
  • DxContextMenu
  • },
  • methods: {
  • onCustomCommand(e) {
  • if(e.name == 'item1') {
  • // your code
  • }
  • }
  • },
  • data() {
  • return {
  • // ...
  • }
  • }
  • }
  • </script>

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.vue
  • <template>
  • <DxGantt>
  • <DxContextMenu>
  • <DxItem ...>
  • <div>Custom Item</div>
  • </DxItem>
  • </DxContextMenu>
  • </DxGantt>
  • </template>
  •  
  • <script>
  •  
  • import DxGantt, {
  • DxContextMenu, DxItem
  • } from 'devextreme-vue/gantt';
  •  
  • export default {
  • components: {
  • DxGantt,
  • DxContextMenu,
  • DxItem
  • },
  • // ...
  • }
  • </script>
See Also

text

Specifies the text inserted into the item element.

Type:

String

visible

Specifies whether or not the menu item is visible.

Type:

Boolean

Default Value: true