1. API reference
    1. Introduction
    2. Flexmonster()
  2. Objects
    1. All objects
    2. Report Object
    3. Slice Object
    4. Options Object
    5. Format Object
    6. Conditional Format Object
    7. Cell Data 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. getData
    25. getFilter
    26. getFilterProperties
    27. getFormat
    28. getMeasures
    29. getMembers
    30. getOptions
    31. getReport
    32. getReportFilters
    33. getRows
    34. getSelectedCell
    35. getSort
    36. getXMLACatalogs
    37. getXMLACubes
    38. getXMLADataSources
    39. getXMLAProviderName
    40. load
    41. off
    42. on
    43. open
    44. openFieldsList
    45. print
    46. refresh
    47. removeAllCalculatedMeasures
    48. removeAllConditions
    49. removeCalculatedMeasure
    50. removeCondition
    51. removeSelection
    52. runQuery
    53. save
    54. setBottomX
    55. setFilter
    56. setFormat
    57. setOptions
    58. setReport
    59. setSort
    60. setTopX
    61. showCharts
    62. showGrid
    63. showGridAndCharts
    64. sortingMethod
    65. sortValues
    66. updateData
  4. Events
    1. All events
    2. aftergriddraw
    3. beforegriddraw
    4. beforetoolbarcreated
    5. cellclick
    6. celldoubleclick
    7. datachanged
    8. dataerror
    9. datafilecancelled
    10. dataloaded
    11. exportcomplete
    12. exportstart
    13. fieldslistclose
    14. fieldslistopen
    15. filteropen
    16. loadingdata
    17. loadinglocalization
    18. loadingolapstructure
    19. loadingreportfile
    20. localizationerror
    21. localizationloaded
    22. olapstructureerror
    23. olapstructureloaded
    24. openingreportfile
    25. printcomplete
    26. printstart
    27. querycomplete
    28. queryerror
    29. ready
    30. reportchange
    31. reportcomplete
    32. reportfilecancelled
    33. reportfileerror
    34. runningquery
    35. 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.
  • 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;
});