Commit 5bf3a898edbbd0fc4f7a4557f6ffaea8ffabfbc7
1 parent
1752c6dc
Exists in
master
and in
4 other branches
Remove wall from basic notes logic
Showing
5 changed files
with
3 additions
and
183 deletions
Show diff stats
app/assets/javascripts/notes.js
| @@ -4,31 +4,16 @@ var NoteList = { | @@ -4,31 +4,16 @@ var NoteList = { | ||
| 4 | target_params: null, | 4 | target_params: null, |
| 5 | target_id: 0, | 5 | target_id: 0, |
| 6 | target_type: null, | 6 | target_type: null, |
| 7 | - top_id: 0, | ||
| 8 | - bottom_id: 0, | ||
| 9 | loading_more_disabled: false, | 7 | loading_more_disabled: false, |
| 10 | - reversed: false, | ||
| 11 | 8 | ||
| 12 | init: function(tid, tt, path) { | 9 | init: function(tid, tt, path) { |
| 13 | NoteList.notes_path = path + ".js"; | 10 | NoteList.notes_path = path + ".js"; |
| 14 | NoteList.target_id = tid; | 11 | NoteList.target_id = tid; |
| 15 | NoteList.target_type = tt; | 12 | NoteList.target_type = tt; |
| 16 | - NoteList.reversed = $("#notes-list").is(".reversed"); | ||
| 17 | NoteList.target_params = "target_type=" + NoteList.target_type + "&target_id=" + NoteList.target_id; | 13 | NoteList.target_params = "target_type=" + NoteList.target_type + "&target_id=" + NoteList.target_id; |
| 18 | 14 | ||
| 19 | NoteList.setupMainTargetNoteForm(); | 15 | NoteList.setupMainTargetNoteForm(); |
| 20 | 16 | ||
| 21 | - if(NoteList.reversed) { | ||
| 22 | - var form = $(".js-main-target-form"); | ||
| 23 | - form.find(".note-form-actions").hide(); | ||
| 24 | - var textarea = form.find(".js-note-text"); | ||
| 25 | - textarea.css("height", "40px"); | ||
| 26 | - textarea.on("focus", function(){ | ||
| 27 | - textarea.css("height", "80px"); | ||
| 28 | - form.find(".note-form-actions").show(); | ||
| 29 | - }); | ||
| 30 | - } | ||
| 31 | - | ||
| 32 | // get initial set of notes | 17 | // get initial set of notes |
| 33 | NoteList.getContent(); | 18 | NoteList.getContent(); |
| 34 | 19 | ||
| @@ -344,128 +329,11 @@ var NoteList = { | @@ -344,128 +329,11 @@ var NoteList = { | ||
| 344 | * Replaces the content of #notes-list with the given html. | 329 | * Replaces the content of #notes-list with the given html. |
| 345 | */ | 330 | */ |
| 346 | setContent: function(newNoteIds, html) { | 331 | setContent: function(newNoteIds, html) { |
| 347 | - NoteList.top_id = newNoteIds.first(); | ||
| 348 | - NoteList.bottom_id = newNoteIds.last(); | ||
| 349 | $("#notes-list").html(html); | 332 | $("#notes-list").html(html); |
| 350 | - | ||
| 351 | - // for the wall | ||
| 352 | - if (NoteList.reversed) { | ||
| 353 | - // init infinite scrolling | ||
| 354 | - NoteList.initLoadMore(); | ||
| 355 | - | ||
| 356 | - // init getting new notes | ||
| 357 | - NoteList.initRefreshNew(); | ||
| 358 | - } | ||
| 359 | }, | 333 | }, |
| 360 | 334 | ||
| 361 | 335 | ||
| 362 | /** | 336 | /** |
| 363 | - * Handle loading more notes when scrolling to the bottom of the page. | ||
| 364 | - * The id of the last note in the list is in NoteList.bottom_id. | ||
| 365 | - * | ||
| 366 | - * Set up refreshing only new notes after all notes have been loaded. | ||
| 367 | - */ | ||
| 368 | - | ||
| 369 | - | ||
| 370 | - /** | ||
| 371 | - * Initializes loading more notes when scrolling to the bottom of the page. | ||
| 372 | - */ | ||
| 373 | - initLoadMore: function() { | ||
| 374 | - $(document).endlessScroll({ | ||
| 375 | - bottomPixels: 400, | ||
| 376 | - fireDelay: 1000, | ||
| 377 | - fireOnce:true, | ||
| 378 | - ceaseFire: function() { | ||
| 379 | - return NoteList.loading_more_disabled; | ||
| 380 | - }, | ||
| 381 | - callback: function(i) { | ||
| 382 | - NoteList.getMore(); | ||
| 383 | - } | ||
| 384 | - }); | ||
| 385 | - }, | ||
| 386 | - | ||
| 387 | - /** | ||
| 388 | - * Gets an additional set of notes. | ||
| 389 | - */ | ||
| 390 | - getMore: function() { | ||
| 391 | - // only load more notes if there are no "new" notes | ||
| 392 | - $('.loading').show(); | ||
| 393 | - $.ajax({ | ||
| 394 | - url: NoteList.notes_path, | ||
| 395 | - data: NoteList.target_params + "&loading_more=1&" + (NoteList.reversed ? "before_id" : "after_id") + "=" + NoteList.bottom_id, | ||
| 396 | - complete: function(){ $('.js-notes-busy').removeClass("loading")}, | ||
| 397 | - beforeSend: function() { $('.js-notes-busy').addClass("loading") }, | ||
| 398 | - dataType: "script" | ||
| 399 | - }); | ||
| 400 | - }, | ||
| 401 | - | ||
| 402 | - /** | ||
| 403 | - * Called in response to getMore(). | ||
| 404 | - * Append notes to #notes-list. | ||
| 405 | - */ | ||
| 406 | - appendMoreNotes: function(newNoteIds, html) { | ||
| 407 | - var lastNewNoteId = newNoteIds.last(); | ||
| 408 | - if(lastNewNoteId != NoteList.bottom_id) { | ||
| 409 | - NoteList.bottom_id = lastNewNoteId; | ||
| 410 | - $("#notes-list").append(html); | ||
| 411 | - } | ||
| 412 | - }, | ||
| 413 | - | ||
| 414 | - /** | ||
| 415 | - * Called in response to getMore(). | ||
| 416 | - * Disables loading more notes when scrolling to the bottom of the page. | ||
| 417 | - */ | ||
| 418 | - finishedLoadingMore: function() { | ||
| 419 | - NoteList.loading_more_disabled = true; | ||
| 420 | - | ||
| 421 | - // make sure we are up to date | ||
| 422 | - NoteList.updateVotes(); | ||
| 423 | - }, | ||
| 424 | - | ||
| 425 | - | ||
| 426 | - /** | ||
| 427 | - * Handle refreshing and adding of new notes. | ||
| 428 | - * | ||
| 429 | - * New notes are all notes that are created after the site has been loaded. | ||
| 430 | - * The "old" notes are in #notes-list the "new" ones will be in #new-notes-list. | ||
| 431 | - * The id of the last "old" note is in NoteList.bottom_id. | ||
| 432 | - */ | ||
| 433 | - | ||
| 434 | - | ||
| 435 | - /** | ||
| 436 | - * Initializes getting new notes every n seconds. | ||
| 437 | - * | ||
| 438 | - * Note: only used on wall. | ||
| 439 | - */ | ||
| 440 | - initRefreshNew: function() { | ||
| 441 | - setInterval("NoteList.getNew()", 10000); | ||
| 442 | - }, | ||
| 443 | - | ||
| 444 | - /** | ||
| 445 | - * Gets the new set of notes. | ||
| 446 | - * | ||
| 447 | - * Note: only used on wall. | ||
| 448 | - */ | ||
| 449 | - getNew: function() { | ||
| 450 | - $.ajax({ | ||
| 451 | - url: NoteList.notes_path, | ||
| 452 | - data: NoteList.target_params + "&loading_new=1&after_id=" + (NoteList.reversed ? NoteList.top_id : NoteList.bottom_id), | ||
| 453 | - dataType: "script" | ||
| 454 | - }); | ||
| 455 | - }, | ||
| 456 | - | ||
| 457 | - /** | ||
| 458 | - * Called in response to getNew(). | ||
| 459 | - * Replaces the content of #new-notes-list with the given html. | ||
| 460 | - * | ||
| 461 | - * Note: only used on wall. | ||
| 462 | - */ | ||
| 463 | - replaceNewNotes: function(newNoteIds, html) { | ||
| 464 | - $("#new-notes-list").html(html); | ||
| 465 | - NoteList.updateVotes(); | ||
| 466 | - }, | ||
| 467 | - | ||
| 468 | - /** | ||
| 469 | * Adds a single common note to #notes-list. | 337 | * Adds a single common note to #notes-list. |
| 470 | */ | 338 | */ |
| 471 | appendNewNote: function(id, html) { | 339 | appendNewNote: function(id, html) { |
| @@ -498,15 +366,6 @@ var NoteList = { | @@ -498,15 +366,6 @@ var NoteList = { | ||
| 498 | }, | 366 | }, |
| 499 | 367 | ||
| 500 | /** | 368 | /** |
| 501 | - * Adds a single wall note to #new-notes-list. | ||
| 502 | - * | ||
| 503 | - * Note: only used on wall. | ||
| 504 | - */ | ||
| 505 | - appendNewWallNote: function(id, html) { | ||
| 506 | - $("#new-notes-list").prepend(html); | ||
| 507 | - }, | ||
| 508 | - | ||
| 509 | - /** | ||
| 510 | * Called in response the main target form has been successfully submitted. | 369 | * Called in response the main target form has been successfully submitted. |
| 511 | * | 370 | * |
| 512 | * Removes any errors. | 371 | * Removes any errors. |
app/contexts/notes/load_context.rb
| @@ -3,8 +3,6 @@ module Notes | @@ -3,8 +3,6 @@ module Notes | ||
| 3 | def execute | 3 | def execute |
| 4 | target_type = params[:target_type] | 4 | target_type = params[:target_type] |
| 5 | target_id = params[:target_id] | 5 | target_id = params[:target_id] |
| 6 | - after_id = params[:after_id] | ||
| 7 | - before_id = params[:before_id] | ||
| 8 | 6 | ||
| 9 | 7 | ||
| 10 | @notes = case target_type | 8 | @notes = case target_type |
| @@ -16,17 +14,6 @@ module Notes | @@ -16,17 +14,6 @@ module Notes | ||
| 16 | project.merge_requests.find(target_id).mr_and_commit_notes.inc_author.fresh | 14 | project.merge_requests.find(target_id).mr_and_commit_notes.inc_author.fresh |
| 17 | when "snippet" | 15 | when "snippet" |
| 18 | project.snippets.find(target_id).notes.fresh | 16 | project.snippets.find(target_id).notes.fresh |
| 19 | - when "wall" | ||
| 20 | - # this is the only case, where the order is DESC | ||
| 21 | - project.notes.common.inc_author_project.order("created_at DESC, id DESC").limit(50) | ||
| 22 | - end | ||
| 23 | - | ||
| 24 | - @notes = if after_id | ||
| 25 | - @notes.where("id > ?", after_id) | ||
| 26 | - elsif before_id | ||
| 27 | - @notes.where("id < ?", before_id) | ||
| 28 | - else | ||
| 29 | - @notes | ||
| 30 | end | 17 | end |
| 31 | end | 18 | end |
| 32 | end | 19 | end |
app/views/notes/_reversed_notes_with_form.html.haml
| @@ -1,12 +0,0 @@ | @@ -1,12 +0,0 @@ | ||
| 1 | -.js-main-target-form | ||
| 2 | -- if can? current_user, :write_note, @project | ||
| 3 | - = render "notes/form" | ||
| 4 | - | ||
| 5 | -%ul#new-notes-list.reversed.notes | ||
| 6 | -%ul#notes-list.reversed.notes | ||
| 7 | -.notes-busy.js-notes-busy | ||
| 8 | - | ||
| 9 | -:javascript | ||
| 10 | - $(function(){ | ||
| 11 | - NoteList.init("#{@target_id}", "#{@target_type}", "#{project_notes_path(@project)}"); | ||
| 12 | - }); |
app/views/notes/create.js.haml
| @@ -2,10 +2,7 @@ | @@ -2,10 +2,7 @@ | ||
| 2 | var noteHtml = "#{escape_javascript(render "notes/note", note: @note)}"; | 2 | var noteHtml = "#{escape_javascript(render "notes/note", note: @note)}"; |
| 3 | 3 | ||
| 4 | - if note_for_main_target?(@note) | 4 | - if note_for_main_target?(@note) |
| 5 | - - if @note.for_wall? | ||
| 6 | - NoteList.appendNewWallNote(#{@note.id}, noteHtml); | ||
| 7 | - - else | ||
| 8 | - NoteList.appendNewNote(#{@note.id}, noteHtml); | 5 | + NoteList.appendNewNote(#{@note.id}, noteHtml); |
| 9 | - else | 6 | - else |
| 10 | :plain | 7 | :plain |
| 11 | var firstDiscussionNoteHtml = "#{escape_javascript(render "notes/diff_notes_with_reply", notes: [@note])}"; | 8 | var firstDiscussionNoteHtml = "#{escape_javascript(render "notes/diff_notes_with_reply", notes: [@note])}"; |
| @@ -18,4 +15,4 @@ | @@ -18,4 +15,4 @@ | ||
| 18 | - if note_for_main_target?(@note) | 15 | - if note_for_main_target?(@note) |
| 19 | NoteList.errorsOnForm(errorsHtml); | 16 | NoteList.errorsOnForm(errorsHtml); |
| 20 | - else | 17 | - else |
| 21 | - NoteList.errorsOnForm(errorsHtml, "#{@note.discussion_id}"); | ||
| 22 | \ No newline at end of file | 18 | \ No newline at end of file |
| 19 | + NoteList.errorsOnForm(errorsHtml, "#{@note.discussion_id}"); |
app/views/notes/index.js.haml
| 1 | - unless @notes.blank? | 1 | - unless @notes.blank? |
| 2 | var notesHtml = "#{escape_javascript(render 'notes/notes')}"; | 2 | var notesHtml = "#{escape_javascript(render 'notes/notes')}"; |
| 3 | - new_note_ids = @notes.map(&:id) | 3 | - new_note_ids = @notes.map(&:id) |
| 4 | - - if loading_more_notes? | ||
| 5 | - NoteList.appendMoreNotes(#{new_note_ids}, notesHtml); | ||
| 6 | - | ||
| 7 | - - elsif loading_new_notes? | ||
| 8 | - NoteList.replaceNewNotes(#{new_note_ids}, notesHtml); | ||
| 9 | - | ||
| 10 | - - else | ||
| 11 | - NoteList.setContent(#{new_note_ids}, notesHtml); | ||
| 12 | - | ||
| 13 | -- else | ||
| 14 | - - if loading_more_notes? | ||
| 15 | - NoteList.finishedLoadingMore(); | 4 | + NoteList.setContent(#{new_note_ids}, notesHtml); |