Configuring the AMD loader for the JavaScript Library

You can use the AMD loader from Dojo version 1.7 and later to load the JavaScript Library modules.

Before any JavaScript Library module can be imported by using the AMD require function, the AMD loader must be configured to find and map the modules. The following example demonstrates how to configure the AMD loader for supported versions of Dojo.

Note: In the following examples, location/to/tm1web/scripts/tm1web represents the TM1 Web URI. An example of this location might be http://localhost:9510/tm1web/scripts/tm1web.

The following example shows how to configure the AMD loader for Dojo versions 1.8, 1.9 and 1.10.


require({
    packages: [
        {
            name: "tm1web",
            location: "location/to/tm1web/scripts/tm1web"
        },
        {
            name: "tm1webCom",
            location: "location/to/tm1web/scripts/com"
        },
        {
            name: "tm1webDojo",
            location: "location/to/tm1web/scripts/dojo"
        },
        {
            name: "tm1webDijit",
            location: "location/to/tm1web/scripts/dijit"
        },
        {
            name: "tm1webDojox",
            location: "location/to/tm1web/scripts/dojox"
        }
    ],
    map: {
        tm1web: {
            dojo: "tm1webDojo",
            dijit: "tm1webDijit",
            dojox: "tm1webDojox",
            com: "tm1webCom"
        },
        tm1webCom: {
            dojo: "tm1webDojo",
            dijit: "tm1webDijit",
            dojox: "tm1webDojox",
            com: "tm1webCom"
        },
        tm1webRave: {
            dojo: "tm1webDojo",
            dijit: "tm1webDijit",
            dojox: "tm1webDojox",
            com: "tm1webCom"
        },
        tm1webDojo: {
            dojo: "tm1webDojo",
            dijit: "tm1webDijit",
            dojox: "tm1webDojox",
            com: "tm1webCom"
        },
        tm1webDijit: {
            dojo: "tm1webDojo",
            dijit: "tm1webDijit",
            dojox: "tm1webDojox",
            com: "tm1webCom"
        },
        tm1webDojox: {
            dojo: "tm1webDojo",
            dijit: "tm1webDijit",
            dojox: "tm1webDojox",
            com: "tm1webCom"
        }
    }
});

The following example shows how to configure the AMD loader for Dojo 1.7.

require({
    packages: [
        {
            name: "tm1web",
            location: "location/to/tm1web/scripts/tm1web",
            packageMap: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox",
                com: "tm1webCom"
            }
        },
        {
            name: "tm1webCom",
            location: "location/to/tm1web/scripts/com",
            packageMap: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox",
                com: "tm1webCom"
            }
        },
        {
            name: "tm1webRave",
            location: "location/to/tm1web/scripts/com",
            packageMap: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox",
                com: "tm1webCom"
            }
        },
        {
            name: "tm1webDojo",
            location: "location/to/tm1web/scripts/dojo",
            packageMap: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox"
            }
        },
        {
            name: "tm1webDijit",
            location: "location/to/tm1web/scripts/dijit",
            packageMap: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox"
            }
        },
        {
            name: "tm1webDojox",
            location: "location/to/tm1web/scripts/dojox",
            packageMap: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox"
            }
        }
    ]
});

The following example shows a complete configuration.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script> dojoConfig = 
 {paths:
  {"react": "../react/react.production.min",
   "react-dom": "../react/react-dom.production.min",
   "prop-types": "../carbon/prop-types.min",
   "carbon-icons": "../carbon/carbon-icons",
   "carbon-components-react": "../carbon/carbon-components-react"}
 };
<script src="path/to/the/1.10/version/of/dojo.js"></script>
<script>
    require({
        packages: [
            {
                name: "tm1web",
                location: "http://localhost:9510/tm1web/scripts/tm1web"
            },
            {
                name: "tm1webCom",
                location: "http://localhost:9510/tm1web/scripts/com"
            },
            {
                name: "tm1webDojo",
                location: "http://localhost:9510/tm1web/scripts/dojo"
            },
            {
                name: "tm1webDijit",
                location: "http://localhost:9510/tm1web/scripts/dijit"
            },
            {
                name: "tm1webDojox",
                location: "http://localhost:9510/tm1web/scripts/dojox"
            }
        ],
        map: {
            tm1web: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox",
                com: "tm1webCom"
            },
            tm1webCom: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox",
                com: "tm1webCom"
            },
            tm1webRave: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox",
                com: "tm1webCom"
            },
            tm1webDojo: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox",
                com: "tm1webCom"
            },
            tm1webDijit: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox",
                com: "tm1webCom"
            },
            tm1webDojox: {
                dojo: "tm1webDojo",
                dijit: "tm1webDijit",
                dojox: "tm1webDojox",
                com: "tm1webCom"
            }
        }
    });
    
    require([
        "tm1web/api/Workbook"
    ], function(Workbook) {
        // Create and work with Workbook object
    });
</script>
</head>
<body class="exp tm1web"></body>
</html>