JavaScript/jQuery Gantt - contextMenu.items
The context menu contains a set of default commands: 'addTask', 'taskDetails', and 'deleteTask'. Use the contextMenu property to recreate the context menu items.
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.
- $(function () {
- $("#gantt").dxGantt({
- contextMenu: {
- items: [
- "addTask",
- "deleteTask",
- {
- text: "Zoom",
- items: [
- "zoomIn",
- "zoomOut"
- ]
- }
- ]
- }
- //...
- });
- });
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.
- $(function () {
- $("#gantt").dxGantt({
- contextMenu: {
- items: [
- {
- text: "Category",
- items:[
- {
- text: "Item 1",
- name: "item1"
- },
- {
- text: "Item 2",
- name: "item2"
- },
- {
- text: "Item 3",
- name: "item3"
- }
- ]
- }
- // ...
- ]
- }
- onCustomCommand: onCustomCommandClick
- // ...
- });
- });
- function onCustomCommandClick(e) {
- if(e.name == 'item1') {
- // your code
- }
- }
Result:
icon
This property accepts one of the following:
- The icon's URL
- The icon's name if the icon is from the DevExtreme icon library
- The icon's CSS class if the icon is from an external icon library (see External Icon Libraries)
- The icon in the Base64 format
- The icon in the SVG format. Ensure that the source is reliable.
name
- $(function () {
- $("#gantt").dxGantt({
- contextMenu: {
- items: [
- {
- text: "Category",
- items:[
- {
- text: "Item 1",
- name: "item1"
- },
- {
- text: "Item 2",
- name: "item2"
- },
- {
- text: "Item 3",
- name: "item3"
- }
- ]
- }
- // ...
- ]
- }
- onCustomCommand: onCustomCommandClick
- // ...
- });
- });
- function onCustomCommandClick(e) {
- if(e.name == 'item1') {
- // your code
- }
- }
template
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.
- $(function() {
- $("#ganttContainer").dxGantt({
- // ...
- contextMenu: {
- items: [
- {
- // ...
- template: '<div>Custom Item</div>'
- }
- ]
- }
- });
- });
See Also
If you have technical questions, please create a support ticket in the DevExpress Support Center.