Need a special offer?Find out if your project fits.
+
All documentation
  • API Reference for older versions
  • customizeContextMenu

    customizeContextMenu(customizeFunction: Function)

    [starting from version: 2.6]

    This API call allows customizing the context menu. For example, you can create a context menu for the flat form or remove all context menu items for the classic (tabular) form. Learn more in this guide: Customizing the context menu.

    customizeContextMenu can be defined in two ways:

    1. As a regular API call: flexmonster.customizeContextMenu(customizeFunction: Function).
    2. As an initialization parameter: new Flexmonster({customizeContextMenu: customizeFunction, ...}).

    Parameters

    The customizeFunction function. It has the following signature: customizeFunction(items: ContextMenuItemObject[], data: CellDataObject | CellDataObject[] | ChartDataObject, viewType: String): ContextMenuItemObject[].
    Data passed to the customizeFunction:

    Parameter/TypeDescription
    items
    ContextMenuItemObject[]
    Context menu items created by Flexmonster.
    data
    CellDataObject | CellDataObject[] | ChartDataObject
    Contains information about the right-clicked element.
    If a grid cell is right-clicked, the data is a CellDataObject containing information about the cell.
    If multiple cells are selected and then right-clicked, the data is an array of CellDataObjects.
    If a chart element is right-clicked, the data is a ChartDataObject containing information about the chart segment.
    viewType
    String
    View type that was right-clicked. Can have one of the four possible values:
    • "pivot" - Means that the pivot grid was right-clicked, either the compact or classic (tabular) form.
    • "flat" - Means that the flat form was right-clicked.
    • "charts" - Means that the chart view was right-clicked.
    • "drillthrough" - Means that drill-through view was right-clicked.

    The customizeFunction must return items, the array of new or changed context menu items. If items is null, the default items will be used. If items is [], the context menu will be hidden.

    ContextMenuItemObject

    Property/TypeDescription
    id
    String
    The ID of the menu item.
    label
    String
    The name of the menu item.
    handler
    Function
    The function that handles clicks on this item.
    submenu
    ContextMenuItemObject[]
    optional Contains submenu items.
    isSelected
    Boolean
    optional Specifies whether the menu item is selected.
    class
    String
    optional Adds a custom CSS class to the specified item.

    Examples

    1) Add a "Switch to charts" option to the flat table context menu:

    flexmonster.customizeContextMenu(function(items, data, viewType) {
    	if (viewType == "flat") 
    		items.push({
    			label: "Switch to charts",
    			handler: function() {
    				flexmonster.showCharts();
    			}
    		});
    	return items;
    });

    Open the example on JSFiddle.

    2) Remove "Aggregation" item from all the context menus:

    flexmonster.customizeContextMenu(function(items, data, viewType) {
    	items = items.filter(function (item){
    				return item.label !== "Aggregation"
    			})
    	return items;
    });

    Open the example on JSFiddle.

    See also

    Customizing the context menu
    customizeCell()
    customizeChartElement()