Get Free Trial
Get Free Trial
  1. API reference
    1. Introduction
    2. Flexmonster()
  2. Objects
    1. All objects
    2. Report Object
    3. Data Source Object
    4. Slice Object
    5. Options Object
    6. Filtering
      1. Filter Object
      2. Number Query Object
      3. String Query Object
      4. Date Query Object
      5. Time Query Object
      6. Value Query Object
    7. Format Object
    8. Conditional Format Object
    9. Cell Data Object
    10. Chart Data Object
    11. Toolbar Object
  3. Methods
    1. All methods
    2. addCalculatedMeasure
    3. addCondition
    4. alert
    5. clear
    6. clearFilter
    7. clearXMLACache
    8. closeFieldsList
    9. collapseAllData
    10. collapseData
    11. connectTo
    12. customizeCell
    13. customizeContextMenu
    14. dispose
    15. expandAllData
    16. expandData
    17. exportTo
    18. getAllConditions
    19. getAllHierarchies
    20. getAllMeasures
    21. getCell
    22. getColumns
    23. getCondition
    24. getFilter
    25. getFormat
    26. getMeasures
    27. getMembers
    28. getOptions
    29. getReport
    30. getReportFilters
    31. getRows
    32. getSelectedCell
    33. getSort
    34. getXMLACatalogs
    35. getXMLACubes
    36. getXMLADataSources
    37. getXMLAProviderName
    38. load
    39. off
    40. on
    41. open
    42. openCalculatedValueEditor
    43. openFieldsList
    44. openFilter
    45. print
    46. refresh
    47. removeAllCalculatedMeasures
    48. removeAllConditions
    49. removeCalculatedMeasure
    50. removeCondition
    51. removeSelection
    52. runQuery
    53. save
    54. setFilter
    55. setFormat
    56. setOptions
    57. setReport
    58. setSort
    59. showCharts
    60. showGrid
    61. showGridAndCharts
    62. sortingMethod
    63. sortValues
    64. updateData
  4. Events
    1. All events
    2. afterchartdraw
    3. aftergriddraw
    4. beforegriddraw
    5. beforetoolbarcreated
    6. cellclick
    7. celldoubleclick
    8. chartclick
    9. datachanged
    10. dataerror
    11. datafilecancelled
    12. dataloaded
    13. exportcomplete
    14. exportstart
    15. fieldslistclose
    16. fieldslistopen
    17. filterclose
    18. filteropen
    19. loadingdata
    20. loadinglocalization
    21. loadingolapstructure
    22. loadingreportfile
    23. localizationerror
    24. localizationloaded
    25. olapstructureerror
    26. olapstructureloaded
    27. openingreportfile
    28. printcomplete
    29. printstart
    30. querycomplete
    31. queryerror
    32. ready
    33. reportchange
    34. reportcomplete
    35. reportfilecancelled
    36. reportfileerror
    37. runningquery
    38. update
Table of contents

customizeContextMenu

customizeContextMenu(customizeFunction: Function)

[starting from version: 2.6]

This API call allows customizing context menu. For example, you can create context menu for a flat table or remove all context menu items for classic view.

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

Data passed to the customizeFunction:

  • items – Array of objects. Context menu items created by Flexmonster. Each object can have the following properties:
    • label – String. The name of the menu item.
    • handler – Function | String. The function or the name of the function that handles click on this item.
    • submenu (optional) – Array of objects. Array of submenu items. Each submenu item has the same structure as items.
    • isSelected (optional) – Boolean. Specifies whether the menu item is selected.
    • class (optional) – String. Adds a custom CSS class to the specified item.
  • data – Object. Information about the right-clicked object. In case of right click on the grid, this is a Cell Data Object containing information about the cell. In case of right click on the chart element, this is a Chart Data Object containing information about the chart segment.
  • viewType – String. View type that was right-clicked. Can have one of the four possible values:
    1. "pivot" – Means that pivot grid was right-clicked, either compact or classic view.
    2. "flat" – Means that flat table view was right-clicked.
    3. "charts" – Means that charts view was right-clicked.
    4. "drillthrough" – Means that drill through view was right-clicked.

Returns

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

Examples

1) Add to flat table context menu “Switch to charts” option:

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 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 context menu