diff --git a/lms/djangoapps/django_comment_client/forum/views.py b/lms/djangoapps/django_comment_client/forum/views.py index fdad3921e7..883c25ab49 100644 --- a/lms/djangoapps/django_comment_client/forum/views.py +++ b/lms/djangoapps/django_comment_client/forum/views.py @@ -41,7 +41,7 @@ def render_accordion(request, course, discussion_id): return render_to_string('discussion/_accordion.html', context) -def render_discussion(request, course_id, threads, discussion_id=None, with_search_bar=True, \ +def render_discussion(request, course_id, threads, discussion_id=None, \ discussion_type='inline', query_params={}): template = { @@ -57,8 +57,6 @@ def render_discussion(request, course_id, threads, discussion_id=None, with_sear context = { 'threads': threads, 'discussion_id': discussion_id, - 'search_bar': '' if not with_search_bar \ - else render_search_bar(request, course_id, discussion_id, text=query_params.get('text', '')), 'user_info': comment_client.get_user_info(request.user.id, raw=True), 'course_id': course_id, 'request': request, diff --git a/lms/static/coffee/src/discussion.coffee b/lms/static/coffee/src/discussion.coffee index a1664a6063..126deb7ff4 100644 --- a/lms/static/coffee/src/discussion.coffee +++ b/lms/static/coffee/src/discussion.coffee @@ -527,8 +527,25 @@ Discussion = handleCancelNewPost(this) $(elem).hide() + handleAjaxSearch = (elem) -> + console.log $(elem).attr("action") + $elem = $(elem) + $discussionModule = $elem.parents(".discussion-module") + $discussion = $discussionModule.find(".discussion") + Discussion.safeAjax + $elem: $elem + url: $elem.attr("action") + data: + text: $local(".search-input").val() + method: "GET" + success: (data, textStatus) -> + $discussion.replaceWith(data) + $discussion = $discussionModule.find(".discussion") + Discussion.initializeDiscussion($discussion) + Discussion.bindDiscussionEvents($discussion) + dataType: 'html' - handleSort = (elem) -> + handleAjaxSort = (elem) -> $elem = $(elem) $discussionModule = $elem.parents(".discussion-module") $discussion = $discussionModule.find(".discussion") @@ -543,7 +560,7 @@ Discussion = Discussion.bindDiscussionEvents($discussion) dataType: 'html' - $local(".discussion-search-form").submit (event) -> + $local(".search-wrapper-forum > .discussion-search-form").submit (event) -> event.preventDefault() text = $local(".search-input").val() isSearchWithinBoard = $local(".discussion-search-within-board").is(":checked") @@ -552,11 +569,16 @@ Discussion = $local(".discussion-new-post").click -> handleNewPost(this) - $local(".discussion-search").click -> - $local(".new-post-form").submit() + $local(".discussion-search-link").click -> + handleAjaxSearch(this) + + $local(".search-wrapper-inline > .discussion-search-form").submit (e)-> + e.preventDefault() + handleAjaxSearch(this) + + $local(".discussion-inline-sort-link").click -> + handleAjaxSort(this) - $discussion.children(".discussion-sort").find(".discussion-inline-sort-link").click -> - handleSort(this) $discussion.find(".thread").each (index, thread) -> Discussion.initializeContent(thread) diff --git a/lms/templates/discussion/_forum.html b/lms/templates/discussion/_forum.html index 490963bf01..bdb7cd7e19 100644 --- a/lms/templates/discussion/_forum.html +++ b/lms/templates/discussion/_forum.html @@ -5,14 +5,16 @@
- ${search_bar} +