Commit 8b2be21c269f419338cc881140cbc138d727310a
1 parent
8293eed9
Exists in
community_hub_submodule
#community dashboard - fixes
Showing
7 changed files
with
72 additions
and
24 deletions
Show diff stats
controllers/public/community_hub_plugin_public_controller.rb
| @@ -53,10 +53,12 @@ class CommunityHubPluginPublicController < PublicController | @@ -53,10 +53,12 @@ class CommunityHubPluginPublicController < PublicController | ||
| 53 | def newer_mediation_comment | 53 | def newer_mediation_comment |
| 54 | latest_id = params[:latest_post] | 54 | latest_id = params[:latest_post] |
| 55 | mediation = params[:mediation] | 55 | mediation = params[:mediation] |
| 56 | - comments = Comment.find(:all, :conditions => ["id > :id and source_id = :mediation", { | ||
| 57 | - :id => latest_id, | ||
| 58 | - :mediation => mediation | ||
| 59 | - }]) | 56 | + comments = Comment.find(:all, |
| 57 | + :limit => 100, | ||
| 58 | + :conditions => ["id > :id and source_id = :mediation", { | ||
| 59 | + :id => latest_id, | ||
| 60 | + :mediation => mediation | ||
| 61 | + }]) | ||
| 60 | 62 | ||
| 61 | render :partial => "mediation_comment", | 63 | render :partial => "mediation_comment", |
| 62 | :collection => comments | 64 | :collection => comments |
| @@ -67,8 +69,12 @@ class CommunityHubPluginPublicController < PublicController | @@ -67,8 +69,12 @@ class CommunityHubPluginPublicController < PublicController | ||
| 67 | latest_post = params[:latest_post] | 69 | latest_post = params[:latest_post] |
| 68 | hub = Article.find(params[:hub]) | 70 | hub = Article.find(params[:hub]) |
| 69 | posts = Comment.find(:all, | 71 | posts = Comment.find(:all, |
| 70 | - :order => "id desc", | ||
| 71 | - :conditions => ["id > ?", latest_post]) | 72 | + :order => "id desc", |
| 73 | + :limit => 100, | ||
| 74 | + :conditions => ["id > :id and source_id = :hub", { | ||
| 75 | + :id => latest_post, | ||
| 76 | + :hub => hub | ||
| 77 | + }]) | ||
| 72 | 78 | ||
| 73 | if !posts.empty? | 79 | if !posts.empty? |
| 74 | oldest_post = posts.last.id | 80 | oldest_post = posts.last.id |
| @@ -93,6 +99,7 @@ class CommunityHubPluginPublicController < PublicController | @@ -93,6 +99,7 @@ class CommunityHubPluginPublicController < PublicController | ||
| 93 | hub = Article.find(params[:hub]) | 99 | hub = Article.find(params[:hub]) |
| 94 | posts = Article.find(:all, | 100 | posts = Article.find(:all, |
| 95 | :order => "id desc", | 101 | :order => "id desc", |
| 102 | + :limit => 100, | ||
| 96 | :conditions => ["id > :id and type = :type and parent_id = :hub", { | 103 | :conditions => ["id > :id and type = :type and parent_id = :hub", { |
| 97 | :id => latest_post, | 104 | :id => latest_post, |
| 98 | :type => 'TinyMceArticle', | 105 | :type => 'TinyMceArticle', |
| @@ -117,13 +124,6 @@ class CommunityHubPluginPublicController < PublicController | @@ -117,13 +124,6 @@ class CommunityHubPluginPublicController < PublicController | ||
| 117 | end | 124 | end |
| 118 | 125 | ||
| 119 | 126 | ||
| 120 | - def more_comments | ||
| 121 | - @posts = Comment.find(:all) | ||
| 122 | - render :partial => "post", :collection => @posts | ||
| 123 | - end | ||
| 124 | - | ||
| 125 | - | ||
| 126 | - | ||
| 127 | def settings | 127 | def settings |
| 128 | settings_section = params[:id] | 128 | settings_section = params[:id] |
| 129 | render :partial => "settings/twitter", :layout => true | 129 | render :partial => "settings/twitter", :layout => true |
public/javascripts/community_hub.js
| 1 | var latest_post_id = 0; | 1 | var latest_post_id = 0; |
| 2 | var oldest_post_id = 0; | 2 | var oldest_post_id = 0; |
| 3 | +live_scroll_position = 0; | ||
| 3 | 4 | ||
| 4 | function toogle_mediation_comments(mediation) { | 5 | function toogle_mediation_comments(mediation) { |
| 5 | jQuery("#mediation-comment-list-" + mediation ).toggle(); | 6 | jQuery("#mediation-comment-list-" + mediation ).toggle(); |
| @@ -153,7 +154,7 @@ function update_mediations() { | @@ -153,7 +154,7 @@ function update_mediations() { | ||
| 153 | } | 154 | } |
| 154 | }); | 155 | }); |
| 155 | 156 | ||
| 156 | - setTimeout(update_mediations, 10000); | 157 | + setTimeout(update_mediations, 7000); |
| 157 | } | 158 | } |
| 158 | 159 | ||
| 159 | 160 | ||
| @@ -176,6 +177,12 @@ function update_live_stream() { | @@ -176,6 +177,12 @@ function update_live_stream() { | ||
| 176 | success: function(data) { | 177 | success: function(data) { |
| 177 | if (data.trim().length > 0) { | 178 | if (data.trim().length > 0) { |
| 178 | jQuery("#live-posts").prepend(data); | 179 | jQuery("#live-posts").prepend(data); |
| 180 | + if (jQuery("#auto_scrolling").attr('checked')) { | ||
| 181 | + jQuery("#live-posts").scrollTop(0); | ||
| 182 | + } | ||
| 183 | + else { | ||
| 184 | + jQuery("#live-posts").scrollTop(live_scroll_position); | ||
| 185 | + } | ||
| 179 | } | 186 | } |
| 180 | }, | 187 | }, |
| 181 | error: function(ajax, stat, errorThrown) { | 188 | error: function(ajax, stat, errorThrown) { |
| @@ -188,6 +195,10 @@ function update_live_stream() { | @@ -188,6 +195,10 @@ function update_live_stream() { | ||
| 188 | 195 | ||
| 189 | 196 | ||
| 190 | jQuery(document).ready(function() { | 197 | jQuery(document).ready(function() { |
| 198 | + jQuery("#live-posts").scroll(function() { | ||
| 199 | + live_scroll_position = jQuery("#live-posts").scrollTop(); | ||
| 200 | + }); | ||
| 201 | + | ||
| 191 | setTimeout(update_live_stream, 5000); | 202 | setTimeout(update_live_stream, 5000); |
| 192 | - setTimeout(update_mediations, 10000); | 203 | + setTimeout(update_mediations, 7000); |
| 193 | }); | 204 | }); |
| 194 | \ No newline at end of file | 205 | \ No newline at end of file |
public/style.css
| @@ -32,10 +32,12 @@ | @@ -32,10 +32,12 @@ | ||
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | .hub .post { | 34 | .hub .post { |
| 35 | - border-bottom: 1px solid #ddd !important; | ||
| 36 | - background: url("images/hub-time-bg.gif") repeat-y left top #fff; | 35 | + border-bottom: 1px solid #ddd; |
| 36 | + background: url("images/hub-time-bg.gif") repeat-y left top #fff; | ||
| 37 | + padding: 5px 0; | ||
| 37 | } | 38 | } |
| 38 | 39 | ||
| 40 | + | ||
| 39 | .hub .time{ | 41 | .hub .time{ |
| 40 | display: inline-block; | 42 | display: inline-block; |
| 41 | font-size: 8px; | 43 | font-size: 8px; |
| @@ -52,6 +54,12 @@ | @@ -52,6 +54,12 @@ | ||
| 52 | margin: 0 10px; | 54 | margin: 0 10px; |
| 53 | vertical-align: top; | 55 | vertical-align: top; |
| 54 | width: 43px; | 56 | width: 43px; |
| 57 | + text-align: center; | ||
| 58 | +} | ||
| 59 | + | ||
| 60 | +.hub .avatar img{ | ||
| 61 | + max-height: 43px; | ||
| 62 | + max-width: 43px; | ||
| 55 | } | 63 | } |
| 56 | 64 | ||
| 57 | .hub .message{ | 65 | .hub .message{ |
| @@ -60,7 +68,11 @@ | @@ -60,7 +68,11 @@ | ||
| 60 | } | 68 | } |
| 61 | 69 | ||
| 62 | .hub .message .author { | 70 | .hub .message .author { |
| 63 | - font-weight: bold; | 71 | + font-weight: bold; |
| 72 | + float: left; | ||
| 73 | + display: inline-block; | ||
| 74 | + line-height: 20px; | ||
| 75 | + margin-right: 5px; | ||
| 64 | } | 76 | } |
| 65 | 77 | ||
| 66 | .hub .mediation-bar { | 78 | .hub .mediation-bar { |
| @@ -118,6 +130,18 @@ | @@ -118,6 +130,18 @@ | ||
| 118 | float: right; | 130 | float: right; |
| 119 | } | 131 | } |
| 120 | 132 | ||
| 133 | +.hub ul.mediation-comment-list{ | ||
| 134 | + margin-left: 80px; | ||
| 135 | + display: inline-block; | ||
| 136 | + padding: 10px 0; | ||
| 137 | + background-color: #fff; | ||
| 138 | + margin-bottom: 10px; | ||
| 139 | +} | ||
| 140 | + | ||
| 141 | +.hub ul.mediation-comment-list li{ | ||
| 142 | + padding-left: 10px; | ||
| 143 | +} | ||
| 144 | + | ||
| 121 | /**/ | 145 | /**/ |
| 122 | 146 | ||
| 123 | .hub .live { | 147 | .hub .live { |
| @@ -139,6 +163,15 @@ | @@ -139,6 +163,15 @@ | ||
| 139 | } | 163 | } |
| 140 | 164 | ||
| 141 | 165 | ||
| 166 | +.hub #live-posts .post { | ||
| 167 | + background-color:#fff; | ||
| 168 | +} | ||
| 169 | + | ||
| 170 | +.hub ul#mediation-posts .post{ | ||
| 171 | + background-color:#eee; | ||
| 172 | + border-color: #fff; | ||
| 173 | +} | ||
| 174 | + | ||
| 142 | #content .main-block .hub .live h1{ | 175 | #content .main-block .hub .live h1{ |
| 143 | background-color: #f4f4f4; | 176 | background-color: #f4f4f4; |
| 144 | border: 1px solid lightGray | 177 | border: 1px solid lightGray |
| @@ -288,3 +321,8 @@ | @@ -288,3 +321,8 @@ | ||
| 288 | .hub .settings .twitter, .hub .settings .facebook, .hub .settings .general { | 321 | .hub .settings .twitter, .hub .settings .facebook, .hub .settings .general { |
| 289 | /* border: 1px solid red;*/ | 322 | /* border: 1px solid red;*/ |
| 290 | } | 323 | } |
| 324 | + | ||
| 325 | +textarea#message_body { | ||
| 326 | + width: auto; | ||
| 327 | + margin-left: 80px; | ||
| 328 | +} | ||
| 291 | \ No newline at end of file | 329 | \ No newline at end of file |
views/community_hub_plugin_public/_mediation.rhtml
| @@ -37,7 +37,7 @@ | @@ -37,7 +37,7 @@ | ||
| 37 | 37 | ||
| 38 | <% total_mediation_comments = mediation.comments.count %> | 38 | <% total_mediation_comments = mediation.comments.count %> |
| 39 | 39 | ||
| 40 | - <span> | 40 | + <span class="comment-count"> |
| 41 | <%= link_to(_( "#{total_mediation_comments} Comments" ) , '#', | 41 | <%= link_to(_( "#{total_mediation_comments} Comments" ) , '#', |
| 42 | :class => 'display-comment-form', | 42 | :class => 'display-comment-form', |
| 43 | :id => 'top-post-comment-button', | 43 | :id => 'top-post-comment-button', |
views/community_hub_plugin_public/_mediation_comment_form.rhtml
| @@ -5,8 +5,7 @@ | @@ -5,8 +5,7 @@ | ||
| 5 | :action => 'new_message', | 5 | :action => 'new_message', |
| 6 | :article_id => mediation.id | 6 | :article_id => mediation.id |
| 7 | } do |f| %> | 7 | } do |f| %> |
| 8 | - <%= f.text_area(:body, | ||
| 9 | - :style => 'width: 97%;', | 8 | + <%= f.text_area(:body, |
| 10 | :rows => 4, | 9 | :rows => 4, |
| 11 | :placeholder => _('Type your comment here')) %> | 10 | :placeholder => _('Type your comment here')) %> |
| 12 | <%= submit_button('add', _('Post'), :onclick => 'new_message(this); return false;') %> | 11 | <%= submit_button('add', _('Post'), :onclick => 'new_message(this); return false;') %> |
views/community_hub_plugin_public/_post.rhtml
| 1 | <% extend CommunityHubPlugin::HubHelper %> | 1 | <% extend CommunityHubPlugin::HubHelper %> |
| 2 | 2 | ||
| 3 | -<li id="<%= post.id %>" class="<%=post_css_classes(post.id, latest_post, oldest_post)%>"> | 3 | +<li id="<%= post.id %>" class="post"> |
| 4 | <ul> | 4 | <ul> |
| 5 | <li class="time"><%= post_time(post.created_at) %></li> | 5 | <li class="time"><%= post_time(post.created_at) %></li> |
| 6 | <li class="avatar"><%= image_tag(profile_icon(post.author, :minor)) %></li> | 6 | <li class="avatar"><%= image_tag(profile_icon(post.author, :minor)) %></li> |
| 7 | - <li class="message"><span class="author"><%= post.author_name %>:</span> <%= post.body %></li> | 7 | + <li class="message"><span class="author"><%= post.author_name %>:</span><p><%= post.body %></p></li> |
| 8 | 8 | ||
| 9 | <% if mediator?(hub) %> | 9 | <% if mediator?(hub) %> |
| 10 | <li class="mediation-bar"> | 10 | <li class="mediation-bar"> |
views/content_viewer/hub.rhtml
| @@ -14,7 +14,7 @@ | @@ -14,7 +14,7 @@ | ||
| 14 | </h1> | 14 | </h1> |
| 15 | <ul id="live-posts"> | 15 | <ul id="live-posts"> |
| 16 | </ul> | 16 | </ul> |
| 17 | - <!--span><%= check_box_tag 'auto_scrolling', 'yes', true %><%= _("Auto scrolling") %></span--> | 17 | + <span><%= check_box_tag 'auto_scrolling', 'yes', true %><%= _("Auto scrolling") %></span> |
| 18 | </div> | 18 | </div> |
| 19 | 19 | ||
| 20 | <div class="mediation"> | 20 | <div class="mediation"> |