-
Amanda Ghassaei authoredAmanda Ghassaei authored
navbar.js 1.76 KiB
/**
* Created by aghassaei on 1/7/15.
*/
//model is appState
//not templating this view yet
NavBar = Backbone.View.extend({
el: "#globalNav",
events: {
"click #showHideMenu": "_setMenuVis",
"click .menuHoverControls": "_setNavSelection",
"click .navDropdown": "_deselectAllNavItems"
},
initialize: function(){
_.bindAll(this, "_setMenuVis");
this.listenTo(this.model, "change:menuIsVisible", this._updateShowHideButton);
this._uiStuff();
},
_setMenuVis: function(e){
e.preventDefault();
var state = this.model.get("menuIsVisible");
this.model.set("menuIsVisible", !state);
$(e.target).blur();
},
_updateShowHideButton: function(){
var $button = $("#showHideMenu");
var state = this.model.get("menuIsVisible");
if(state){
$button.html("Hide Menu >>");
} else {
$button.html("<< Show Menu");
}
},
_setNavSelection: function(e){
e.preventDefault();
var $link = $(e.target);
this._deselectAllNavItems();
$link.parent().addClass("open");//highlight
var navSelection = $link.data("menuId");
if (navSelection == "about") return;
if (navSelection) this.model.set("currentNav", navSelection);
},
_uiStuff: function(){
var $logo = $("#logo");
$logo.mouseover(function(){
$logo.attr("src","assets/logo-active.png");
});
$logo.mouseout(function(){
$logo.attr("src","assets/logo.png");
});
},
_deselectAllNavItems: function(){
$(".menuHoverControls").parent().removeClass("open");//no highlight
}
});