Commit be93d2ad by Rocky Duan

moved some stuff & ajax link to page

parent f9f01848
...@@ -89,37 +89,36 @@ initializeFollowDiscussion = (discussion) -> ...@@ -89,37 +89,36 @@ initializeFollowDiscussion = (discussion) ->
$(elem).hide() $(elem).hide()
handleAjaxSearch = (elem) -> handleAjaxReloadDiscussion = (elem, url) ->
handle
$elem = $(elem) $elem = $(elem)
$discussion = $elem.parents(".discussion") $discussion = $elem.parents(".discussion")
console.log url
console.log $elem
Discussion.safeAjax Discussion.safeAjax
$elem: $elem $elem: $elem
url: $elem.attr("action") url: url
data:
text: $local(".search-input").val()
type: "GET" type: "GET"
dataType: 'html'
success: (data, textStatus) -> success: (data, textStatus) ->
$data = $(data) $data = $(data)
$discussion.replaceWith($data) $discussion.replaceWith($data)
Discussion.initializeDiscussion($data) Discussion.initializeDiscussion($data)
Discussion.bindDiscussionEvents($data) Discussion.bindDiscussionEvents($data)
dataType: 'html'
handleAjaxSearch = (elem) ->
$elem = $(elem)
url = URI($elem.attr("action")).addSearch({text: $local(".search-input").val()})
handleAjaxReloadDiscussion($elem, url)
handleAjaxSort = (elem) -> handleAjaxSort = (elem) ->
$elem = $(elem) $elem = $(elem)
$discussionModule = $elem.parents(".discussion-module") url = $elem.attr("sort-url")
$discussion = $discussionModule.find(".discussion") handleAjaxReloadDiscussion($elem, url)
Discussion.safeAjax
$elem: $elem handleAjaxPage = (elem) ->
url: $elem.attr("sort-url") $elem = $(elem)
type: "GET" url = $elem.attr("page-url")
success: (data, textStatus) -> handleAjaxReloadDiscussion($elem, url)
$discussion.replaceWith(data)
$discussion = $discussionModule.find(".discussion")
Discussion.initializeDiscussion($discussion)
Discussion.bindDiscussionEvents($discussion)
dataType: 'html'
Discussion.bindLocalEvents $local, Discussion.bindLocalEvents $local,
...@@ -141,3 +140,6 @@ initializeFollowDiscussion = (discussion) -> ...@@ -141,3 +140,6 @@ initializeFollowDiscussion = (discussion) ->
"click .discussion-inline-sort-link": -> "click .discussion-inline-sort-link": ->
handleAjaxSort(this) handleAjaxSort(this)
$discussion.children(".discussion-paginator").find(".discussion-inline-page-link").click ->
handleAjaxPage(this)
...@@ -19,13 +19,14 @@ ...@@ -19,13 +19,14 @@
## This must appear after all mathjax-config blocks, so it is after the imports from the other templates. ## This must appear after all mathjax-config blocks, so it is after the imports from the other templates.
## It can't be run through static.url because MathJax uses crazy url introspection to do lazy loading of MathJax extension libraries ## It can't be run through static.url because MathJax uses crazy url introspection to do lazy loading of MathJax extension libraries
<script type="text/javascript" src="/static/js/vendor/mathjax-MathJax-c9db6ac/MathJax.js?config=TeX-MML-AM_HTMLorMML-full"></script> <script type="text/javascript" src="/static/js/vendor/mathjax-MathJax-c9db6ac/MathJax.js?config=TeX-MML-AM_HTMLorMML-full"></script>
<script type="text/javascript" src="${static.url('js/vendor/split.js')}"></script> <script type="text/javascript" src="${static.url('js/split.js')}"></script>
<script type="text/javascript" src="${static.url('js/vendor/jquery.ajaxfileupload.js')}"></script> <script type="text/javascript" src="${static.url('js/jquery.ajaxfileupload.js')}"></script>
<script type="text/javascript" src="${static.url('js/vendor/Markdown.Converter.js')}"></script> <script type="text/javascript" src="${static.url('js/Markdown.Converter.js')}"></script>
<script type="text/javascript" src="${static.url('js/vendor/Markdown.Sanitizer.js')}"></script> <script type="text/javascript" src="${static.url('js/Markdown.Sanitizer.js')}"></script>
<script type="text/javascript" src="${static.url('js/vendor/Markdown.Editor.js')}"></script> <script type="text/javascript" src="${static.url('js/Markdown.Editor.js')}"></script>
<script type="text/javascript" src="${static.url('js/vendor/jquery.autocomplete.js')}"></script> <script type="text/javascript" src="${static.url('js/jquery.autocomplete.js')}"></script>
<script type="text/javascript" src="${static.url('js/vendor/jquery.tagsinput.js')}"></script> <script type="text/javascript" src="${static.url('js/jquery.tagsinput.js')}"></script>
<script type="text/javascript" src="${static.url('js/vendor/mustache.js')}"></script> <script type="text/javascript" src="${static.url('js/mustache.js')}"></script>
<script type="text/javascript" src="${static.url('js/URI.min.js')}"></script>
<link href="${static.url('css/vendor/jquery.tagsinput.css')}" rel="stylesheet" type="text/css"> <link href="${static.url('css/vendor/jquery.tagsinput.css')}" rel="stylesheet" type="text/css">
<link href="${static.url('css/vendor/jquery.autocomplete.css')}" rel="stylesheet" type="text/css"> <link href="${static.url('css/vendor/jquery.autocomplete.css')}" rel="stylesheet" type="text/css">
...@@ -8,11 +8,18 @@ ...@@ -8,11 +8,18 @@
return base_url + '?' + urlencode(merge(query_params, {'page': _page})) return base_url + '?' + urlencode(merge(query_params, {'page': _page}))
%> %>
<%def name="link_to_page(_page)"> <%def name="link_to_page(_page, text)">
% if discussion_type == 'inline':
<a class="discussion-page-link discussion-inline-page-link" href="javascript:void(0)" page-url="${url_for_page(_page)}">${text}</a>
% else:
<a class="discussion-page-link" href="${url_for_page(_page)}">${text}</a>
% endif
</%def>
<%def name="div_page(_page)">
% if _page != page: % if _page != page:
<div class="page-link"> <div class="page-link">
<a href="${url_for_page(_page)}">${_page}</a> ${link_to_page(_page, str(_page))}
</div> </div>
% else: % else:
<div class="page-link">${_page}</div> <div class="page-link">${_page}</div>
...@@ -25,10 +32,10 @@ ...@@ -25,10 +32,10 @@
<div class="page-dots">...</div> <div class="page-dots">...</div>
% elif isinstance(arg, list): % elif isinstance(arg, list):
% for _page in arg: % for _page in arg:
${link_to_page(_page)} ${div_page(_page)}
% endfor % endfor
% else: % else:
${link_to_page(arg)} ${div_page(arg)}
% endif % endif
% endfor % endfor
</%def> </%def>
...@@ -36,8 +43,7 @@ ...@@ -36,8 +43,7 @@
<div class="discussion-${discussion_type}-paginator discussion-paginator"> <div class="discussion-${discussion_type}-paginator discussion-paginator">
<div class="prev-page"> <div class="prev-page">
% if page > 1: % if page > 1:
<a href="${url_for_page(page - 1)}">&lt; Previous page</a> ${link_to_page(page - 1, "&lt; Previous page")}
% else:
% endif % endif
</div> </div>
...@@ -54,8 +60,7 @@ ...@@ -54,8 +60,7 @@
% endif % endif
<div class="next-page"> <div class="next-page">
% if page < num_pages: % if page < num_pages:
<a href="${url_for_page(page + 1)}">Next page &gt;</a> ${link_to_page(page + 1, "Next page &gt;")}
% else:
% endif % endif
</div> </div>
</div> </div>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment