You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.4 KiB
51 lines
1.4 KiB
var Marionette = require('marionette');
|
|
var AddSeriesView = require('../AddSeriesView');
|
|
var UnmappedFolderCollection = require('./UnmappedFolderCollection');
|
|
|
|
module.exports = Marionette.CompositeView.extend({
|
|
itemView : AddSeriesView,
|
|
itemViewContainer : '.x-loading-folders',
|
|
template : 'AddSeries/Existing/AddExistingSeriesCollectionViewTemplate',
|
|
|
|
ui : {
|
|
loadingFolders : '.x-loading-folders'
|
|
},
|
|
|
|
initialize : function() {
|
|
this.collection = new UnmappedFolderCollection();
|
|
this.collection.importItems(this.model);
|
|
},
|
|
|
|
showCollection : function() {
|
|
this._showAndSearch(0);
|
|
},
|
|
|
|
appendHtml : function(collectionView, itemView, index) {
|
|
collectionView.ui.loadingFolders.before(itemView.el);
|
|
},
|
|
|
|
_showAndSearch : function(index) {
|
|
var self = this;
|
|
var model = this.collection.at(index);
|
|
|
|
if (model) {
|
|
var currentIndex = index;
|
|
var folderName = model.get('folder').name;
|
|
this.addItemView(model, this.getItemView(), index);
|
|
this.children.findByModel(model).search({ term : folderName }).always(function() {
|
|
if (!self.isClosed) {
|
|
self._showAndSearch(currentIndex + 1);
|
|
}
|
|
});
|
|
}
|
|
|
|
else {
|
|
this.ui.loadingFolders.hide();
|
|
}
|
|
},
|
|
|
|
itemViewOptions : {
|
|
isExisting : true
|
|
}
|
|
|
|
}); |