group_configurations.js 1.48 KB
Newer Older
1
define([
2 3
    'js/collections/group_configuration', 'js/models/group_configuration', 'js/views/pages/group_configurations'
], function(GroupConfigurationCollection, GroupConfigurationModel, GroupConfigurationsPage) {
4
    'use strict';
5 6 7 8 9
    return function(experimentsEnabled,
                    experimentGroupConfigurationsJson,
                    allGroupConfigurationJson,
                    groupConfigurationUrl,
                    courseOutlineUrl) {
10 11 12
        var experimentGroupConfigurations = new GroupConfigurationCollection(
                experimentGroupConfigurationsJson, {parse: true}
            ),
13 14 15 16 17 18 19 20 21 22 23
            allGroupConfigurations = [],
            newGroupConfig,
            i;

        for (i = 0; i < allGroupConfigurationJson.length; i++) {
            newGroupConfig = new GroupConfigurationModel(allGroupConfigurationJson[i],
                {parse: true, canBeEmpty: true});
            newGroupConfig.urlRoot = groupConfigurationUrl;
            newGroupConfig.outlineUrl = courseOutlineUrl;
            allGroupConfigurations.push(newGroupConfig);
        }
24

25 26 27
        experimentGroupConfigurations.url = groupConfigurationUrl;
        experimentGroupConfigurations.outlineUrl = courseOutlineUrl;
        new GroupConfigurationsPage({
28
            el: $('#content'),
29 30
            experimentsEnabled: experimentsEnabled,
            experimentGroupConfigurations: experimentGroupConfigurations,
31
            allGroupConfigurations: allGroupConfigurations
32 33 34
        }).render();
    };
});