From 1bf855ca3a394127d53cdb3b2bac1be43f5a465f Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Thu, 18 Jul 2013 08:21:21 -0700 Subject: [PATCH] Redirect to index when on series is deleted from details --- UI/Series/Delete/DeleteSeriesView.js | 3 ++- UI/Series/Details/SeriesDetailsLayout.js | 9 +++++++++ UI/app.js | 3 ++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/UI/Series/Delete/DeleteSeriesView.js b/UI/Series/Delete/DeleteSeriesView.js index f4c0b76fa..b29e12722 100644 --- a/UI/Series/Delete/DeleteSeriesView.js +++ b/UI/Series/Delete/DeleteSeriesView.js @@ -17,13 +17,14 @@ define( }, removeSeries: function () { - + var self = this; var deleteFiles = this.ui.deleteFiles.prop('checked'); this.model.destroy({ data: { 'deleteFiles': deleteFiles }, wait: true }).done(function () { + App.vent.trigger(App.Events.SeriesDeleted, { series: self.model }); App.modalRegion.closeModal(); }); } diff --git a/UI/Series/Details/SeriesDetailsLayout.js b/UI/Series/Details/SeriesDetailsLayout.js index be1f69579..d46686066 100644 --- a/UI/Series/Details/SeriesDetailsLayout.js +++ b/UI/Series/Details/SeriesDetailsLayout.js @@ -39,6 +39,8 @@ define( this.model.on('sync', function () { this._setMonitoredState() }, this); + + this.listenTo(App.vent, App.Events.SeriesDeleted, this._onSeriesDeleted); }, onShow: function () { @@ -127,6 +129,13 @@ define( promise.always(function () { self.ui.refresh.removeClass('icon-spin'); }); + }, + + _onSeriesDeleted: function (event) { + + if (this.model.get('id') === event.series.get('id')) { + App.Router.navigate('/', { trigger: true }); + } } }); }); diff --git a/UI/app.js b/UI/app.js index 075675827..d78c98cb4 100644 --- a/UI/app.js +++ b/UI/app.js @@ -171,7 +171,8 @@ define( var app = new Marionette.Application(); app.Events = { - SeriesAdded: 'seriesAdded' + SeriesAdded: 'series:added', + SeriesDeleted: 'series:deleted' }; app.Commands = {