"use strict"; define(['app', 'AddSeries/RootFolders/RootFolderCollection', 'Mixins/AutoComplete'], function (app, rootFolders) { NzbDrone.AddSeries.RootFolderItemView = Backbone.Marionette.ItemView.extend({ template: 'AddSeries/RootFolders/RootFolderItemTemplate', tagName : 'tr', events: { 'click .x-remove': 'removeFolder' }, removeFolder: function () { this.model.destroy({ wait: true }); this.model.collection.remove(this.model); } }); NzbDrone.AddSeries.RootDirListView = Backbone.Marionette.CollectionView.extend({ itemView: NzbDrone.AddSeries.RootFolderItemView, tagName : 'table', className: 'table table-hover' }); NzbDrone.AddSeries.RootDirView = Backbone.Marionette.Layout.extend({ template: 'AddSeries/RootFolders/RootFolderTemplate', route : 'series/add/rootdir', ui: { pathInput: '.x-path input' }, regions: { currentDirs: '#current-dirs' }, events: { 'click .x-add': 'addFolder' }, onRender: function () { this.collection = rootFolders; this.currentDirs.show(new NzbDrone.AddSeries.RootDirListView({ collection: this.collection })); this.ui.pathInput.autoComplete('/directories'); }, addFolder: function () { var newDir = new NzbDrone.AddSeries.RootFolders.RootFolderModel( { Path: this.ui.pathInput.val() }); var self = this; this.collection.create(newDir, { wait: true, success: function () { self.collection.fetch(); } }); }, search: function (context) { var term = context.ui.seriesSearch.val(); if (term === "") { context.collection.reset(); } else { console.log(term); context.collection.fetch({ data: { term: term } }); } } }); });