internal links are automatically handled using NzbDrone.Router.navigate instead

of re-loading page.
pull/24/head
kay.one 12 years ago
parent 13cff22cf8
commit 2e3863895c

@ -1,4 +1,6 @@
@import "bootstrap/bootstrap"; @import "bootstrap/variables";
@import "bootstrap/mixins";
@import "bootstrap/type";
.progress { .progress {
width: 125px; width: 125px;

@ -119,8 +119,9 @@
} }
body { body {
background-color: #252525; background-color: #1c1c1c;
background-image: url('../content/images/pattern.png'); background-image: url('../content/images/pattern.png');
margin-bottom: 100px;
p.sub { p.sub {
color: #999999; color: #999999;
} }

@ -1,6 +1,6 @@
'use strict'; 'use strict';
var oldItemViewRender = Marionette.ItemView.prototype.render; var oldMarionetteItemViewRender = Marionette.ItemView.prototype.render;
var oldItemCollectionViewRender = Marionette.CollectionView.prototype.render; var oldItemCollectionViewRender = Marionette.CollectionView.prototype.render;
@ -21,9 +21,32 @@ Marionette.ItemView.prototype.self$ = function (selector) {
return this.$(selector).not("[class*='iv-'] " + selector); return this.$(selector).not("[class*='iv-'] " + selector);
}; };
Marionette.ItemView.prototype._handleRelativeLink = function (event) {
console.log('clikc');
event.preventDefault();
var $target = $(event.target);
var href = event.target.getAttribute('href');
if (!href && $target.parent('a') && $target.parent('a')[0]) {
var linkElement = $target.parent('a')[0];
href = linkElement.getAttribute('href');
}
if (!href) {
throw 'couldnt find route target';
}
NzbDrone.Router.navigate(href, { trigger: true });
};
Marionette.ItemView.prototype.render = function () { Marionette.ItemView.prototype.render = function () {
var result = oldItemViewRender.apply(this, arguments); var result = oldMarionetteItemViewRender.apply(this, arguments);
this.$el.removeClass('iv-' + this.viewName()); this.$el.removeClass('iv-' + this.viewName());
@ -38,13 +61,11 @@ Marionette.ItemView.prototype.render = function () {
this._modelBinder = new Backbone.ModelBinder(); this._modelBinder = new Backbone.ModelBinder();
} }
window.console.log('binding ' + this.viewName());
this._modelBinder.bind(this.model, this.el); this._modelBinder.bind(this.model, this.el);
} }
this.$('a[href^="/"]').children().click(this._handleRelativeLink);
this.$el.addClass('iv-' + this.viewName()); this.$el.addClass('iv-' + this.viewName());
return result; return result;
}; };

@ -19,7 +19,6 @@ define([
events: { events: {
'click .x-edit' : 'editSeries', 'click .x-edit' : 'editSeries',
'click .x-remove': 'removeSeries', 'click .x-remove': 'removeSeries',
'click a' : 'showEpisodeList'
}, },
initialize: function (options) { initialize: function (options) {
@ -34,12 +33,6 @@ define([
removeSeries: function () { removeSeries: function () {
var view = new NzbDrone.Series.Delete.DeleteSeriesView({ model: this.model }); var view = new NzbDrone.Series.Delete.DeleteSeriesView({ model: this.model });
NzbDrone.modalRegion.show(view); NzbDrone.modalRegion.show(view);
},
showEpisodeList: function (e) {
e.preventDefault();
NzbDrone.Router.navigate('/series/details/' + this.model.get('id'), { trigger: true});
} }
}); });
}); });

Loading…
Cancel
Save