internal links are automatically handled using NzbDrone.Router.navigate instead
of re-loading page.
This commit is contained in:
parent
13cff22cf8
commit
2e3863895c
|
@ -1,4 +1,6 @@
|
|||
@import "bootstrap/bootstrap";
|
||||
@import "bootstrap/variables";
|
||||
@import "bootstrap/mixins";
|
||||
@import "bootstrap/type";
|
||||
|
||||
.progress {
|
||||
width: 125px;
|
||||
|
|
|
@ -119,8 +119,9 @@
|
|||
}
|
||||
|
||||
body {
|
||||
background-color: #252525;
|
||||
background-color: #1c1c1c;
|
||||
background-image: url('../content/images/pattern.png');
|
||||
margin-bottom: 100px;
|
||||
p.sub {
|
||||
color: #999999;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
'use strict';
|
||||
|
||||
var oldItemViewRender = Marionette.ItemView.prototype.render;
|
||||
var oldMarionetteItemViewRender = Marionette.ItemView.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);
|
||||
};
|
||||
|
||||
|
||||
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 () {
|
||||
|
||||
var result = oldItemViewRender.apply(this, arguments);
|
||||
var result = oldMarionetteItemViewRender.apply(this, arguments);
|
||||
|
||||
this.$el.removeClass('iv-' + this.viewName());
|
||||
|
||||
|
@ -38,13 +61,11 @@ Marionette.ItemView.prototype.render = function () {
|
|||
this._modelBinder = new Backbone.ModelBinder();
|
||||
}
|
||||
|
||||
window.console.log('binding ' + this.viewName());
|
||||
|
||||
this._modelBinder.bind(this.model, this.el);
|
||||
}
|
||||
|
||||
this.$('a[href^="/"]').children().click(this._handleRelativeLink);
|
||||
this.$el.addClass('iv-' + this.viewName());
|
||||
|
||||
|
||||
return result;
|
||||
};
|
||||
|
|
|
@ -19,7 +19,6 @@ define([
|
|||
events: {
|
||||
'click .x-edit' : 'editSeries',
|
||||
'click .x-remove': 'removeSeries',
|
||||
'click a' : 'showEpisodeList'
|
||||
},
|
||||
|
||||
initialize: function (options) {
|
||||
|
@ -34,12 +33,6 @@ define([
|
|||
removeSeries: function () {
|
||||
var view = new NzbDrone.Series.Delete.DeleteSeriesView({ model: this.model });
|
||||
NzbDrone.modalRegion.show(view);
|
||||
},
|
||||
|
||||
showEpisodeList: function (e) {
|
||||
e.preventDefault();
|
||||
NzbDrone.Router.navigate('/series/details/' + this.model.get('id'), { trigger: true});
|
||||
|
||||
}
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue