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.
Prowlarr/src/UI/AddSeries/Existing/AddExistingSeriesCollection...

38 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}
});