var _ = require('underscore'); var AppLayout = require('../../../AppLayout'); var Backbone = require('backbone'); var SchemaCollection = require('../DownloadClientCollection'); var AddCollectionView = require('./DownloadClientAddCollectionView'); module.exports = { open : function(collection){ var schemaCollection = new SchemaCollection(); var originalUrl = schemaCollection.url; schemaCollection.url = schemaCollection.url + '/schema'; schemaCollection.fetch(); schemaCollection.url = originalUrl; var groupedSchemaCollection = new Backbone.Collection(); schemaCollection.on('sync', function(){ var groups = schemaCollection.groupBy(function(model, iterator){ return model.get('protocol'); }); var modelCollection = _.map(groups, function(values, key, list){ return { "header" : key, collection : values }; }); groupedSchemaCollection.reset(modelCollection); }); var view = new AddCollectionView({ collection : groupedSchemaCollection, targetCollection : collection }); AppLayout.modalRegion.show(view); } };