ChronoCode
PlogMacros
en
0
XWiki.jvdrean
XWiki.Admin
XWiki.Admin
1173449087000
1208182558000
1208182558000
3.1
false
#macro(plog $nbitems $nbstart)
#set ($sql = ", BaseObject as obj where obj.name=doc.fullName and doc.web='$doc.web' and obj.className='ChronoClasses.ProjectArticleClass' order by doc.creationDate desc")
#set($inbitems = $xwiki.parseInt($nbitems))
#set($inbitems = 30)
#set($inbstart = $xwiki.parseInt($nbstart))
#set($counter = 0)
<div id="article_filter">
$msg.get("plogsee") : <select id="article_type_choice" onchange="change_article_type()">
<option value="">$msg.get("allarticles")</option>
<option value="post">$msg.get("seeposts")</option>
<option value="task">$msg.get("seetasks")</option>
<option value="meeting">$msg.get("seemeetings")</option>
</select>
</div>
<div class="spacer"></div>
#roundedbottom()
#set($slideNo = $xwiki.arrayList)
#set($docNames = $xwiki.arrayList)
#set($objNrs = $xwiki.arrayList)
#foreach ($item in $xwiki.searchDocuments($sql, $inbitems, $inbstart))
#if ($xwiki.hasAccessLevel("view", $context.user, "${context.database}:${item}"))
#set($counter = $counter+1)
#set($bentrydoc = $xwiki.getDocument($item))
#set($bentryobj = $bentrydoc.getObject("ChronoClasses.ProjectArticleClass"))
#set($creationDate = $xwiki.formatDate($bentrydoc.creationDate,"dd MMMM yyyy"))
#set($title = $!bentrydoc.displayTitle)
#if($title == "")
#set($title = " ")
#end
#set($plogtype = "${bentrydoc.type}")
#if($bentrydoc.taskcompletion == "100%" || $bentrydoc.meetingend.before($xwiki.getCurrentDate()))
#set($plogtype = "${bentrydoc.type}-complete")
#end
<div id="plog_${bentrydoc.fullName}" class="article $bentrydoc.type">
#roundedtop()
<img id="plogheaderimg_$velocityCount" src="$xwiki.getSkinFile("${plogtype}-large.gif")" style="float:left;" width="32" height="32" />
<div class="article_content_container">
<div class="article_header">
<span id="plogtype_$velocityCount">$msg.get($bentrydoc.type)</span> $msg.get("article_date") $creationDate, $msg.get("article_author") #displayUser($bentrydoc.getCreator())
</div>
#if($bentrydoc.taskcompletion == "100%" || $velocityCount > 3)
#set($deployarticle = 'closed')
#set($deployactionarticle = 'open')
#else
#set($deployarticle = 'open')
#set($deployactionarticle = 'closed')
#end
<span id="article_deploy_$velocityCount" class="article_deploy_${deployarticle}" title="$msg.get('opencloseplog')" ></span>
<script type="text/javascript">
$('article_deploy_${velocityCount}').observe('click', function()
{
toggleClass($('article_content_$velocityCount'), 'hidden');
switchClass('article_deploy_$velocityCount');
#if($bentrydoc.type == "task") updSlider('$velocityCount'); #end
});
</script>
<h1 class="article_title">$title</h1>
<div id="article_content_$velocityCount" #if($deployarticle == 'closed') class="hidden" #end >
<div class="article_content">
#if ($bentrydoc.type == "task")
#set($disc = $slideNo.add($velocityCount))
#set($disc = $docNames.add($bentrydoc.fullName))
#set($disc = $objNrs.add($bentryobj.getNumber()))
<ul class="star">
<li><strong>$msg.get("taskduedate") : </strong><span>$bentrydoc.taskduedate</span></li>
<li><strong>$msg.get("taskassignee") : </strong><span>$bentrydoc.taskassignee</span></li>
<li><strong>$msg.get("taskcompletion") : </strong><span id="task_completed_value_$velocityCount">$bentrydoc.taskcompletion</span>
<div id="slider_container_$velocityCount" class="slider_container">
<div id="slider_track_$velocityCount" class="slider_track">
<div id="task_completed_$velocityCount" class="task_completed" style="width:$bentrydoc.taskcompletion;"></div>
</div>
<div id="slider_$velocityCount" class="slider" style="left:$bentrydoc.taskcompletion;"/>
<img id="tc_loading_$velocityCount" class="tc_loading" src="$xwiki.getSkinFile("ajax-loader.gif")" alt="Loading" style="left:$bentrydoc.taskcompletion;" />
</div>
</li>
</ul>
#end
#if ($bentrydoc.type == "meeting")
*$msg.get("meetingstart")* : $bentrydoc.meetingstart<br/>
*$msg.get("meetingend")* : $bentrydoc.meetingend<br/>
*$msg.get("meetinglocation")* : $bentrydoc.meetinglocation<br/><br/>
#displayRsvps($bentrydoc)
#end
#set($content = $bentrydoc.display("content", "view", $bentryobj))
##if($content.length()>400)
##set($i = $content.lastIndexOf(" ",400))
##set($i = $i + 1)
##set($continuereading = ${msg.get("continuereading")})
##set($content = "${content.substring(0,$i)} ... [${continuereading}>${bentrydoc.fullName}]")
##end
$bentrydoc.getRenderedContent($content)
</div>
</div>
</div>
<div class="article_footer">
#set($modifyln=$xwiki.getURL($bentrydoc.fullName, "inline"))
[$msg.get("readmore")>${bentrydoc.fullName}] | <a href="${modifyln}">$msg.get("modify")</a> #if($isProjectLeader||$isChronoAdmin)| <a href="javascript:deletePlog('$bentrydoc.web', '$bentrydoc.name')">$msg.get("deleteplog")</a>#end | <a href="$xwiki.getURL(${bentrydoc.fullName})?open=attach#attachref">{pre}$bentrydoc.attachmentList.size(){/pre} $msg.get("attachments")</a> | <a href="$xwiki.getURL(${bentrydoc.fullName})?open=comments#commentsref"> {pre}$bentrydoc.getObjects("XWiki.XWikiComments").size(){/pre} $msg.get("comments")
</a></div>
#roundedbottom()
</div>
##if($counter==$inbitems)
##<div style="float: right; margin-right: 30px">
##if ($inbstart!=0)
##set($iprev = $inbstart - $inbitems)
##[Previous>$doc.name?category=$!{request.category}&nbstart=${iprev}]
##end
##set($inext = $inbstart + $inbitems)
##[Next>$doc.name?category=$!{request.category}&nbstart=${inext}]
##</div>
##<br/>
##end
#end
#end
#if($slideNo.size() > 0)
{pre}
<script type="text/javascript">
window.dist = window.start = 0;
updSlider = function(val)
{
var tr = 'slider_track_' + val;
window.dist = $(tr).clientWidth;
window.start = findPos($(tr))[0];
}
Event.observe(window, 'load', function() {
#foreach($i in $slideNo)
#set($j = $velocityCount - 1)
#set($url = "${xwiki.getURL($docNames.get($j), 'save')}?ChronoClasses.ProjectArticleClass_${objNrs.get($j)}_taskcompletion=")
window.slider_$i = new xwkSlider({domNode:'slider_$i', trackNode:'slider_track_$i', slideNo: $i, updCol:'task_completed_$i', loading:'tc_loading_$i', url:'$url', updHandler:updTaskCompl});
#end
});
</script>
{/pre}
#end
#end