Menu
Download Free Trial
Table of contents

Global Object

Flexmonster component has a wide variety of configurable options: localization, grid options, chart options, etc.

Report objects are used to configure which data should be shown in the component, how it will be visualized and what instruments will be available for data analysis. The values for all the possible options can be defined in reports. The details on how to configure all options in the reports are described in Configuring report article.

It is not mandatory though to explicitly set all the options in the reports. When a value for an option is not set in the report, it is pulled from the default values that are predefined in the component.

It is however often needed to modify specific default options that will be common for all the reports. This can be done using the global object. global is a parameter of flexmonster() method. In general, global object should be considered as a global parent report. It can have dataSource, options and localization sub-objects of the same structure as inside report object. global object overrides default option values for all the reports of the component.

Thus, in case when a specific option is not explicitly set in the report, the component will use the global value.

Examples

  1. Specify one localization for all reports:

    global: {
      localization: "loc/es.json"
    }
    

    See the live demo on JSFiddle.

  2. The following example demonstrates how to set the read-only mode for all reports:

    global: {
      options: {
        grid: {
          showFilter: false
        },
        configuratorButton: false,
        sorting: false,
        drillThrough: false
      }
    }
    

    Check out how the example works on JSFiddle.

  3. Apply date and time formatting for the component:

    global: {
      options: {
        datePattern: "'date: 'MM/dd/yy'; time: 'HH-mm"
      }
    }
    

    Check how it works on JSFiddle.

  4. The next example shows how you can specify dataSource for all reports:

    global: {
      dataSource: {
        filename: "http://cdn.flexmonster.com/2.3/data/data.csv"
      }
    }
    

    Open the example on JSFiddle.

  5. The current report is usually obtained via save() or getReport() API calls. By default, reports returned by these methods contain only options which were explicitly defined inside the report object. For example, we have the component defined the following way:

    var pivot = $("#pivotContainer").flexmonster({
      licenseKey: "XXXX-XXXX-XXXX-XXXX-XXXX",
      global: {
        localization: "loc/es.json"
      },
      report: {
        dataSource: {
        	filename: "http://cdn.flexmonster.com/2.3/data/data.csv"
        }
      }
    });
    

    save() and getReport() will get the report containing dataSource specified, but without options defined in global or defaults. Use withGlobals:true parameter in API calls to include localization, which was defined in global, to the report:

    save()

    flexmonster.save({
      withGlobals: true
    });
    

    getReport()

    flexmonster.getReport({
      withGlobals: true
    });
    

    To include the default options to the report, use withDefaults:true parameter:

    save()

    flexmonster.save({
      withDefaults: true
    });
    

    getReport()

    flexmonster.getReport({
      withDefaults: true
    });
    

    Test the complete example on JSFiddle.