Fix a bunch of smaller glitches.
This commit is contained in:
parent
7978f8dd2b
commit
4ed8278870
4 changed files with 85 additions and 114 deletions
|
@ -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 = {
|
||||||
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 = {
|
||||||
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 = {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
|
||||||
* 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 = {
|
||||||
* 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 = {
|
||||||
|
|
||||||
NoteList.setupNoteForm(form);
|
NoteList.setupNoteForm(form);
|
||||||
|
|
||||||
|
form.find(".js-note-text").focus();
|
||||||
},
|
},
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -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"));
|
||||||
|
|
||||||
// setup preview buttons
|
form.removeClass("js-new-note-form");
|
||||||
$(".js-note-edit-button, .js-note-preview-button").tooltip({ placement: 'left' });
|
|
||||||
|
|
||||||
previewButton = $(".js-note-preview-button");
|
// setup preview buttons
|
||||||
previewButton.hide();
|
form.find(".js-note-edit-button, .js-note-preview-button")
|
||||||
|
.tooltip({ placement: 'left' });
|
||||||
|
|
||||||
|
previewButton = form.find(".js-note-preview-button");
|
||||||
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 = {
|
||||||
$.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 = {
|
||||||
$.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 {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Discussion/Note Actions
|
* Actions for Discussions/Notes
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.discussion,
|
.discussion,
|
||||||
.note {
|
.note {
|
||||||
&.note:hover {
|
&.note:hover {
|
||||||
|
@ -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{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Note Forms
|
* Note Form
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.comment-btn,
|
.comment-btn,
|
||||||
|
@ -257,6 +241,46 @@ p.notify_controls span{
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: start cleanup
|
||||||
|
.attachments {
|
||||||
|
position: relative;
|
||||||
|
width: 350px;
|
||||||
|
height: 50px;
|
||||||
|
overflow: hidden;
|
||||||
|
margin:0 0 5px !important;
|
||||||
|
|
||||||
|
.input_file {
|
||||||
|
.file_name {
|
||||||
|
line-height: 30px;
|
||||||
|
width: 240px;
|
||||||
|
height: 28px;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.file_upload {
|
||||||
|
position: absolute;
|
||||||
|
right:14px;
|
||||||
|
top:7px;
|
||||||
|
}
|
||||||
|
.input-file {
|
||||||
|
width: 260px;
|
||||||
|
height: 41px;
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.input-file {
|
||||||
|
font: 500px monospace;
|
||||||
|
opacity:0;
|
||||||
|
filter: alpha(opacity=0);
|
||||||
|
position: absolute;
|
||||||
|
z-index: 1;
|
||||||
|
top:0;
|
||||||
|
right:0;
|
||||||
|
padding:0;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
// TODO: end cleanup
|
||||||
}
|
}
|
||||||
.note_text_and_preview {
|
.note_text_and_preview {
|
||||||
// makes the "absolute" position for links relative to this
|
// makes the "absolute" position for links relative to this
|
||||||
|
@ -282,44 +306,9 @@ p.notify_controls span{
|
||||||
width: 98.6%;
|
width: 98.6%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
// TODO: start cleanup
|
|
||||||
.attachments {
|
/* loading indicator */
|
||||||
position: relative;
|
.notes-busy {
|
||||||
width: 350px;
|
margin: 18px;
|
||||||
height: 50px;
|
|
||||||
overflow: hidden;
|
|
||||||
margin:0 0 5px !important;
|
|
||||||
|
|
||||||
.input_file {
|
|
||||||
.file_name {
|
|
||||||
line-height: 30px;
|
|
||||||
width: 240px;
|
|
||||||
height: 28px;
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
.file_upload {
|
|
||||||
position: absolute;
|
|
||||||
right:14px;
|
|
||||||
top:7px;
|
|
||||||
}
|
|
||||||
.input-file {
|
|
||||||
width: 260px;
|
|
||||||
height: 41px;
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.input-file {
|
|
||||||
font: 500px monospace;
|
|
||||||
opacity:0;
|
|
||||||
filter: alpha(opacity=0);
|
|
||||||
position: absolute;
|
|
||||||
z-index: 1;
|
|
||||||
top:0;
|
|
||||||
right:0;
|
|
||||||
padding:0;
|
|
||||||
margin: 0;
|
|
||||||
}
|
|
||||||
// TODO: end cleanup
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 @@
|
||||||
= 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 @@
|
||||||
= 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
|
||||||
|
|
Loading…
Reference in a new issue