Dear visitor, despite the COVID-19 outbreak, our team continues operating at full speed.

Also, here is the form where you can apply for a special discount and we will contact you with possible options. Stay safe and continue achieving your business goals.

Fill the form
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. Mapping Object
    5. Slice Object
    6. Options Object
    7. Filtering
      1. Filter Object
      2. Number Query Object
      3. String Query Object
      4. Date Query Object
      5. Time Query Object
      6. Value Query Object
    8. Format Object
    9. Conditional Format Object
    10. Cell Data Object
    11. Chart Data Object
    12. 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. customizeAPIRequest
    13. customizeCell
    14. customizeContextMenu
    15. dispose
    16. expandAllData
    17. expandData
    18. exportTo
    19. getAllConditions
    20. getAllHierarchies
    21. getAllMeasures
    22. getCell
    23. getColumns
    24. getCondition
    25. getFilter
    26. getFlatSort
    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. openCalculatedValueEditor
    45. openFieldsList
    46. openFilter
    47. print
    48. refresh
    49. removeAllCalculatedMeasures
    50. removeAllConditions
    51. removeCalculatedMeasure
    52. removeCondition
    53. removeSelection
    54. runQuery
    55. save
    56. setFilter
    57. setFlatSort
    58. setFormat
    59. setOptions
    60. setReport
    61. setSort
    62. showCharts
    63. showGrid
    64. showGridAndCharts
    65. sortingMethod
    66. sortValues
    67. 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. drillthroughclose
    14. drillthroughopen
    15. exportcomplete
    16. exportstart
    17. fieldslistclose
    18. fieldslistopen
    19. filterclose
    20. filteropen
    21. loadingdata
    22. loadinglocalization
    23. loadingolapstructure
    24. loadingreportfile
    25. localizationerror
    26. localizationloaded
    27. olapstructureerror
    28. olapstructureloaded
    29. openingreportfile
    30. printcomplete
    31. printstart
    32. querycomplete
    33. queryerror
    34. ready
    35. reportchange
    36. reportcomplete
    37. reportfilecancelled
    38. reportfileerror
    39. runningquery
    40. update
  5. Custom data source API
    1. All requests
    2. /handshake request
    3. /fields request
    4. /members request
    5. /select request for pivot table
    6. /select request for flat table
    7. /select request for drill-through view
    8. Field Object
  6. MongoDB Connector API
    1. All methods
    2. getSchema
    3. getMembers
    4. getSelectResult
Table of contents

beforetoolbarcreated

beforetoolbarcreated:String

[starting from version: 2.3]

It is triggered before the creation of Toolbar. Use this event to override default Toolbar and customize it without changing flexmonster.toolbar.js. As an input beforetoolbarcreated gets toolbar object. Override existing tabs and set custom ones using toolbar.getTabs() function. Each tab object should have the following structure:

  • title – String. Label of the tab.
  • id – String. Id used in CSS styles.
  • handler – String. Name of the function that handles click on this tab.
  • icon – String. HTML tag containing your custom icon for this new tab. You can choose one of our vector icons defined in flexmonster.toolbar.js file.
  • args (optional) – Any. Argument to pass to handler.
  • menu (optional) – Array. Dropdown menu items.
  • mobile (optional) – Boolean. If false – doesn’t show on mobile devices.
  • ios (optional) – Boolean. If false – doesn’t show on iOS devices.
  • android (optional) – Boolean. If false – doesn’t show on Android devices.

Example

Hide all default tabs and add a new one to load a CSV file:

var pivot = new Flexmonster({
    container: "pivot-container",
    toolbar: true,
    beforetoolbarcreated: customizeToolbar
});

function customizeToolbar(toolbar) {
    // override tabs
    toolbar.getTabs = function() {
        var tabs = [];
        tabs.push({
        id: "fm-tab-connect",
        icon: this.icons.connect,
        title: this.Labels.connect,
        handler: function() {
            this.pivot.connectTo({ 
                type: "csv", 
                filename: "http://cdn.flexmonster.com/2.3/data/data.csv" 
            });
        }
        });
        return tabs;
    }
}

Try the example on JSFiddle.

See also

Customizing toolbar tutorial