rework show/hide comments

This commit is contained in:
friendica 2011-11-22 16:00:05 -08:00
parent c568493f57
commit 53590d2166
5 changed files with 37 additions and 6 deletions

View file

@ -9,7 +9,7 @@ require_once('include/nav.php');
require_once('include/cache.php'); require_once('include/cache.php');
define ( 'FRIENDIKA_PLATFORM', 'Friendica'); define ( 'FRIENDIKA_PLATFORM', 'Friendica');
define ( 'FRIENDIKA_VERSION', '2.3.1172' ); define ( 'FRIENDIKA_VERSION', '2.3.1173' );
define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' );
define ( 'DB_UPDATE_VERSION', 1105 ); define ( 'DB_UPDATE_VERSION', 1105 );
@ -417,7 +417,9 @@ class App {
'$baseurl' => $this->get_baseurl(), // FIXME for z_path!!!! '$baseurl' => $this->get_baseurl(), // FIXME for z_path!!!!
'$generator' => 'Friendika' . ' ' . FRIENDIKA_VERSION, '$generator' => 'Friendika' . ' ' . FRIENDIKA_VERSION,
'$delitem' => t('Delete this item?'), '$delitem' => t('Delete this item?'),
'$comment' => t('Comment') '$comment' => t('Comment'),
'$showmore' => t('show more'),
'$showfewer' => t('show fewer')
)); ));
} }

View file

@ -172,6 +172,7 @@ function conversation(&$a, $items, $mode, $update) {
$cmnt_tpl = get_markup_template('comment_item.tpl'); $cmnt_tpl = get_markup_template('comment_item.tpl');
$tpl = get_markup_template('wall_item.tpl'); $tpl = get_markup_template('wall_item.tpl');
$wallwall = get_markup_template('wallwall_item.tpl'); $wallwall = get_markup_template('wallwall_item.tpl');
$hide_comments_tpl = get_markup_template('hide_comments.tpl');
$alike = array(); $alike = array();
$dlike = array(); $dlike = array();
@ -385,12 +386,20 @@ function conversation(&$a, $items, $mode, $update) {
$override_comment_box = ((($page_writeable) && ($item_writeable)) ? true : false); $override_comment_box = ((($page_writeable) && ($item_writeable)) ? true : false);
$show_comment_box = ((($page_writeable) && ($item_writeable) && ($comments_seen == $comments[$item['parent']])) ? true : false); $show_comment_box = ((($page_writeable) && ($item_writeable) && ($comments_seen == $comments[$item['parent']])) ? true : false);
if(($comments[$item['parent']] > 2) && ($comments_seen <= ($comments[$item['parent']] - 2)) && ($item['gravity'] == 6)) { if(($comments[$item['parent']] > 2) && ($comments_seen <= ($comments[$item['parent']] - 2)) && ($item['gravity'] == 6)) {
if(! $comments_collapsed) { if(! $comments_collapsed) {
$threads[$threadsid] .= '<div class="ccollapse-wrapper fakelink" id="ccollapse-wrapper-' . $item['parent']
. '" onclick="openClose(' . '\'ccollapse-' . $item['parent'] . '\'); $(\'#ccollapse-wrapper-' . $item['parent'] . '\').hide();" >' // IMPORTANT: the closing </div> in the hide_comments template
. sprintf( t('See all %d comments'), $comments[$item['parent']]) . '</div>' // is supplied below in code.
. '<div class="ccollapse" id="ccollapse-' . $item['parent'] . '" style="display: none;" >';
$threads[$threadsid] .= replace_macros($hide_comments_tpl,array(
'$id' => $item['parent'],
'$num_comments' => sprintf( tt('%d comment','%d comments',$comments[$item['parent']]),
$comments[$item['parent']]),
'$display' => 'none',
'$hide_text' => t('show more')
));
$comments_collapsed = true; $comments_collapsed = true;
} }
} }

View file

@ -44,6 +44,18 @@
} }
} }
function showHideComments(id) {
if( $('#collapsed-comments-' + id).is(':visible')) {
$('#collapsed-comments-' + id).hide();
$('#hide-comments-' + id).html('$showmore');
}
else {
$('#collapsed-comments-' + id).show();
$('#hide-comments-' + id).html('$showfewer');
}
}
</script> </script>

4
view/hide_comments.tpl Normal file
View file

@ -0,0 +1,4 @@
<div class="hide-comments-outer">
$num_comments <span id="hide-comments-$id" class="hide-comments fakelink" onclick="showHideComments($id);">$hide_text</span>
</div>
<div id="collapsed-comments-$id" class="collapsed-comments" style="display: $display;">

View file

@ -61,6 +61,10 @@ blockquote {
padding: 5px; padding: 5px;
} }
.hide-comments {
margin-left: 15px;
}
#panel { #panel {
background-color: ivory; background-color: ivory;
position: absolute; position: absolute;