main menu now uses backbone to handle navigation. no more reload.

pull/3113/head
Keivan Beigi 12 years ago
parent 23c1c147f1
commit 82ae91dd6e

@ -1,7 +1,7 @@
#main-menu i:before { #main-menu-region i:before {
font-size: 35px; font-size: 35px;
} }
#main-menu i { #main-menu-region i {
width: 40px; width: 40px;
} }

@ -1,6 +1,6 @@
define(['app', 'Shared/ModalRegion', 'AddSeries/AddSeriesLayout', 'Series/SeriesCollectionView', define(['app', 'Shared/ModalRegion', 'AddSeries/AddSeriesLayout', 'Series/SeriesCollectionView',
'Upcoming/UpcomingCollectionView', 'Calendar/CalendarCollectionView', 'Shared/NotificationView', 'Upcoming/UpcomingCollectionView', 'Calendar/CalendarCollectionView', 'Shared/NotificationView',
'Shared/NotFoundView'], function (app, modalRegion) { 'Shared/NotFoundView', 'MainMenuView'], function (app, modalRegion) {
var controller = Backbone.Marionette.Controller.extend({ var controller = Backbone.Marionette.Controller.extend({
@ -43,7 +43,7 @@
} }
}); });
//Modal dialog initializer
NzbDrone.addInitializer(function () { NzbDrone.addInitializer(function () {
NzbDrone.addRegions({ modalRegion: modalRegion }); NzbDrone.addRegions({ modalRegion: modalRegion });

@ -44,7 +44,7 @@
<div class="container"> <div class="container">
<div class="row"> <div class="row">
<div class="span12"> <div class="span12">
<ul id="main-menu"> <ul id="main-menu-region">
<li><a href="/"><i class="icon-film"></i> <li><a href="/"><i class="icon-film"></i>
<br> <br>
Series</a></li> Series</a></li>
@ -58,7 +58,7 @@
<li><a href="settings"><i class="icon-cogs"></i> <li><a href="settings"><i class="icon-cogs"></i>
<br> <br>
Settings</a></li> Settings</a></li>
<li><a href="system" class="active"><i class="icon-plane"></i> <li><a href="system"><i class="icon-plane"></i>
<br> <br>
System</a></li> System</a></li>
<li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KRTE52U3XJDSQ" target="_blank"><i class="icon-star"></i> <li><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KRTE52U3XJDSQ" target="_blank"><i class="icon-star"></i>
@ -80,7 +80,7 @@
</div> </div>
<div class="span12" id="main-region"></div> <div class="span12" id="main-region"></div>
</div> </div>
</div> </div>
</div> </div>
<footer> <footer>
<div class="container"> <div class="container">

@ -0,0 +1,56 @@
define(['app'], function () {
NzbDrone.MainMenuView = Backbone.Marionette.ItemView.extend({
ui: {
seriesSearch: '.search input'
},
events: {
'click a': 'onClick'
},
onClick: function (event) {
event.preventDefault();
var target = $(event.target);
var href = undefined;
//look down for <a/>
href = event.target.getAttribute('href');
//if couldn't find it look up
if (!href && target.parent('a') && target.parent('a')[0]) {
var linkElement = target.parent('a')[0];
href = linkElement.getAttribute('href');
this.setActive(linkElement);
} else {
this.setActive(event.target);
}
if (href && href.startsWith('http')) {
window.location.href = href;
} else {
NzbDrone.Router.navigate(href, { trigger: true, replace: true });
}
},
setActive: function (element) {
this.$('a').removeClass('active');
$(element).addClass('active');
},
initialize: function () {
console.log('menue');
this.setElement($('#main-menu-region'));
}
});
return new NzbDrone.MainMenuView();
});

@ -29,6 +29,7 @@
<WarningLevel>4</WarningLevel> <WarningLevel>4</WarningLevel>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Content Include="MainMenuView.js" />
<Content Include="AddSeries\addSeries.css" /> <Content Include="AddSeries\addSeries.css" />
<Content Include="AddSeries\AddSeriesLayout.js" /> <Content Include="AddSeries\AddSeriesLayout.js" />
<Content Include="AddSeries\addSeriesLayoutTemplate.html" /> <Content Include="AddSeries\addSeriesLayoutTemplate.html" />

Loading…
Cancel
Save