Vulcan/client/views/comments/comment_form.js
2013-10-14 12:14:12 +09:00

45 lines
1.5 KiB
JavaScript

Template.comment_form.rendered = function(){
if(Meteor.user() && !this.editor){
this.editor = new EpicEditor(EpicEditorOptions).load();
$(this.editor.editor).bind('keydown', 'meta+return', function(){
$(window.editor).closest('form').find('input[type="submit"]').click();
});
}
}
Template.comment_form.events = {
'submit form': function(e, instance){
e.preventDefault();
$(e.target).addClass('disabled');
clearSeenErrors();
var content = instance.editor.exportFile();
if(getCurrentTemplate() == 'comment_reply'){
// child comment
var parentComment = this.comment;
console.log(parentComment)
Meteor.call('comment', parentComment.post, parentComment._id, content, function(error, commentProperties){
if(error){
console.log(error);
throwError(error.reason);
}else{
trackEvent("newComment", commentProperties);
Router.go('/posts/'+parentComment.post+'/comment/'+commentProperties.commentId);
}
});
}else{
// root comment
var post = this.post;
Meteor.call('comment', post._id, null, content, function(error, commentProperties){
if(error){
console.log(error);
throwError(error.reason);
}else{
trackEvent("newComment", commentProperties);
Session.set('scrollToCommentId', commentProperties.commentId);
instance.editor.importFile('editor', '');
}
});
}
}
};