Restructured presenters code

This commit is contained in:
Marcin Kurczewski
2014-09-02 23:07:50 +02:00
parent aed090da7d
commit 7c8e473e1b
5 changed files with 98 additions and 91 deletions

View File

@ -4,21 +4,18 @@ App.Presenters = App.Presenters || {};
App.Presenters.TopNavigationPresenter = function(util, jQuery, appState) {
var selectedElement = null;
var $el = jQuery('#top-navigation');
var template;
util.loadTemplate('top-navigation').then(function(html) {
template = _.template(html);
render();
init();
});
var $el = jQuery('#top-navigation');
var eventHandlers = {
loginStateChanged: function() {
render();
},
};
appState.startObserving('loggedIn', 'top-navigation', eventHandlers.loginStateChanged);
function init() {
render();
appState.startObserving('loggedIn', 'top-navigation', loginStateChanged);
}
function select(newSelectedElement) {
selectedElement = newSelectedElement;
@ -26,6 +23,10 @@ App.Presenters.TopNavigationPresenter = function(util, jQuery, appState) {
$el.find('li.' + selectedElement).addClass('active');
};
function loginStateChanged() {
render();
}
function render() {
$el.html(template({loggedIn: appState.get('loggedIn')}));
$el.find('li.' + selectedElement).addClass('active');