1. API reference
  2. Welcome
    1. Component overview
    2. Quick start
    3. System requirements
    4. Troubleshooting
    5. Managing license keys
  3. Connecting to Data Source
    1. JSON
      1. Connecting to JSON
      2. Data types in JSON
    2. CSV
      1. Connecting to CSV
      2. Connecting to CSV using Compressor
      3. Data types in CSV
    3. Database
      1. Connecting to SQL databases
      2. Connecting to other databases
      3. Connecting to database with Node.js
      4. Connecting to database with .NET
      5. Connecting to database with .NET Core
      6. Connecting to database with Java
      7. Connecting to database with PHP
    4. Microsoft Analysis Services
      1. Connecting to Microsoft Analysis Services
      2. Getting started with Accelerator
      3. Installing Accelerator as a Windows Service
      4. Referring Accelerator as a DLL
      5. Configuring authentication process
      6. Configuring secure HTTPS connection
      7. Troubleshooting
    5. Pentaho Mondrian
      1. Connecting to Pentaho Mondrian
      2. Getting started with Accelerator
      3. Configuring Mondrian roles
      4. Сonfiguring username/password protection
      5. Сonfiguring secure HTTPS connection
      6. Troubleshooting
    6. icCube
  4. Security
    1. Accelerator security
    2. Data Compressor Security
  5. Configuring report
    1. What is a report
    2. Data source
    3. Slice
    4. Options
    5. Number formatting
    6. Conditional formatting
    7. Set report to the component
    8. Get report from the component
    9. Date and time formatting
    10. Configuring global options
    11. Export and print
    12. Calculated values
    13. Custom sorting
  6. Integration with frameworks
    1. Available tutorials
    2. Integration with AngularJS (v1.x)
    3. Integration with Angular
    4. Integration with React
    5. Integration with Webpack
    6. Integration with ASP.NET
    7. Integration with jQuery
    8. Integration with JSP
    9. Integration with TypeScript
    10. Integration with RequireJS
    11. Integration with PhoneGap
  7. Integration with charts
    1. Integration with Highcharts
    2. Integration with Google Charts
    3. Integration with FusionCharts
    4. Integration with any charting library
  8. Customizing
    1. Customizing toolbar
    2. Customizing appearance
    3. Customizing context menu
    4. Localizing component
  9. Updating to the latest version
    1. Updating to the latest version
    2. Release notes
    3. Migration guide from 2.5 to 2.6
    4. Migration guide from 2.4 to 2.5
    5. Migration guide from 2.3 to 2.4
    6. Migration guide from 2.2 to 2.3
    7. Documentation for older versions
Table of contents

Integration with RequireJS

This tutorial will help you to integrate Pivot Table Component with RequireJS framework. The main purpose of this tutorial is to show the process of setting up RequireJS project with Flexmonster.

Project structure

Let’s overview the sample folder structure: 

  • js/ – folder that contains all JavaScript files
    • app/ – folder that contains application JS files
      • main.js – main application JavaScript file
    • lib/ – folder that contains project dependencies
      • flexmonster/ – folder with Flexmonster pivot table files
      • require.js – RequireJS library
    • app.js – main RequireJS file, contains configuration
  • app.html – main HTML file, the entry point for your project

Please find contents of key files below.

app.html

<!DOCTYPE html>
<html>
    <head>
        <title>RequireJS Sample Page</title>
        <script data-main="js/app" src="js/lib/require.js"></script>
    </head>
    <body>
        <h1>RequireJS+Flexmonster Sample Page</h1>
        <div id="fm-container"></div>
    </body>
</html>

js/app.js

/* Place third party dependencies in the lib folder.
Configure loading modules from the lib directory, except 'app' ones. */
requirejs.config({ "baseUrl": "js/lib", "paths": { "app": "../app" } }); /* Load the main app module to start the app */ requirejs(["app/main"]);

js/app/main.js

/* Please note, licenseKey is your license or trial key, 
so you should replace XXX with an actual key. */
define(["flexmonster/flexmonster"], function() { new Flexmonster({ container: "fm-container", componentFolder: "js/lib/flexmonster/", width: "100%", height: "500", toolbar: true, licenseKey: "XXX", report: "https://cdn.flexmonster.com/reports/report.json"
}); });