merge conflict fixes
This commit is contained in:
@@ -20,7 +20,7 @@ import django_comment_client.utils as utils
|
||||
import comment_client as cc
|
||||
|
||||
|
||||
THREADS_PER_PAGE = 5
|
||||
THREADS_PER_PAGE = 50000
|
||||
PAGES_NEARBY_DELTA = 2
|
||||
|
||||
|
||||
|
||||
@@ -427,6 +427,22 @@ if Backbone?
|
||||
unfollow: ->
|
||||
@trigger "thread:unfollow"
|
||||
|
||||
display_body: ->
|
||||
if @has("highlighted_body")
|
||||
@get("highlighted_body")
|
||||
else
|
||||
@get("body")
|
||||
|
||||
display_title: ->
|
||||
if @has("highlighted_title")
|
||||
@get("highlighted_title")
|
||||
else
|
||||
@get("title")
|
||||
|
||||
toJSON: ->
|
||||
json_attributes = _.clone(@attributes)
|
||||
_.extend(json_attributes, { title: @display_title(), body: @display_body() })
|
||||
|
||||
class @ThreadView extends @ContentView
|
||||
|
||||
class @Comment extends @Content
|
||||
|
||||
@@ -5,9 +5,10 @@ class @DiscussionRouter extends Backbone.Router
|
||||
|
||||
initialize: (options) ->
|
||||
@discussion = options['discussion']
|
||||
@nav = new DiscussionThreadListView(collection: @discussion, el: $(".post-list"))
|
||||
@nav = new DiscussionThreadListView(collection: @discussion, el: $(".sidebar"))
|
||||
@nav.on "thread:selected", @navigateToThread
|
||||
@nav.render()
|
||||
@main = new DiscussionThreadView(el: $(".discussion-column"))
|
||||
|
||||
allThreads: ->
|
||||
true
|
||||
@@ -15,8 +16,8 @@ class @DiscussionRouter extends Backbone.Router
|
||||
showThread: (forum_name, thread_id) ->
|
||||
@nav.setActiveThread(thread_id)
|
||||
thread = @discussion.get(thread_id)
|
||||
view = new DiscussionThreadView(el: $(".discussion-column"), model: thread)
|
||||
view.render()
|
||||
@main.model = thread
|
||||
@main.render()
|
||||
|
||||
navigateToThread: (thread_id) =>
|
||||
thread = @discussion.get(thread_id)
|
||||
|
||||
@@ -1,12 +1,25 @@
|
||||
class @DiscussionThreadListView extends Backbone.View
|
||||
template: _.template($("#thread-list-template").html())
|
||||
events:
|
||||
"click .search": "showSearch"
|
||||
"keyup .post-search-field": "performSearch"
|
||||
|
||||
render: ->
|
||||
@collection.each @renderThreadListItem
|
||||
@timer = 0;
|
||||
@$el.html(@template())
|
||||
@collection.on "reset", @renderThreads
|
||||
@renderThreads()
|
||||
@
|
||||
|
||||
renderThreads: =>
|
||||
@$(".post-list").html("")
|
||||
@collection.each @renderThreadListItem
|
||||
|
||||
renderThreadListItem: (thread) =>
|
||||
view = new ThreadListItemView(model: thread)
|
||||
view.on "thread:selected", @threadSelected
|
||||
view.render()
|
||||
@$el.append(view.el)
|
||||
@$(".post-list").append(view.el)
|
||||
|
||||
threadSelected: (thread_id) =>
|
||||
@setActiveThread(thread_id)
|
||||
@@ -16,3 +29,28 @@ class @DiscussionThreadListView extends Backbone.View
|
||||
@$("a").removeClass("active")
|
||||
@$("a[data-id='#{thread_id}']").addClass("active")
|
||||
|
||||
showSearch: ->
|
||||
@$(".search").addClass('is-open');
|
||||
@$(".browse").removeClass('is-open');
|
||||
setTimeout (-> @$(".post-search-field").focus()), 200
|
||||
|
||||
delay: (callback, ms) =>
|
||||
clearTimeout(@timer)
|
||||
@timer = setTimeout(callback, ms)
|
||||
|
||||
performSearch: ->
|
||||
callback = =>
|
||||
url = DiscussionUtil.urlFor("search")
|
||||
text = @$(".post-search-field").val()
|
||||
DiscussionUtil.safeAjax
|
||||
$elem: @$(".post-search-field")
|
||||
data: { text: text }
|
||||
url: url
|
||||
type: "GET"
|
||||
success: (response, textStatus) =>
|
||||
console.log textStatus
|
||||
if textStatus == 'success'
|
||||
@collection.reset(response.discussion_data)
|
||||
console.log(@collection)
|
||||
|
||||
@delay(callback, 300)
|
||||
|
||||
@@ -5,14 +5,9 @@ class @DiscussionThreadView extends Backbone.View
|
||||
"click .discussion-submit-post": "submitComment"
|
||||
template: _.template($("#thread-template").html())
|
||||
|
||||
initialize: (options) ->
|
||||
@model.bind "change", @updateModelDetails
|
||||
@$el.html(@template(@model.toJSON()))
|
||||
|
||||
updateModelDetails: =>
|
||||
@$(".discussion-vote .votes-count-number").html(@model.get("votes")["up_count"])
|
||||
|
||||
render: ->
|
||||
@$el.html(@template(@model.toJSON()))
|
||||
@model.bind "change", @updateModelDetails
|
||||
if window.user.following(@model)
|
||||
@$(".dogear").addClass("is-followed")
|
||||
|
||||
@@ -24,6 +19,9 @@ class @DiscussionThreadView extends Backbone.View
|
||||
@renderResponses()
|
||||
@
|
||||
|
||||
updateModelDetails: =>
|
||||
@$(".discussion-vote .votes-count-number").html(@model.get("votes")["up_count"])
|
||||
|
||||
convertMath: ->
|
||||
element = @$(".post-body")
|
||||
element.html DiscussionUtil.postMathJaxProcessor DiscussionUtil.markdownWithHighlight element.html()
|
||||
|
||||
@@ -20,13 +20,14 @@ var scrollTop;
|
||||
var tooltipTimer;
|
||||
var tooltipCoords;
|
||||
var SIDEBAR_PADDING = -1;
|
||||
var SIDEBAR_HEADER_HEIGHT = 87;
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
$body = $('body');
|
||||
$browse = $('.browse-search .browse');
|
||||
$search = $('.browse-search .search');
|
||||
$searchField = $('.post-search-field');
|
||||
// $search = $('.browse-search .search');
|
||||
// $searchField = $('.post-search-field');
|
||||
$topicDrop = $('.board-drop-menu');
|
||||
$currentBoard = $('.current-board');
|
||||
$tooltip = $('<div class="tooltip"></div>');
|
||||
@@ -39,11 +40,10 @@ $(document).ready(function() {
|
||||
$body.append($sidebarWidthStyles);
|
||||
|
||||
sidebarWidth = $('.sidebar').width();
|
||||
sidebarHeaderHeight = $sidebar.find('.browse-search').height() + $sidebar.find('.sort-bar').height();
|
||||
sidebarXOffset = $sidebar.offset().top;
|
||||
|
||||
$browse.bind('click', showTopicDrop);
|
||||
$search.bind('click', showSearch);
|
||||
// $search.bind('click', showSearch);
|
||||
$topicDrop.bind('click', setTopic);
|
||||
$formTopicDropBtn.bind('click', showFormTopicDrop);
|
||||
$formTopicDropMenu.bind('click', setFormTopic);
|
||||
@@ -111,13 +111,13 @@ function showBrowse(e) {
|
||||
$searchField.val('');
|
||||
}
|
||||
|
||||
function showSearch(e) {
|
||||
$search.addClass('is-open');
|
||||
$browse.removeClass('is-open');
|
||||
setTimeout(function() {
|
||||
$searchField.focus();
|
||||
}, 200);
|
||||
}
|
||||
// function showSearch(e) {
|
||||
// $search.addClass('is-open');
|
||||
// $browse.removeClass('is-open');
|
||||
// setTimeout(function() {
|
||||
// $searchField.focus();
|
||||
// }, 200);
|
||||
// }
|
||||
|
||||
function showTopicDrop(e) {
|
||||
e.preventDefault();
|
||||
@@ -200,10 +200,6 @@ function setFormTopic(e) {
|
||||
$formTopicDropBtn.html(boardName + ' <span class="drop-arrow">▾</span>');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function updateSidebarCoordinates(e) {
|
||||
scrollTop = $(window).scrollTop();
|
||||
|
||||
@@ -226,12 +222,11 @@ function updateSidebarDimensions(e) {
|
||||
var titleWidth = sidebarWidth - 115;
|
||||
|
||||
$sidebar.css('height', sidebarHeight + 'px');
|
||||
$postListWrapper.css('height', (sidebarHeight - sidebarHeaderHeight - 4) + 'px');
|
||||
|
||||
if(!$postListWrapper[0]) {
|
||||
$postListWrapper = $('.post-list-wrapper');
|
||||
}
|
||||
|
||||
$postListWrapper.css('height', (sidebarHeight - SIDEBAR_HEADER_HEIGHT - 4) + 'px');
|
||||
$sidebarWidthStyles.html('.discussion-body .post-list a .title { width: ' + titleWidth + 'px !important; }');
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -756,7 +756,7 @@ body.discussion {
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -1px;
|
||||
right: -1px;
|
||||
right: -2px;
|
||||
width: 52px;
|
||||
height: 51px;
|
||||
background: url(../images/follow-dog-ear.png) 0 -52px no-repeat;
|
||||
|
||||
@@ -116,56 +116,54 @@
|
||||
|
||||
<div class="discussion container">
|
||||
<div class="discussion-body">
|
||||
<div class="sidebar">
|
||||
<div class="browse-search">
|
||||
<div class="browse is-open">
|
||||
<a href="#" class="board-drop-icon"></a>
|
||||
<a href="#" class="board-drop-btn"><span class="current-board">Homework / Week 1</span> <span class="drop-arrow">▾</span></a>
|
||||
</div>
|
||||
<ul class="board-drop-menu">
|
||||
<li><a href="#"><span class="board-name">All</span> <span class="unread">1,248</span></a></li>
|
||||
<li><a href="#"><span class="board-name">Following</span></a></li>
|
||||
<li><a href="#"><span class="board-name">General</span> <span class="unread">124</span></a></li>
|
||||
<div class="sidebar"></div>
|
||||
<div class="discussion-column"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/template" id="thread-list-template">
|
||||
<div class="browse-search">
|
||||
<div class="browse is-open">
|
||||
<a href="#" class="board-drop-icon"></a>
|
||||
<a href="#" class="board-drop-btn"><span class="current-board">Homework / Week 1</span> <span class="drop-arrow">▾</span></a>
|
||||
</div>
|
||||
<ul class="board-drop-menu">
|
||||
<li><a href="#"><span class="board-name">All</span> <span class="unread">1,248</span></a></li>
|
||||
<li><a href="#"><span class="board-name">Following</span></a></li>
|
||||
<li><a href="#"><span class="board-name">General</span> <span class="unread">124</span></a></li>
|
||||
<li>
|
||||
<a href="#"><span class="board-name">Homework</span> <span class="unread">27</span></a>
|
||||
<ul>
|
||||
<li><a href="#"><span class="board-name">Week 1</span> <span class="unread">24</span></a></li>
|
||||
<li>
|
||||
<a href="#"><span class="board-name">Homework</span> <span class="unread">27</span></a>
|
||||
<a href="#"><span class="board-name">Week 2</span> <span class="unread">27</span></a>
|
||||
<ul>
|
||||
<li><a href="#"><span class="board-name">Week 1</span> <span class="unread">24</span></a></li>
|
||||
<li>
|
||||
<a href="#"><span class="board-name">Week 2</span> <span class="unread">27</span></a>
|
||||
<ul>
|
||||
<li><a href="#"><span class="board-name">Problem 1</span> <span class="unread">14</span></a></li>
|
||||
<li><a href="#"><span class="board-name">Problem 2</span> <span class="unread">13</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li><a href="#"><span class="board-name">Problem 1</span> <span class="unread">14</span></a></li>
|
||||
<li><a href="#"><span class="board-name">Problem 2</span> <span class="unread">13</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="search">
|
||||
<form class="post-search">
|
||||
<input type="text" placeholder="Search all discussions" class="post-search-field">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sort-bar">
|
||||
<span class="sort-label">Sort by:</span>
|
||||
<ul>
|
||||
<li><a href="#" class="active" data-sort="date">date</a></li>
|
||||
<li><a href="#" data-sort="votes">votes</a></li>
|
||||
<li><a href="#" data-sort="comments">comments</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="post-list-wrapper">
|
||||
<ul class="post-list">
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="discussion-column">
|
||||
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
<div class="search">
|
||||
<form class="post-search">
|
||||
<input type="text" placeholder="Search all discussions" class="post-search-field">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sort-bar">
|
||||
<span class="sort-label">Sort by:</span>
|
||||
<ul>
|
||||
<li><a href="#" class="active" data-sort="date">date</a></li>
|
||||
<li><a href="#" data-sort="votes">votes</a></li>
|
||||
<li><a href="#" data-sort="comments">comments</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="post-list-wrapper">
|
||||
<ul class="post-list">
|
||||
</ul>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/template" id="thread-template">
|
||||
<article class="discussion-article" data-id="${'<%= id %>'}">
|
||||
|
||||
Reference in New Issue
Block a user