app/assets/javascripts/admin/blog/posts.js in tb_blog-1.3.3 vs app/assets/javascripts/admin/blog/posts.js in tb_blog-1.3.4
- old
+ new
@@ -4,10 +4,11 @@
edit: function(){
$('body').on('click', '.spud-post-add-category', clickedPostAddCategory);
$('body').on('submit', '.spud-post-category-form', submittedPostCategoryForm);
$('body').on('blur', '.spud-post-title', blurredPostTitle);
$('body').on('click', '.spud-post-url-name-regen', clickedUrlNameRegen);
+ $(".btn-preview").on('click', clickedPreviewButton);
}
};
var clickedPostAddCategory = function(e){
e.preventDefault();
@@ -87,8 +88,49 @@
var string;
string = title.toLowerCase();
string = string.replace(/\s+/g, '-'); // replace spaces with dashes
string = string.replace(/[^a-z0-9\-]+/g, ''); // remove symbols
return string;
+};
+
+var clickedPreviewButton = function(e){
+ e.preventDefault();
+ var $button = $(this);
+ var $form = $button.parents('form');
+
+ // Build a temporary form
+ $previewForm = $('<form />', {
+ action: $form.data('previewAction'),
+ target: '_blank',
+ method: 'POST',
+ css: { display: 'none' }
+ });
+ $('body').append($previewForm);
+
+ // Tell tinymce to write out to the textarea
+ tinyMCE.triggerSave();
+
+ // Copy fields into our temp form
+ $form.find('input, select, textarea').each(function(i, el){
+ var input = document.createElement('input');
+ input.name = el.name;
+ input.value = el.value;
+ $previewForm.append(input);
+ });
+
+ // Cross site scripting tag
+ var csrf = document.createElement('input');
+ csrf.name = 'authenticity_token';
+ csrf.value = tb.util.getCsrfToken();
+ $previewForm.append(csrf);
+
+ // Submit it
+ $button.button('loading');
+ $previewForm.submit();
+
+ setTimeout(function(){
+ $previewForm.remove();
+ $button.button('reset');
+ }, 2000);
};
})();