'use strict'; define( [ 'marionette', 'AddSeries/AddSeriesView', 'AddSeries/Existing/UnmappedFolderCollection' ], function (Marionette, AddSeriesView, UnmappedFolderCollection) { return Marionette.CollectionView.extend({ itemView: AddSeriesView, initialize: function () { this.collection = new UnmappedFolderCollection(); this.collection.importItems(this.model); }, showCollection: function () { this._showAndSearch(0); }, _showAndSearch: function (index) { var model = this.collection.at(index); if (model) { var self = this; var currentIndex = index; var folderName = model.get('folder').name; this.addItemView(model, this.getItemView(), index); $.when(this.children.findByModel(model).search({term: folderName})).then(function () { self._showAndSearch(currentIndex + 1); }); } }, itemViewOptions: { isExisting: true } }); });