Sha256: 8bef72a63a2eac5f4d8159cef9b7410d7992c60a90159cc624b6fcaa9b816e23

Contents?: true

Size: 1.83 KB

Versions: 5

Compression:

Stored size: 1.83 KB

Contents

spud.admin.posts = new function(){

	var self = this;

	this.edit = function(){
		spud.admin.date_picker.init();

		$('body').on('click', '.spud_post_add_category', self.clickedPostAddCategory);
		$('body').on('click', '.save_post_category_button', self.submittedPostCategoryForm);
		$('body').on('submit', '.spud_post_category_form', self.submittedPostCategoryForm);
	};

	this.clickedPostAddCategory = function(e){
		e.preventDefault();
		$.ajax({
			url: $(this).attr('href'),
			dataType: 'html',
			success: function(html, textStatus, jqXHR){
				displayModalDialogWithOptions({
					title: 'Add Category',
					html: html
				});
			}
		});
	};

	this.submittedPostCategoryForm = function(e){
		e.preventDefault();
		var form = $('.spud_post_category_form');
		$.ajax({
			url: form.attr('action'),
			data: form.serialize(),
			type: 'post',
			dataType: 'json',
			success: self.savedPostCategorySuccess,
			error: self.savePostCategoryError
		});
	};

	this.savedPostCategorySuccess = function(data, textStatus, jqXHR){
		var checkbox = '';
		checkbox += '<li class="spud_post_form_category" data-id="'+data.id+'">';
		checkbox += '<input id="spud_post_category_'+data.id+'" name="spud_post[category_ids][]" type="checkbox" value="'+data.id+'" checked>' + "\n";
		checkbox += '<label for="spud_post_category_'+data.id+'">'+data.name+'</label>';
		checkbox += '<ul></ul></li>';
		if(data.parent_id > 0){
			$('.spud_post_form_category[data-id="'+data.parent_id+'"]>ul').append(checkbox);
		}
		else{
			$('.spud_post_categories_form').append(checkbox);
		}
		hideModalDialog();
	};

	this.savePostCategoryError = function(jqXHR, textStatus, errorThrown){
		if(jqXHR.status == 422){
			var html = jqXHR.responseText;
			$('.spud_post_category_form').replaceWith(html);
		}
		else{
			if(window.console){
        console.error('Oh Snap:', arguments);
      }
		}
	};
};

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tb_blog-1.2.1 app/assets/javascripts/admin/blog/posts.js
tb_blog-1.2.0 app/assets/javascripts/admin/blog/posts.js
tb_blog-1.1.3 app/assets/javascripts/admin/blog/posts.js
tb_blog-1.1.2 app/assets/javascripts/admin/blog/posts.js
tb_blog-1.1.1 app/assets/javascripts/admin/blog/posts.js