wrap newsletter banner helpers in startup block

This commit is contained in:
Sacha Greif 2014-10-08 11:49:34 +09:00
parent c46cf1cb24
commit d277adfc6d

View file

@ -19,70 +19,72 @@ var dismissBanner = function () {
});
}
Template[getTemplate('newsletterBanner')].helpers({
siteName: function () {
return getSetting('title');
},
isNotConnected: function () {
return !Meteor.user()
},
showBanner: function () {
// note: should not be reactive
if(
getSetting('showBanner', false) == false
|| !canView(Meteor.user())
|| Router.current().path != '/'
|| Cookie.get('showBanner') == "no"
|| (Meteor.user() && getUserSetting('showBanner', true) == false)
|| (Meteor.user() && getUserSetting('subscribedToNewsletter', false) == true)
){
return false;
}else{
return true;
}
}
});
Template[getTemplate('newsletterBanner')].events({
'click .newsletter-button': function (e) {
e.preventDefault();
var $banner = $('.newsletter-banner');
if(Meteor.user()){
$banner.addClass('show-loader');
Meteor.call('addCurrentUserToMailChimpList', function (error, result) {
$banner.removeClass('show-loader');
if(error){
console.log(error);
throwError(error.message);
}else{
console.log(result);
confirmSubscription();
}
});
}else{
var email = $('.newsletter-email').val();
if(!email){
alert('Please fill in your email.');
return
Meteor.startup(function () {
Template[getTemplate('newsletterBanner')].helpers({
siteName: function () {
return getSetting('title');
},
isNotConnected: function () {
return !Meteor.user()
},
showBanner: function () {
// note: should not be reactive
if(
getSetting('showBanner', false) == false
|| !canView(Meteor.user())
|| Router.current().path != '/'
|| Cookie.get('showBanner') == "no"
|| (Meteor.user() && getUserSetting('showBanner', true) == false)
|| (Meteor.user() && getUserSetting('subscribedToNewsletter', false) == true)
){
return false;
}else{
return true;
}
$banner.addClass('show-loader');
Meteor.call('addEmailToMailChimpList', email, function (error, result) {
$banner.removeClass('show-loader');
if(error){
console.log(error);
throwError(error.message);
}else{
console.log(result);
confirmSubscription();
}
});
}
// $('body').addClass('showing-lightbox');
// $(e.target).parents('.post').find('.post-video-lightbox').fadeIn('fast');
},
'click .newsletter-dismiss': function (e) {
$('.newsletter-banner').fadeOut('fast');
dismissBanner();
e.preventDefault();
}
})
});
Template[getTemplate('newsletterBanner')].events({
'click .newsletter-button': function (e) {
e.preventDefault();
var $banner = $('.newsletter-banner');
if(Meteor.user()){
$banner.addClass('show-loader');
Meteor.call('addCurrentUserToMailChimpList', function (error, result) {
$banner.removeClass('show-loader');
if(error){
console.log(error);
throwError(error.message);
}else{
console.log(result);
confirmSubscription();
}
});
}else{
var email = $('.newsletter-email').val();
if(!email){
alert('Please fill in your email.');
return
}
$banner.addClass('show-loader');
Meteor.call('addEmailToMailChimpList', email, function (error, result) {
$banner.removeClass('show-loader');
if(error){
console.log(error);
throwError(error.message);
}else{
console.log(result);
confirmSubscription();
}
});
}
// $('body').addClass('showing-lightbox');
// $(e.target).parents('.post').find('.post-video-lightbox').fadeIn('fast');
},
'click .newsletter-dismiss': function (e) {
$('.newsletter-banner').fadeOut('fast');
dismissBanner();
e.preventDefault();
}
});
});