summaryrefslogtreecommitdiff
path: root/app/Template
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2015-07-07 20:19:57 -0400
committerFrederic Guillot <fred@kanboard.net>2015-07-07 20:19:57 -0400
commit2f8beda6af9a3f360379ed689c2eb81833e23039 (patch)
treeb7b52c1358864c6ecc89a22d01c1569c10561857 /app/Template
parent4807f3e8a0ac2cca2706fb8215b762541982c682 (diff)
Move board collapse/expand mode to server side to avoid board flickering
Diffstat (limited to 'app/Template')
-rw-r--r--app/Template/board/task_private.php88
-rw-r--r--app/Template/layout.php2
-rw-r--r--app/Template/project/filters.php13
3 files changed, 53 insertions, 50 deletions
diff --git a/app/Template/board/task_private.php b/app/Template/board/task_private.php
index 3f4010ea..7eaff580 100644
--- a/app/Template/board/task_private.php
+++ b/app/Template/board/task_private.php
@@ -10,53 +10,55 @@
<?= $this->render('board/task_menu', array('task' => $task)) ?>
- <div class="task-board-collapsed" style="display: none">
- <?php if (! empty($task['assignee_username'])): ?>
- <span title="<?= $this->e($task['assignee_name'] ?: $task['assignee_username']) ?>">
- <?= $this->e($this->user->getInitials($task['assignee_name'] ?: $task['assignee_username'])) ?>
- </span> -
- <?php endif ?>
- <span class="tooltip" title="<?= $this->e($task['title']) ?>"
- <?= $this->url->link($this->e($task['title']), 'task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), false, 'task-board-collapsed-title') ?>
- </span>
- </div>
+ <?php if ($this->board->isCollapsed($project['id'])): ?>
+ <div class="task-board-collapsed">
+ <?php if (! empty($task['assignee_username'])): ?>
+ <span title="<?= $this->e($task['assignee_name'] ?: $task['assignee_username']) ?>">
+ <?= $this->e($this->user->getInitials($task['assignee_name'] ?: $task['assignee_username'])) ?>
+ </span> -
+ <?php endif ?>
+ <span class="tooltip" title="<?= $this->e($task['title']) ?>"
+ <?= $this->url->link($this->e($task['title']), 'task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), false, 'task-board-collapsed-title') ?>
+ </span>
+ </div>
+ <?php else: ?>
+ <div class="task-board-expanded">
- <div class="task-board-expanded">
+ <?php if ($task['reference']): ?>
+ <span class="task-board-reference" title="<?= t('Reference') ?>">
+ (<?= $task['reference'] ?>)
+ </span>
+ <?php endif ?>
- <?php if ($task['reference']): ?>
- <span class="task-board-reference" title="<?= t('Reference') ?>">
- (<?= $task['reference'] ?>)
- </span>
- <?php endif ?>
+ <span class="task-board-user <?= $this->user->isCurrentUser($task['owner_id']) ? 'task-board-current-user' : '' ?>">
+ <?= $this->url->link(
+ (! empty($task['owner_id']) ? ($task['assignee_name'] ?: $task['assignee_username']) : t('Nobody assigned')),
+ 'board',
+ 'changeAssignee',
+ array('task_id' => $task['id'], 'project_id' => $task['project_id']),
+ false,
+ 'task-board-popover',
+ t('Change assignee')
+ ) ?>
+ </span>
- <span class="task-board-user <?= $this->user->isCurrentUser($task['owner_id']) ? 'task-board-current-user' : '' ?>">
- <?= $this->url->link(
- (! empty($task['owner_id']) ? ($task['assignee_name'] ?: $task['assignee_username']) : t('Nobody assigned')),
- 'board',
- 'changeAssignee',
- array('task_id' => $task['id'], 'project_id' => $task['project_id']),
- false,
- 'task-board-popover',
- t('Change assignee')
- ) ?>
- </span>
+ <?php if ($task['is_active'] == 1): ?>
+ <div class="task-board-days">
+ <span title="<?= t('Task age in days')?>" class="task-days-age"><?= $this->dt->age($task['date_creation']) ?></span>
+ <span title="<?= t('Days in this column')?>" class="task-days-incolumn"><?= $this->dt->age($task['date_moved']) ?></span>
+ </div>
+ <?php else: ?>
+ <div class="task-board-closed"><i class="fa fa-ban fa-fw"></i><?= t('Closed') ?></div>
+ <?php endif ?>
- <?php if ($task['is_active'] == 1): ?>
- <div class="task-board-days">
- <span title="<?= t('Task age in days')?>" class="task-days-age"><?= $this->dt->age($task['date_creation']) ?></span>
- <span title="<?= t('Days in this column')?>" class="task-days-incolumn"><?= $this->dt->age($task['date_moved']) ?></span>
- </div>
- <?php else: ?>
- <div class="task-board-closed"><i class="fa fa-ban fa-fw"></i><?= t('Closed') ?></div>
- <?php endif ?>
+ <div class="task-board-title">
+ <?= $this->url->link($this->e($task['title']), 'task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), false, '', t('View this task')) ?>
+ </div>
- <div class="task-board-title">
- <?= $this->url->link($this->e($task['title']), 'task', 'show', array('task_id' => $task['id'], 'project_id' => $task['project_id']), false, '', t('View this task')) ?>
+ <?= $this->render('board/task_footer', array(
+ 'task' => $task,
+ 'not_editable' => $not_editable,
+ )) ?>
</div>
-
- <?= $this->render('board/task_footer', array(
- 'task' => $task,
- 'not_editable' => $not_editable,
- )) ?>
- </div>
+ <?php endif ?>
</div>
diff --git a/app/Template/layout.php b/app/Template/layout.php
index d804d3d5..a9f1cbc3 100644
--- a/app/Template/layout.php
+++ b/app/Template/layout.php
@@ -48,7 +48,7 @@
<ul>
<?php if (isset($board_selector) && ! empty($board_selector)): ?>
<li>
- <select id="board-selector" tabindex=="-1" data-notfound="<?= t('No results match:') ?>" data-placeholder="<?= t('Display another project') ?>" data-board-url="<?= $this->url->href('board', 'show', array('project_id' => 'PROJECT_ID')) ?>">
+ <select id="board-selector" tabindex="-1" data-notfound="<?= t('No results match:') ?>" data-placeholder="<?= t('Display another project') ?>" data-board-url="<?= $this->url->href('board', 'show', array('project_id' => 'PROJECT_ID')) ?>">
<option value=""></option>
<?php foreach($board_selector as $board_id => $board_name): ?>
<option value="<?= $board_id ?>"><?= $this->e($board_name) ?></option>
diff --git a/app/Template/project/filters.php b/app/Template/project/filters.php
index 396baadf..3beb2f44 100644
--- a/app/Template/project/filters.php
+++ b/app/Template/project/filters.php
@@ -5,12 +5,13 @@
<ul>
<?php if (isset($is_board)): ?>
<li>
- <span class="filter-collapse">
- <i class="fa fa-compress fa-fw"></i> <a href="#" class="filter-collapse-link" title="<?= t('Keyboard shortcut: "%s"', 's') ?>"><?= t('Collapse tasks') ?></a>
- </span>
- <span class="filter-expand" style="display: none">
- <i class="fa fa-expand fa-fw"></i> <a href="#" class="filter-expand-link" title="<?= t('Keyboard shortcut: "%s"', 's') ?>"><?= t('Expand tasks') ?></a>
- </span>
+ <?php if ($this->board->isCollapsed($project['id'])): ?>
+ <i class="fa fa-expand fa-fw"></i>
+ <?= $this->url->link(t('Expand tasks'), 'board', 'expand', array('project_id' => $project['id']), false, 'board-display-mode', t('Keyboard shortcut: "%s"', 's')) ?>
+ <?php else: ?>
+ <i class="fa fa-compress fa-fw"></i>
+ <?= $this->url->link(t('Collapse tasks'), 'board', 'collapse', array('project_id' => $project['id']), false, 'board-display-mode', t('Keyboard shortcut: "%s"', 's')) ?>
+ <?php endif ?>
</li>
<li>
<span class="filter-compact">