Skip to content

Instantly share code, notes, and snippets.

@jordanisip
Forked from joevandyk/application.js
Created November 21, 2008 20:18
Show Gist options
  • Save jordanisip/27608 to your computer and use it in GitHub Desktop.
Save jordanisip/27608 to your computer and use it in GitHub Desktop.
// Outer function just allows use of $ or jQuery (for jQuery Plugins)
(function($){
// Creates a jQuery wrapper method so methods can be attached to jQuery wrapped sets eg:
// $('form').fixieAjaxForm()
$.fixieAjaxForm = function(successCallback) {
// $(this) == $('form') inside this function
$(this).ajaxForm(function(str) {
var data = $.parseJSON(str);
$(this).find('label.error').removeClass('error');
if (data.errors.length === 0) {
$(this).resetForm();
successCallback(data);
} else {
$.each(data.errors, function(){
$('label[for='+ this[0]+']').addClass('error');
});
}
})
}
})(jQuery);
// TODO: showReviewForm and showReviews need to be cleaned up.
showReviewForm: function(reviewsWrapper, data){
var self = this;
reviewsWrapper.find('.read-reviews').hide();
if(reviewsWrapper.find('.new-review').length > 0) {
reviewsWrapper.find('.new-review').show('slide');
} else {
reviewsWrapper.append('<div class="new-review"></div>');
var newReviewWrapper = reviewsWrapper.find('.new-review');
newReviewWrapper.show('slide').html(DL.Templates.new_review, { id: data.id });
DL.Neighborhoods.submitAForm(newReviewWrapper, function(data){
newReviewWrapper.dialog('close');
self.reloadReviews(reviewsWrapper, data)});
newReviewWrapper.find('.star').rating();
newReviewWrapper.find('.close').click(function(){
newReviewWrapper.hide('slide');
});
}
},
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment