summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiyad Preukschas <riyad@informatik.uni-bremen.de>2012-12-03 21:43:17 +0100
committerRiyad Preukschas <riyad@informatik.uni-bremen.de>2012-12-03 22:51:57 +0100
commit4ed8278870640017b93f18b476532824eba70ac2 (patch)
tree05470846eeaeea74b2e61b203bf5912c96bc6d8e
parent7978f8dd2b62baacb0d045b65282b758a76da118 (diff)
downloadgitlab-ce-4ed8278870640017b93f18b476532824eba70ac2.tar.gz
Fix a bunch of smaller glitches.
-rw-r--r--app/assets/javascripts/notes.js72
-rw-r--r--app/assets/stylesheets/sections/notes.scss117
-rw-r--r--app/views/issues/show.html.haml2
-rw-r--r--app/views/notes/_form.html.haml4
4 files changed, 83 insertions, 112 deletions
diff --git a/app/assets/javascripts/notes.js b/app/assets/javascripts/notes.js
index 8c4577bd1fc..f9dda3c70a1 100644
--- a/app/assets/javascripts/notes.js
+++ b/app/assets/javascripts/notes.js
@@ -58,12 +58,6 @@ var NoteList = {
".js-close-discussion-note-form",
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)
$(document).on("click",
".js-note-delete",
@@ -96,9 +90,6 @@ var NoteList = {
previewContainer.removeClass("on");
}
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 noteText = form.find('.js-note-text').val();
- console.log("preview", noteText);
-
if(noteText.trim().length === 0) {
preview.text('Nothing to preview.');
} else {
@@ -158,35 +147,12 @@ 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.
*
* Shows the reply button again.
* Removes the form and if necessary it's temporary row.
*/
- removeDiscussionNoteForm: function(e) {
- e.preventDefault();
-
+ removeDiscussionNoteForm: function() {
var form = $(this).closest("form");
var row = form.closest("tr");
@@ -206,9 +172,22 @@ var NoteList = {
* Called in response to deleting a note of any kind.
*
* Removes the actual note from view.
+ * Removes the whole discussion if the last note is being removed.
*/
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();
},
@@ -274,6 +253,7 @@ var NoteList = {
NoteList.setupNoteForm(form);
+ form.find(".js-note-text").focus();
},
/**
@@ -312,16 +292,18 @@ var NoteList = {
setupNoteForm: function(form) {
disableButtonIfEmptyField(form.find(".js-note-text"), form.find(".js-comment-button"));
+ form.removeClass("js-new-note-form");
+
// 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.hide();
+ previewButton = form.find(".js-note-preview-button");
form.find(".js-note-text").on("input", function() {
if ($(this).val().trim() !== "") {
- previewButton.fadeIn();
+ previewButton.removeClass("turn-off").addClass("turn-on");
} else {
- previewButton.fadeOut();
+ previewButton.removeClass("turn-on").addClass("turn-off");
}
});
@@ -344,8 +326,8 @@ var NoteList = {
$.ajax({
url: NoteList.notes_path,
data: NoteList.target_params,
- complete: function(){ $('.notes-status').removeClass("loading")},
- beforeSend: function() { $('.notes-status').addClass("loading") },
+ complete: function(){ $('.js-notes-busy').removeClass("loading")},
+ beforeSend: function() { $('.js-notes-busy').addClass("loading") },
dataType: "script"
});
},
@@ -404,8 +386,8 @@ var NoteList = {
$.ajax({
url: NoteList.notes_path,
data: NoteList.target_params + "&loading_more=1&" + (NoteList.reversed ? "before_id" : "after_id") + "=" + NoteList.bottom_id,
- complete: function(){ $('.notes-status').removeClass("loading")},
- beforeSend: function() { $('.notes-status').addClass("loading") },
+ complete: function(){ $('.js-notes-busy').removeClass("loading")},
+ beforeSend: function() { $('.js-notes-busy').addClass("loading") },
dataType: "script"
});
},
diff --git a/app/assets/stylesheets/sections/notes.scss b/app/assets/stylesheets/sections/notes.scss
index 6a2f784e72c..981186a5850 100644
--- a/app/assets/stylesheets/sections/notes.scss
+++ b/app/assets/stylesheets/sections/notes.scss
@@ -135,9 +135,12 @@ ul.notes {
}
}
+
+
/**
- * Discussion/Note Actions
+ * Actions for Discussions/Notes
*/
+
.discussion,
.note {
&.note:hover {
@@ -174,33 +177,12 @@ ul.notes {
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 {
.add-diff-note {
background: url("diff_note_add.png") no-repeat left 0;
@@ -231,8 +213,10 @@ p.notify_controls span{
}
}
+
+
/**
- * Note Forms
+ * Note Form
*/
.comment-btn,
@@ -257,6 +241,46 @@ p.notify_controls span{
line-height: 32px;
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 {
// makes the "absolute" position for links relative to this
@@ -282,44 +306,9 @@ p.notify_controls span{
width: 98.6%;
}
}
+}
- // 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
+/* loading indicator */
+.notes-busy {
+ margin: 18px;
}
diff --git a/app/views/issues/show.html.haml b/app/views/issues/show.html.haml
index a52d1134acc..3d3164fed20 100644
--- a/app/views/issues/show.html.haml
+++ b/app/views/issues/show.html.haml
@@ -61,4 +61,4 @@
= markdown @issue.description
-.issue_notes.voting_notes#notes= render "notes/notes_with_form"
+.voting_notes#notes= render "notes/notes_with_form"
diff --git a/app/views/notes/_form.html.haml b/app/views/notes/_form.html.haml
index f4a79b0b196..cb96877f766 100644
--- a/app/views/notes/_form.html.haml
+++ b/app/views/notes/_form.html.haml
@@ -6,7 +6,7 @@
= f.hidden_field :noteable_type
.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
%a.js-note-edit-button.js-toggler-target.turn-off{ href: "javascript:;", data: {title: "Edit"} }
%i.icon-edit
@@ -37,7 +37,7 @@
= check_box_tag :notify, 1, !@note.for_commit?
%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
= check_box_tag :notify_author, 1 , !@note.for_commit?
%span Commit author