From 7b65663e2b496538b311b3cf8d86a75830df3b8d Mon Sep 17 00:00:00 2001 From: Rocky Duan Date: Thu, 2 Aug 2012 15:34:29 -0400 Subject: [PATCH] ajax search in inline view --- lms/static/coffee/src/discussion.coffee | 22 +++++++++++++++++++--- lms/templates/discussion/_forum.html | 3 +-- lms/templates/discussion/_inline.html | 2 +- lms/templates/discussion/_sort.html | 6 +++++- 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/lms/static/coffee/src/discussion.coffee b/lms/static/coffee/src/discussion.coffee index 7793477e5f..a1664a6063 100644 --- a/lms/static/coffee/src/discussion.coffee +++ b/lms/static/coffee/src/discussion.coffee @@ -417,9 +417,7 @@ Discussion = success: (response, textStatus) -> if not $$annotated_content_info? window.$$annotated_content_info = {} - console.log response window.$$annotated_content_info = $.extend $$annotated_content_info, response['annotated_content_info'] - console.log $$annotated_content_info $content.append(response['html']) $content.find(".comment").each (index, comment) -> Discussion.initializeContent(comment) @@ -498,7 +496,6 @@ Discussion = , 'json' handleCancelNewPost = (elem) -> - console.log "canceling" $local(".new-post-form").hide() $local(".discussion-new-post").show() @@ -529,6 +526,22 @@ Discussion = $local(".discussion-cancel-post").click -> handleCancelNewPost(this) $(elem).hide() + + + handleSort = (elem) -> + $elem = $(elem) + $discussionModule = $elem.parents(".discussion-module") + $discussion = $discussionModule.find(".discussion") + Discussion.safeAjax + $elem: $elem + url: $elem.attr("sort-url") + method: "GET" + success: (data, textStatus) -> + $discussion.replaceWith(data) + $discussion = $discussionModule.find(".discussion") + Discussion.initializeDiscussion($discussion) + Discussion.bindDiscussionEvents($discussion) + dataType: 'html' $local(".discussion-search-form").submit (event) -> event.preventDefault() @@ -542,6 +555,9 @@ Discussion = $local(".discussion-search").click -> $local(".new-post-form").submit() + $discussion.children(".discussion-sort").find(".discussion-inline-sort-link").click -> + handleSort(this) + $discussion.find(".thread").each (index, thread) -> Discussion.initializeContent(thread) Discussion.bindContentEvents(thread) diff --git a/lms/templates/discussion/_forum.html b/lms/templates/discussion/_forum.html index e1c81ef6c8..490963bf01 100644 --- a/lms/templates/discussion/_forum.html +++ b/lms/templates/discussion/_forum.html @@ -1,6 +1,6 @@ <%namespace name="renderer" file="_thread.html"/> -
+
Discussion @@ -10,7 +10,6 @@
-
New Post
<%include file="_sort.html" /> diff --git a/lms/templates/discussion/_inline.html b/lms/templates/discussion/_inline.html index 0a0f4cc572..bc9fb8d0e5 100644 --- a/lms/templates/discussion/_inline.html +++ b/lms/templates/discussion/_inline.html @@ -1,6 +1,6 @@ <%namespace name="renderer" file="_thread.html"/> -
+
${search_bar} diff --git a/lms/templates/discussion/_sort.html b/lms/templates/discussion/_sort.html index ab27b36b2a..3ddb97074c 100644 --- a/lms/templates/discussion/_sort.html +++ b/lms/templates/discussion/_sort.html @@ -20,7 +20,11 @@ def url_for_sort(key, order): return base_url + '?' + urlencode(merge(query_params, {'page': 1, 'sort_key': key, 'sort_order': order})) %> - ${title} + % if discussion_type == 'inline': + ${title} + % else: + ${title} + % endif