Make counters on tasklist filters consistent (#5470)
Summary: This implements my proposition from https://issues.kolab.org/show_bug.cgi?id=5470#c4 Reviewers: petersen, #roundcube_kolab_plugins_developers, vanmeeuwen Reviewed By: #roundcube_kolab_plugins_developers, vanmeeuwen Subscribers: petersen, vendel.colja Differential Revision: https://git.kolab.org/D195
This commit is contained in:
parent
05cc4f01f5
commit
7cde786c4e
4 changed files with 14 additions and 15 deletions
|
@ -254,19 +254,19 @@ class tasklist_database_driver extends tasklist_driver
|
|||
join(',', $list_ids)
|
||||
));
|
||||
|
||||
$counts = array('all' => 0, 'flagged' => 0, 'today' => 0, 'tomorrow' => 0, 'overdue' => 0, 'nodate' => 0);
|
||||
$counts = array('all' => 0, 'today' => 0, 'tomorrow' => 0, 'overdue' => 0, 'later' => 0);
|
||||
while ($result && ($rec = $this->rc->db->fetch_assoc($result))) {
|
||||
$counts['all']++;
|
||||
if ($rec['flagged'])
|
||||
$counts['flagged']++;
|
||||
if (empty($rec['date']))
|
||||
$counts['nodate']++;
|
||||
$counts['later']++;
|
||||
else if ($rec['date'] == $today)
|
||||
$counts['today']++;
|
||||
else if ($rec['date'] == $tomorrow)
|
||||
$counts['tomorrow']++;
|
||||
else if ($rec['date'] < $today)
|
||||
$counts['overdue']++;
|
||||
else if ($rec['date'] > $tomorrow)
|
||||
$counts['later']++;
|
||||
}
|
||||
|
||||
return $counts;
|
||||
|
|
|
@ -496,7 +496,8 @@ class tasklist_kolab_driver extends tasklist_driver
|
|||
$tomorrow_date = new DateTime('now + 1 day', $this->plugin->timezone);
|
||||
$tomorrow = $tomorrow_date->format('Y-m-d');
|
||||
|
||||
$counts = array('all' => 0, 'flagged' => 0, 'today' => 0, 'tomorrow' => 0, 'overdue' => 0, 'nodate' => 0, 'mytasks' => 0);
|
||||
$counts = array('all' => 0, 'today' => 0, 'tomorrow' => 0, 'later' => 0, 'overdue' => 0);
|
||||
|
||||
foreach ($lists as $list_id) {
|
||||
if (!$folder = $this->get_folder($list_id)) {
|
||||
continue;
|
||||
|
@ -508,18 +509,16 @@ class tasklist_kolab_driver extends tasklist_driver
|
|||
continue;
|
||||
|
||||
$counts['all']++;
|
||||
if ($rec['flagged'])
|
||||
$counts['flagged']++;
|
||||
if (empty($rec['date']))
|
||||
$counts['nodate']++;
|
||||
$counts['later']++;
|
||||
else if ($rec['date'] == $today)
|
||||
$counts['today']++;
|
||||
else if ($rec['date'] == $tomorrow)
|
||||
$counts['tomorrow']++;
|
||||
else if ($rec['date'] < $today)
|
||||
$counts['overdue']++;
|
||||
if ($this->plugin->is_attendee($rec) !== false)
|
||||
$counts['mytasks']++;
|
||||
else if ($rec['date'] > $tomorrow)
|
||||
$counts['later']++;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -87,18 +87,18 @@
|
|||
<div class="boxtitle buttonbar">
|
||||
<h2 id="aria-label-taskselector" class="voice"><roundcube:label name="tasklist.arialabeltaskselector" /></h2>
|
||||
<ul id="taskselector" role="radiogroup" aria-labelledby="aria-label-taskselector" aria-controls="thelist">
|
||||
<li class="all selected" role="radio" aria-checked="true" aria-labelledby="aria-radio-all"><a href="#all" id="aria-radio-all"><roundcube:label name="tasklist.all" /><span class="count"></span></a></li>
|
||||
<li class="all selected" role="radio" aria-checked="true" aria-labelledby="aria-radio-all"><a href="#all" id="aria-radio-all"><roundcube:label name="tasklist.all" /></a></li>
|
||||
<li class="overdue inactive" role="radio" aria-checked="false" aria-labelledby="aria-radio-overdue"><a href="#overdue" id="aria-radio-overdue"><roundcube:label name="tasklist.overdue" /><span class="count"></span></a></li>
|
||||
<li class="flagged" role="radio" aria-checked="false" aria-labelledby="aria-radio-flagged"><a href="#flagged" id="aria-radio-flagged"><roundcube:label name="tasklist.flagged" /><span class="count"></span></a></li>
|
||||
<li class="today" role="radio" aria-checked="false" aria-labelledby="aria-radio-today"><a href="#today" id="aria-radio-today"><roundcube:label name="tasklist.today" /><span class="count"></span></a></li>
|
||||
<li class="tomorrow" role="radio" aria-checked="false" aria-labelledby="aria-radio-tomorrow"><a href="#tomorrow" id="aria-radio-tomorrow"><roundcube:label name="tasklist.tomorrow" /><span class="count"></span></a></li>
|
||||
<roundcube:if condition="env:tasklist_driver != 'kolab'" />
|
||||
<li class="week" role="radio" aria-checked="false" aria-labelledby="aria-radio-week"><a href="#week" id="aria-radio-week"><roundcube:label name="tasklist.next7days" /></a></li>
|
||||
<roundcube:endif />
|
||||
<li class="later" role="radio" aria-checked="false" aria-labelledby="aria-radio-later"><a href="#later" id="aria-radio-later"><roundcube:label name="tasklist.later" /></a></li>
|
||||
<li class="later" role="radio" aria-checked="false" aria-labelledby="aria-radio-later"><a href="#later" id="aria-radio-later"><roundcube:label name="tasklist.later" /><span class="count"></span></a></li>
|
||||
<li class="nodate" role="radio" aria-checked="false" aria-labelledby="aria-radio-nodate"><a href="#nodate" id="aria-radio-nodate"><roundcube:label name="tasklist.nodate" ucfirst="true" /></a></li>
|
||||
<li class="flagged" role="radio" aria-checked="false" aria-labelledby="aria-radio-flagged"><a href="#flagged" id="aria-radio-flagged"><roundcube:label name="tasklist.flagged" /></a></li>
|
||||
<roundcube:if condition="env:tasklist_driver == 'kolab'" />
|
||||
<li class="mytasks" role="radio" aria-checked="false" aria-labelledby="aria-radio-mytasks"><a href="#mytasks" id="aria-radio-mytasks" title="<roundcube:label name='tasklist.mytaskstitle'/>"><roundcube:label name="tasklist.mytasks" /><span class="count"></span></a></li>
|
||||
<li class="mytasks" role="radio" aria-checked="false" aria-labelledby="aria-radio-mytasks"><a href="#mytasks" id="aria-radio-mytasks" title="<roundcube:label name='tasklist.mytaskstitle'/>"><roundcube:label name="tasklist.mytasks" /></a></li>
|
||||
<li class="assigned" role="radio" aria-checked="false" aria-labelledby="aria-radio-assigned"><a href="#assigned" id="aria-radio-assigned" title="<roundcube:label name='tasklist.assignedtitle'/>"><roundcube:label name="tasklist.assigned" /></a></li>
|
||||
<roundcube:endif />
|
||||
<li class="complete" role="radio" aria-checked="false" aria-labelledby="aria-radio-complete"><a href="#complete" id="aria-radio-complete"><roundcube:label name="tasklist.complete" /><span class="count"></span></a></li>
|
||||
|
|
|
@ -1190,7 +1190,7 @@ function rcube_tasklist_ui(settings)
|
|||
var link = $(elem),
|
||||
f = link.parent().attr('class').replace(/\s\w+/g, '');
|
||||
if (f != 'all')
|
||||
link.children('span').html(taskcounts[f] || '')[(taskcounts[f] ? 'show' : 'hide')]();
|
||||
link.children('span').html('+' + (taskcounts[f] || ''))[(taskcounts[f] ? 'show' : 'hide')]();
|
||||
});
|
||||
|
||||
// spacial case: overdue
|
||||
|
|
Loading…
Add table
Reference in a new issue