Commit 4ed82788 authored by Riyad Preukschas's avatar Riyad Preukschas

Fix a bunch of smaller glitches.

parent 7978f8dd
...@@ -58,12 +58,6 @@ var NoteList = { ...@@ -58,12 +58,6 @@ var NoteList = {
".js-close-discussion-note-form", ".js-close-discussion-note-form",
NoteList.removeDiscussionNoteForm); NoteList.removeDiscussionNoteForm);
// do some specific housekeeping when removing a diff or discussion note
$(document).on("click",
".diff_file .js-note-delete," +
".discussion .js-note-delete",
NoteList.removeDiscussionNote);
// remove a note (in general) // remove a note (in general)
$(document).on("click", $(document).on("click",
".js-note-delete", ".js-note-delete",
...@@ -96,9 +90,6 @@ var NoteList = { ...@@ -96,9 +90,6 @@ var NoteList = {
previewContainer.removeClass("on"); previewContainer.removeClass("on");
} }
form.find(".js-note-text").val("").trigger("input"); form.find(".js-note-text").val("").trigger("input");
// re-enable submit button
form.find(".js-comment-button").enable();
}, },
/** /**
...@@ -144,8 +135,6 @@ var NoteList = { ...@@ -144,8 +135,6 @@ var NoteList = {
var preview = form.find('.js-note-preview'); var preview = form.find('.js-note-preview');
var noteText = form.find('.js-note-text').val(); var noteText = form.find('.js-note-text').val();
console.log("preview", noteText);
if(noteText.trim().length === 0) { if(noteText.trim().length === 0) {
preview.text('Nothing to preview.'); preview.text('Nothing to preview.');
} else { } else {
...@@ -157,36 +146,13 @@ var NoteList = { ...@@ -157,36 +146,13 @@ var NoteList = {
} }
}, },
/**
* Called in response to deleting a note on a diff line.
*
* Removes the actual note from view.
* Removes the whole notes row if the last note for that line is being removed.
*
* Note: must be called before removeNote()
*/
removeDiscussionNote: function() {
var notes = $(this).closest(".notes");
// check if this is the last note for this line
if (notes.find(".note").length === 1) {
// for discussions
notes.closest(".discussion").remove();
// for diff lines
notes.closest("tr").remove();
}
},
/** /**
* Called in response to "cancel" on a diff note form. * Called in response to "cancel" on a diff note form.
* *
* Shows the reply button again. * Shows the reply button again.
* Removes the form and if necessary it's temporary row. * Removes the form and if necessary it's temporary row.
*/ */
removeDiscussionNoteForm: function(e) { removeDiscussionNoteForm: function() {
e.preventDefault();
var form = $(this).closest("form"); var form = $(this).closest("form");
var row = form.closest("tr"); var row = form.closest("tr");
...@@ -206,9 +172,22 @@ var NoteList = { ...@@ -206,9 +172,22 @@ var NoteList = {
* Called in response to deleting a note of any kind. * Called in response to deleting a note of any kind.
* *
* Removes the actual note from view. * Removes the actual note from view.
* Removes the whole discussion if the last note is being removed.
*/ */
removeNote: function() { removeNote: function() {
$(this).closest(".note").remove(); var note = $(this).closest(".note");
var notes = note.closest(".notes");
// check if this is the last note for this line
if (notes.find(".note").length === 1) {
// for discussions
notes.closest(".discussion").remove();
// for diff lines
notes.closest("tr").remove();
}
note.remove();
NoteList.updateVotes(); NoteList.updateVotes();
}, },
...@@ -274,6 +253,7 @@ var NoteList = { ...@@ -274,6 +253,7 @@ var NoteList = {
NoteList.setupNoteForm(form); NoteList.setupNoteForm(form);
form.find(".js-note-text").focus();
}, },
/** /**
...@@ -312,16 +292,18 @@ var NoteList = { ...@@ -312,16 +292,18 @@ var NoteList = {
setupNoteForm: function(form) { setupNoteForm: function(form) {
disableButtonIfEmptyField(form.find(".js-note-text"), form.find(".js-comment-button")); disableButtonIfEmptyField(form.find(".js-note-text"), form.find(".js-comment-button"));
form.removeClass("js-new-note-form");
// setup preview buttons // setup preview buttons
$(".js-note-edit-button, .js-note-preview-button").tooltip({ placement: 'left' }); form.find(".js-note-edit-button, .js-note-preview-button")
.tooltip({ placement: 'left' });
previewButton = $(".js-note-preview-button"); previewButton = form.find(".js-note-preview-button");
previewButton.hide();
form.find(".js-note-text").on("input", function() { form.find(".js-note-text").on("input", function() {
if ($(this).val().trim() !== "") { if ($(this).val().trim() !== "") {
previewButton.fadeIn(); previewButton.removeClass("turn-off").addClass("turn-on");
} else { } else {
previewButton.fadeOut(); previewButton.removeClass("turn-on").addClass("turn-off");
} }
}); });
...@@ -344,8 +326,8 @@ var NoteList = { ...@@ -344,8 +326,8 @@ var NoteList = {
$.ajax({ $.ajax({
url: NoteList.notes_path, url: NoteList.notes_path,
data: NoteList.target_params, data: NoteList.target_params,
complete: function(){ $('.notes-status').removeClass("loading")}, complete: function(){ $('.js-notes-busy').removeClass("loading")},
beforeSend: function() { $('.notes-status').addClass("loading") }, beforeSend: function() { $('.js-notes-busy').addClass("loading") },
dataType: "script" dataType: "script"
}); });
}, },
...@@ -404,8 +386,8 @@ var NoteList = { ...@@ -404,8 +386,8 @@ var NoteList = {
$.ajax({ $.ajax({
url: NoteList.notes_path, url: NoteList.notes_path,
data: NoteList.target_params + "&loading_more=1&" + (NoteList.reversed ? "before_id" : "after_id") + "=" + NoteList.bottom_id, data: NoteList.target_params + "&loading_more=1&" + (NoteList.reversed ? "before_id" : "after_id") + "=" + NoteList.bottom_id,
complete: function(){ $('.notes-status').removeClass("loading")}, complete: function(){ $('.js-notes-busy').removeClass("loading")},
beforeSend: function() { $('.notes-status').addClass("loading") }, beforeSend: function() { $('.js-notes-busy').addClass("loading") },
dataType: "script" dataType: "script"
}); });
}, },
......
...@@ -135,9 +135,12 @@ ul.notes { ...@@ -135,9 +135,12 @@ ul.notes {
} }
} }
/** /**
* Discussion/Note Actions * Actions for Discussions/Notes
*/ */
.discussion, .discussion,
.note { .note {
&.note:hover { &.note:hover {
...@@ -174,33 +177,12 @@ ul.notes { ...@@ -174,33 +177,12 @@ ul.notes {
top: 0; top: 0;
} }
// TODO: start cleaup
.issue_notes,
.wiki_notes {
.note_content {
float: left;
width: 400px;
}
}
/* for loading indicator */
.notes-status {
margin: 18px;
}
p.notify_controls input{
margin: 5px;
}
p.notify_controls span{
font-weight: 700;
}
// TODO: end cleaup
/** /**
* line note button on the side of diffs * Line note button on the side of diffs
*/ */
.diff_file tr.line_holder { .diff_file tr.line_holder {
.add-diff-note { .add-diff-note {
background: url("diff_note_add.png") no-repeat left 0; background: url("diff_note_add.png") no-repeat left 0;
...@@ -231,8 +213,10 @@ p.notify_controls span{ ...@@ -231,8 +213,10 @@ p.notify_controls span{
} }
} }
/** /**
* Note Forms * Note Form
*/ */
.comment-btn, .comment-btn,
...@@ -257,31 +241,6 @@ p.notify_controls span{ ...@@ -257,31 +241,6 @@ p.notify_controls span{
line-height: 32px; line-height: 32px;
padding-right: 15px; padding-right: 15px;
} }
}
.note_text_and_preview {
// makes the "absolute" position for links relative to this
position: relative;
// preview/edit buttons
> a {
font-size: 24px;
padding: 4px;
position: absolute;
right: 0;
}
.note_preview {
background: #f5f5f5;
border: 1px solid #ddd;
@include border-radius(4px);
min-height: 80px;
padding: 4px 6px;
}
.note_text {
font-size: 14px;
height: 80px;
width: 98.6%;
}
}
// TODO: start cleanup // TODO: start cleanup
.attachments { .attachments {
...@@ -322,4 +281,34 @@ p.notify_controls span{ ...@@ -322,4 +281,34 @@ p.notify_controls span{
margin: 0; margin: 0;
} }
// TODO: end cleanup // TODO: end cleanup
}
.note_text_and_preview {
// makes the "absolute" position for links relative to this
position: relative;
// preview/edit buttons
> a {
font-size: 24px;
padding: 4px;
position: absolute;
right: 0;
}
.note_preview {
background: #f5f5f5;
border: 1px solid #ddd;
@include border-radius(4px);
min-height: 80px;
padding: 4px 6px;
}
.note_text {
font-size: 14px;
height: 80px;
width: 98.6%;
}
}
}
/* loading indicator */
.notes-busy {
margin: 18px;
} }
...@@ -61,4 +61,4 @@ ...@@ -61,4 +61,4 @@
= markdown @issue.description = markdown @issue.description
.issue_notes.voting_notes#notes= render "notes/notes_with_form" .voting_notes#notes= render "notes/notes_with_form"
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
= f.hidden_field :noteable_type = f.hidden_field :noteable_type
.note_text_and_preview.js-toggler-container .note_text_and_preview.js-toggler-container
%a.js-note-preview-button.js-toggler-target.turn-on{ href: "javascript:;", data: {title: "Preview", url: preview_project_notes_path(@project)} } %a.js-note-preview-button.js-toggler-target.turn-off{ href: "javascript:;", data: {title: "Preview", url: preview_project_notes_path(@project)} }
%i.icon-eye-open %i.icon-eye-open
%a.js-note-edit-button.js-toggler-target.turn-off{ href: "javascript:;", data: {title: "Edit"} } %a.js-note-edit-button.js-toggler-target.turn-off{ href: "javascript:;", data: {title: "Edit"} }
%i.icon-edit %i.icon-edit
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
= check_box_tag :notify, 1, !@note.for_commit? = check_box_tag :notify, 1, !@note.for_commit?
%span Project team %span Project team
- if @note.notify_only_author?(current_user) - if @note.notify_only_author?(current_user) # FIXME: put in JS
= label_tag :notify_author do = label_tag :notify_author do
= check_box_tag :notify_author, 1 , !@note.for_commit? = check_box_tag :notify_author, 1 , !@note.for_commit?
%span Commit author %span Commit author
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment