Lidarr/NzbDrone.Web/_backboneApp/AddSeries/Existing/ImportSeriesView.js

82 lines
2.3 KiB
JavaScript
Raw Normal View History

2013-01-31 22:40:51 +00:00
'use strict';
/// <reference path="../../app.js" />
/// <reference path="UnmappedFolderModel.js" />
/// <reference path="../../Series/SeriesModel.js" />
/// <reference path="../SearchResultCollection.js" />
NzbDrone.AddSeries.Existing.FolderMatchResultView = Backbone.Marionette.ItemView.extend({
template: "AddSeries/Existing/FolderMatchResultViewTemplatate",
});
NzbDrone.AddSeries.Existing.UnmappedFolderCompositeView = Backbone.Marionette.CompositeView.extend({
template: "AddSeries/Existing/UnmappedFolderCompositeViewTemplatate",
itemViewContainer: ".x-folder-name-match-results",
itemView: NzbDrone.AddSeries.Existing.FolderMatchResultView,
events: {
'click .x-search': 'search'
},
2013-02-01 03:15:19 +00:00
ui: {
searchButton: '.x-search'
},
2013-01-31 22:40:51 +00:00
initialize: function () {
this.collection = new NzbDrone.AddSeries.SearchResultCollection();
},
search: function () {
2013-02-01 03:15:19 +00:00
var icon = this.ui.searchButton.find('icon');
icon.removeClass('icon-search').addClass('icon-spin icon-spinner disabled');
2013-01-31 22:40:51 +00:00
this.collection.fetch({
2013-02-01 03:15:19 +00:00
data: $.param({ term: this.model.get('folder') }),
success: function () {
icon.removeClass('icon-spin icon-spinner disabled').addClass('icon-search');
},
fail:function() {
icon.removeClass('icon-spin icon-spinner disabled').addClass('icon-search');
}
2013-01-31 22:40:51 +00:00
});
}
});
NzbDrone.AddSeries.Existing.RootFolderCompositeView = Backbone.Marionette.CompositeView.extend({
template: "AddSeries/Existing/RootFolderCompositeViewTemplate",
itemViewContainer: ".x-existing-folder-container",
itemView: NzbDrone.AddSeries.Existing.UnmappedFolderCompositeView,
initialize: function () {
if (!this.model) {
throw "model is required.";
}
this.collection = new NzbDrone.AddSeries.Existing.UnmappedFolderCollection();
this.collection.importArray(this.model.get('unmappedFolders'));
},
});
NzbDrone.AddSeries.Existing.ImportSeriesView = Backbone.Marionette.CollectionView.extend({
itemView: NzbDrone.AddSeries.Existing.RootFolderCompositeView,
initialize: function () {
if (!this.collection) {
throw "root folder collection is required.";
}
}
});