Vulcan/client/views/nav/nav.js

64 lines
1.8 KiB
JavaScript
Raw Normal View History

2014-07-05 11:24:28 +09:00
Template[getTemplate('nav')].helpers({
headerClass: function () {
var headerClass = "";
var bgBrightness = tinycolor(getSetting('headerColor')).getBrightness();
if (bgBrightness < 50) {
headerClass += " dark-bg";
} else if (bgBrightness < 100) {
headerClass += " medium-dark-bg";
} else if (bgBrightness < 200) {
headerClass += " medium-light-bg";
} else if (bgBrightness < 255) {
headerClass += " light-bg";
} else {
headerClass += " white-bg";
}
return headerClass;
},
primaryNav: function () {
return _.sortBy(primaryNav, 'order');
},
hasPrimaryNav: function () {
return !!primaryNav.length;
},
secondaryNav: function () {
return _.sortBy(secondaryNav, 'order');
},
hasSecondaryNav: function () {
return !!secondaryNav.length;
2014-06-23 11:40:21 +09:00
},
2014-08-15 11:56:53 +09:00
dropdownClass: function () {
var dropdownClass = "";
// only use dropdowns for top nav
if (this.length > 3) {
dropdownClass += "long-dropdown";
}
if (getSetting('navLayout', 'top-nav') == 'top-nav' && getThemeSetting('useDropdowns', true)) {
dropdownClass += "has-dropdown";
} else {
dropdownClass += "no-dropdown";
}
return dropdownClass;
},
hasMoreThanThreeItems: function () {
console.log(this)
return this.length > 3;
2014-08-15 11:56:53 +09:00
},
2015-03-12 18:07:23 +09:00
logoTemplate: function () {
return getTemplate('logo');
},
navZoneTemplate: function () {
return getTemplate('navZone');
},
2014-08-13 17:12:52 +09:00
getTemplate: function () {
return getTemplate(this.template);
2013-04-06 16:50:40 +09:00
}
2013-11-14 23:01:59 -05:00
});
2013-11-15 15:29:39 +09:00
2014-07-05 11:24:28 +09:00
Template[getTemplate('nav')].events({
2014-07-09 09:46:24 +09:00
'click .mobile-menu-button': function(e){
2013-11-15 15:29:39 +09:00
e.preventDefault();
e.stopPropagation(); // Make sure we don't immediately close the mobile nav again. See layout.js event handler.
2013-11-15 15:29:39 +09:00
$('body').toggleClass('mobile-nav-open');
}
});