Append filters instead of replacing value for users and categories dropdowns

This commit is contained in:
Frederic Guillot 2015-09-26 21:48:48 -04:00
parent 66514aa530
commit 58c74b80d2
5 changed files with 13 additions and 8 deletions

View File

@ -18,6 +18,7 @@ Core functionalities moved to plugins:
Improvements:
* Append filters instead of replacing value for users and categories dropdowns
* Do not show empty swimlanes in public view
* Change swimlane layout to save space on the screen
* Add the possibility to set/unset max column height (column scrolling)

View File

@ -136,7 +136,7 @@ class Board extends Base
}
$values = $this->request->getJson();
$this->userSession->setFilters($project_id, $values['search']);
$this->userSession->setFilters($project_id, empty($values['search']) ? '' : $values['search']);
$this->response->html($this->renderBoard($project_id));
}

View File

@ -67,10 +67,9 @@
<div class="dropdown filters">
<i class="fa fa-caret-down"></i> <a href="#" class="dropdown-menu"><?= t('Users') ?></a>
<ul>
<li><a href="#" class="filter-helper" data-filter="status:open"><?= t('All users') ?></a></li>
<li><a href="#" class="filter-helper" data-filter="status:open assignee:nobody"><?= t('Not assigned') ?></a></li>
<li><a href="#" class="filter-helper" data-append-filter="assignee:nobody"><?= t('Not assigned') ?></a></li>
<?php foreach ($users_list as $user): ?>
<li><a href="#" class="filter-helper" data-filter='status:open assignee:"<?= $this->e($user) ?>"'><?= $this->e($user) ?></a></li>
<li><a href="#" class="filter-helper" data-append-filter='assignee:"<?= $this->e($user) ?>"'><?= $this->e($user) ?></a></li>
<?php endforeach ?>
</ul>
</div>
@ -80,10 +79,9 @@
<div class="dropdown filters">
<i class="fa fa-caret-down"></i> <a href="#" class="dropdown-menu"><?= t('Categories') ?></a>
<ul>
<li><a href="#" class="filter-helper" data-filter="status:open"><?= t('All categories') ?></a></li>
<li><a href="#" class="filter-helper" data-filter="status:open category:none"><?= t('No category') ?></a></li>
<li><a href="#" class="filter-helper" data-append-filter="category:none"><?= t('No category') ?></a></li>
<?php foreach ($categories_list as $category): ?>
<li><a href="#" class="filter-helper" data-filter='status:open category:"<?= $this->e($category) ?>"'><?= $this->e($category) ?></a></li>
<li><a href="#" class="filter-helper" data-append-filter='category:"<?= $this->e($category) ?>"'><?= $this->e($category) ?></a></li>
<?php endforeach ?>
</ul>
</div>

File diff suppressed because one or more lines are too long

View File

@ -18,7 +18,13 @@ Search.prototype.listen = function() {
// Filter helper for search
$(document).on("click", ".filter-helper", function (e) {
e.preventDefault();
var filter = $(this).data("filter");
var appendFilter = $(this).data("append-filter");
if (appendFilter) {
filter = $("#form-search").val() + " " + appendFilter;
}
$("#form-search").val(filter);