diff --git a/app/assets/javascripts/editor.js b/app/assets/javascripts/editor.js index da86bb2d..c5b0f0ad 100644 --- a/app/assets/javascripts/editor.js +++ b/app/assets/javascripts/editor.js @@ -286,61 +286,59 @@ $(function() { session.setUseSoftTabs(true); session.setUseWrapMode(true); - setAnnotations(editor, $(element).data('file-id')) + var file_id = $(element).data('file-id'); + setAnnotations(editor, file_id); session.on('annotationRemoval', handleAnnotationRemoval) session.on('annotationChange', handleAnnotationChange) // TODO refactor here // Code for clicks on gutter / sidepanel - editor.on("guttermousedown", handleGutterClick); - }) - } + editor.on("guttermousedown", function(e){ + var target = e.domEvent.target; - var handleGutterClick = function(e){ - var file_id = $(element).data('file-id'); - var target = e.domEvent.target; + if (target.className.indexOf("ace_gutter-cell") == -1) return; + if (!editor.isFocused()) return; + if (e.clientX > 25 + target.getBoundingClientRect().left) return; - if (target.className.indexOf("ace_gutter-cell") == -1) return; - if (!editor.isFocused()) return; - if (e.clientX > 25 + target.getBoundingClientRect().left) return; + var row = e.getDocumentPosition().row; + e.stop(); - var row = e.getDocumentPosition().row; - e.stop(); + var commentModal = $('#comment-modal') - var commentModal = $('#comment-modal') + if (hasCommentsInRow(editor, row)) { + var rowComments = getCommentsForRow(editor, row) + var comments = _.pluck(rowComments, 'text').join('\n') + commentModal.find('#other-comments').text(comments) + } else { + commentModal.find('#other-comments').text('none') + } - if (hasCommentsInRow(editor, row)) { - var rowComments = getCommentsForRow(editor, row) - var comments = _.pluck(rowComments, 'text').join('\n') - commentModal.find('#other-comments').text(comments) - } else { - commentModal.find('#other-comments').text('none') - } + commentModal.find('#addCommentButton').off('click') + commentModal.find('#removeAllButton').off('click') - commentModal.find('#addCommentButton').off('click') - commentModal.find('#removeAllButton').off('click') + commentModal.find('#addCommentButton').on('click', function(e){ + var user_id = 18 + var commenttext = commentModal.find('textarea').val() - commentModal.find('#addCommentButton').on('click', function(e){ - var user_id = 18 - var commenttext = commentModal.find('textarea').val() + if (commenttext !== "") { + createComment(user_id, file_id, row, editor, commenttext) + commentModal.modal('hide') + } + }) - if (commenttext !== "") { - createComment(user_id, file_id, row, editor, commenttext) - commentModal.modal('hide') - } - }) + commentModal.find('#removeAllButton').on('click', function(e){ + var user_id = 18; + deleteComment(user_id,file_id,row,editor); + commentModal.modal('hide') + }) - commentModal.find('#removeAllButton').on('click', function(e){ - var user_id = 18; - deleteComment(user_id,file_id,row,editor); - commentModal.modal('hide') - }) + commentModal.modal('show') + }); + }); + }; - commentModal.modal('show') - } - - var hasCommentsInRow = function (editor, row) { + var hasCommentsInRow = function (editor, row){ return editor.getSession().getAnnotations().some(function(element) { return element.row === row })