aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/static/js
diff options
context:
space:
mode:
authorEmily O'Leary <lotusecho@ThinkLotus>2013-03-24 21:42:42 -0400
committerRodney Ewing <ewing.rj@gmail.com>2013-08-07 16:33:09 -0700
commit5ab60299619557307cf38aa14824c8576f23f21c (patch)
tree6d1d19ddbbfa1405105ca34393a8ea8770b396c4 /mediagoblin/static/js
parent9da4e8049f2de900f7aa12f2fed8c60d6749ff0b (diff)
downloadmediagoblin-5ab60299619557307cf38aa14824c8576f23f21c.tar.lz
mediagoblin-5ab60299619557307cf38aa14824c8576f23f21c.tar.xz
mediagoblin-5ab60299619557307cf38aa14824c8576f23f21c.zip
Added comment preview functionality to user pages. It works by passing the comment's value as a JSON string to a new handler that lives at /ajax/comment/preview. The query string is decoded, unquoted, and has its leading and trailing quotes removed to match the input that cleaned_markdown_conversion expects.
It does this in real time with a 500ms lag by using a timer. Initially I tried the onChange handler but you need to lose focus for that to process. The javascript timer is only invoked if the add comment button is pressed. A request is only sent if the comment box is not empty and the current value is not the same as the last value.
Diffstat (limited to 'mediagoblin/static/js')
-rw-r--r--mediagoblin/static/js/comment_show.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/mediagoblin/static/js/comment_show.js b/mediagoblin/static/js/comment_show.js
index c5ccee66..cb69fccd 100644
--- a/mediagoblin/static/js/comment_show.js
+++ b/mediagoblin/static/js/comment_show.js
@@ -15,12 +15,24 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+var content="";
+function previewComment(){
+ if ($('#comment_content').val() && (content != $('#comment_content').val())) {
+ content = $('#comment_content').val();
+ $.getJSON($('#previewURL').val(),JSON.stringify($('#comment_content').val()),
+ function(data){
+ $('#comment_preview').replaceWith("<div id=comment_preview><h3>Comment Preview</h3><br />" + decodeURIComponent(data) +
+ "<hr style='border: 1px solid #333;' /></div>");
+ });
+ }
+}
$(document).ready(function(){
$('#form_comment').hide();
$('#button_addcomment').click(function(){
$(this).fadeOut('fast');
$('#form_comment').slideDown(function(){
+ setInterval("previewComment()",500);
$('#comment_content').focus();
});
});