Improve card icons alignment on board
This commit is contained in:
parent
49b3eeca2c
commit
28052edb22
|
|
@ -3,6 +3,7 @@ Version 1.0.39 (unreleased)
|
|||
|
||||
Improvements:
|
||||
|
||||
* Improve card icons alignment on board
|
||||
* Adjust modal dialog width on mobile devices
|
||||
* Add priority column in list view
|
||||
* Change wording for project status (use "closed" instead of "inactive")
|
||||
|
|
|
|||
|
|
@ -29,84 +29,95 @@
|
|||
<?php endif ?>
|
||||
|
||||
<div class="task-board-icons">
|
||||
<?php if ($task['score']): ?>
|
||||
<span class="task-score" title="<?= t('Complexity') ?>">
|
||||
<i class="fa fa-trophy"></i>
|
||||
<?= $this->text->e($task['score']) ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($task['date_due'])): ?>
|
||||
<?php if (date('Y-m-d') == date('Y-m-d', $task['date_due'])): ?>
|
||||
<span class="task-board-date task-board-date-today">
|
||||
<?php elseif (time() > $task['date_due']): ?>
|
||||
<span class="task-board-date task-board-date-overdue">
|
||||
<?php else: ?>
|
||||
<span class="task-board-date">
|
||||
<div class="task-board-icons-row">
|
||||
<?php if ($task['reference']): ?>
|
||||
<span class="task-board-reference" title="<?= t('Reference') ?>">
|
||||
<?= $this->text->e($task['reference']) ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
<div class="task-board-icons-row">
|
||||
<?php if ($task['is_milestone'] == 1): ?>
|
||||
<span title="<?= t('Milestone') ?>">
|
||||
<i class="fa fa-flag flag-milestone"></i>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<i class="fa fa-calendar"></i>
|
||||
<?= $this->dt->date($task['date_due']) ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($task['recurrence_status'] == \Kanboard\Model\TaskModel::RECURRING_STATUS_PENDING): ?>
|
||||
<span title="<?= t('Recurrence') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'recurrence', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-refresh fa-rotate-90"></i></span>
|
||||
<?php endif ?>
|
||||
<?php if ($task['score']): ?>
|
||||
<span class="task-score" title="<?= t('Complexity') ?>">
|
||||
<i class="fa fa-trophy"></i>
|
||||
<?= $this->text->e($task['score']) ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($task['recurrence_status'] == \Kanboard\Model\TaskModel::RECURRING_STATUS_PROCESSED): ?>
|
||||
<span title="<?= t('Recurrence') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'recurrence', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-refresh fa-rotate-90 fa-inverse"></i></span>
|
||||
<?php endif ?>
|
||||
<?php if (! empty($task['time_estimated']) || ! empty($task['time_spent'])): ?>
|
||||
<span class="task-time-estimated" title="<?= t('Time spent and estimated') ?>">
|
||||
<?= $this->text->e($task['time_spent']) ?>/<?= $this->text->e($task['time_estimated']) ?>h
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($task['nb_links'])): ?>
|
||||
<span title="<?= t('Links') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'tasklinks', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-code-fork fa-fw"></i><?= $task['nb_links'] ?></span>
|
||||
<?php endif ?>
|
||||
<?php if (! empty($task['date_due'])): ?>
|
||||
<span class="task-board-date
|
||||
<?php if (date('Y-m-d') == date('Y-m-d', $task['date_due'])): ?>
|
||||
task-board-date-today
|
||||
<?php elseif (time() > $task['date_due']): ?>
|
||||
task-board-date-overdue
|
||||
<?php endif ?>
|
||||
">
|
||||
<i class="fa fa-calendar"></i>
|
||||
<?= $this->dt->date($task['date_due']) ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
<div class="task-board-icons-row">
|
||||
|
||||
<?php if (! empty($task['nb_external_links'])): ?>
|
||||
<span title="<?= t('External links') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'externallinks', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-external-link fa-fw"></i><?= $task['nb_external_links'] ?></span>
|
||||
<?php endif ?>
|
||||
<?php if ($task['recurrence_status'] == \Kanboard\Model\TaskModel::RECURRING_STATUS_PENDING): ?>
|
||||
<span title="<?= t('Recurrence') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'recurrence', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-refresh fa-rotate-90"></i></span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($task['nb_subtasks'])): ?>
|
||||
<span title="<?= t('Sub-Tasks') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'subtasks', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-bars"></i> <?= round($task['nb_completed_subtasks']/$task['nb_subtasks']*100, 0).'%' ?></span>
|
||||
<?php endif ?>
|
||||
<?php if ($task['recurrence_status'] == \Kanboard\Model\TaskModel::RECURRING_STATUS_PROCESSED): ?>
|
||||
<span title="<?= t('Recurrence') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'recurrence', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-refresh fa-rotate-90 fa-inverse"></i></span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($task['nb_files'])): ?>
|
||||
<span title="<?= t('Attachments') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'attachments', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-paperclip"></i> <?= $task['nb_files'] ?></span>
|
||||
<?php endif ?>
|
||||
<?php if (! empty($task['nb_links'])): ?>
|
||||
<span title="<?= t('Links') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'tasklinks', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-code-fork fa-fw"></i><?= $task['nb_links'] ?></span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($task['nb_comments'])): ?>
|
||||
<span title="<?= $task['nb_comments'] == 1 ? t('%d comment', $task['nb_comments']) : t('%d comments', $task['nb_comments']) ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'comments', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-comment-o"></i> <?= $task['nb_comments'] ?></span>
|
||||
<?php endif ?>
|
||||
<?php if (! empty($task['nb_external_links'])): ?>
|
||||
<span title="<?= t('External links') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'externallinks', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-external-link fa-fw"></i><?= $task['nb_external_links'] ?></span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($task['description'])): ?>
|
||||
<span title="<?= t('Description') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'description', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>">
|
||||
<i class="fa fa-file-text-o"></i>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! empty($task['nb_subtasks'])): ?>
|
||||
<span title="<?= t('Sub-Tasks') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'subtasks', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-bars"></i> <?= round($task['nb_completed_subtasks']/$task['nb_subtasks']*100, 0).'%' ?></span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($task['time_estimated']) || ! empty($task['time_spent'])): ?>
|
||||
<span class="task-time-estimated" title="<?= t('Time spent and estimated') ?>">
|
||||
<?= $this->text->e($task['time_spent']) ?>/<?= $this->text->e($task['time_estimated']) ?>h
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! empty($task['nb_files'])): ?>
|
||||
<span title="<?= t('Attachments') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'attachments', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-paperclip"></i> <?= $task['nb_files'] ?></span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($task['is_milestone'] == 1): ?>
|
||||
<span title="<?= t('Milestone') ?>">
|
||||
<i class="fa fa-flag flag-milestone"></i>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! empty($task['nb_comments'])): ?>
|
||||
<span title="<?= $task['nb_comments'] == 1 ? t('%d comment', $task['nb_comments']) : t('%d comments', $task['nb_comments']) ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'comments', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>"><i class="fa fa-comment-o"></i> <?= $task['nb_comments'] ?></span>
|
||||
<?php endif ?>
|
||||
|
||||
<?= $this->hook->render('template:board:task:icons', array('task' => $task)) ?>
|
||||
<?php if (! empty($task['description'])): ?>
|
||||
<span title="<?= t('Description') ?>" class="tooltip" data-href="<?= $this->url->href('BoardTooltipController', 'description', array('task_id' => $task['id'], 'project_id' => $task['project_id'])) ?>">
|
||||
<i class="fa fa-file-text-o"></i>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
<?= $this->task->formatPriority($project, $task) ?>
|
||||
<?php if ($task['is_active'] == 1): ?>
|
||||
<div class="task-board-age">
|
||||
<span title="<?= t('Task age in days')?>" class="task-board-age-total"><?= $this->dt->age($task['date_creation']) ?></span>
|
||||
<span title="<?= t('Days in this column')?>" class="task-board-age-column"><?= $this->dt->age($task['date_moved']) ?></span>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<span class="task-board-closed"><i class="fa fa-ban fa-fw"></i><?= t('Closed') ?></span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($task['is_active'] == 1): ?>
|
||||
<div class="task-board-age">
|
||||
<span title="<?= t('Task age in days')?>" class="task-board-age-total"><?= $this->dt->age($task['date_creation']) ?></span>
|
||||
<span title="<?= t('Days in this column')?>" class="task-board-age-column"><?= $this->dt->age($task['date_moved']) ?></span>
|
||||
</div>
|
||||
<?php else: ?>
|
||||
<span class="task-board-closed"><i class="fa fa-ban fa-fw"></i><?= t('Closed') ?></span>
|
||||
<?php endif ?>
|
||||
<?= $this->task->formatPriority($project, $task) ?>
|
||||
|
||||
<?= $this->hook->render('template:board:task:icons', array('task' => $task)) ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?= $this->hook->render('template:board:task:footer', array('task' => $task)) ?>
|
||||
|
|
|
|||
|
|
@ -32,20 +32,21 @@
|
|||
</div>
|
||||
<?php else: ?>
|
||||
<div class="task-board-expanded">
|
||||
<div class="task-board-saving-icon" style="display: none;"><i class="fa fa-spinner fa-pulse fa-2x"></i></div>
|
||||
<?php if ($this->user->hasProjectAccess('TaskModificationController', 'edit', $task['project_id'])): ?>
|
||||
<?= $this->render('task/dropdown', array('task' => $task)) ?>
|
||||
<?php else: ?>
|
||||
<strong><?= '#'.$task['id'] ?></strong>
|
||||
<?php endif ?>
|
||||
<div class="task-board-header">
|
||||
<?php if ($this->user->hasProjectAccess('TaskModificationController', 'edit', $task['project_id'])): ?>
|
||||
<?= $this->render('task/dropdown', array('task' => $task)) ?>
|
||||
<?php else: ?>
|
||||
<strong><?= '#'.$task['id'] ?></strong>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($task['reference']): ?>
|
||||
<span class="task-board-reference" title="<?= t('Reference') ?>">
|
||||
(<?= $task['reference'] ?>)
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! empty($task['owner_id'])): ?>
|
||||
<span class="task-board-assignee">
|
||||
<?= $this->text->e($task['assignee_name'] ?: $task['assignee_username']) ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
<?= $this->render('board/task_avatar', array('task' => $task)) ?>
|
||||
<?= $this->render('board/task_avatar', array('task' => $task)) ?>
|
||||
</div>
|
||||
|
||||
<?= $this->hook->render('template:board:private:task:before-title', array('task' => $task)) ?>
|
||||
<div class="task-board-title">
|
||||
|
|
@ -53,6 +54,8 @@
|
|||
</div>
|
||||
<?= $this->hook->render('template:board:private:task:after-title', array('task' => $task)) ?>
|
||||
|
||||
<div class="task-board-saving-icon" style="display: none;"><i class="fa fa-spinner fa-pulse fa-2x"></i></div>
|
||||
|
||||
<?= $this->render('board/task_footer', array(
|
||||
'task' => $task,
|
||||
'not_editable' => $not_editable,
|
||||
|
|
|
|||
|
|
@ -1,14 +1,15 @@
|
|||
<div class="task-board color-<?= $task['color_id'] ?> <?= $task['date_modification'] > time() - $board_highlight_period ? 'task-board-recent' : '' ?>">
|
||||
<div class="task-board-header">
|
||||
<?= $this->url->link('#'.$task['id'], 'TaskViewController', 'readonly', array('task_id' => $task['id'], 'token' => $project['token'])) ?>
|
||||
|
||||
<?= $this->url->link('#'.$task['id'], 'TaskViewController', 'readonly', array('task_id' => $task['id'], 'token' => $project['token'])) ?>
|
||||
<?php if (! empty($task['owner_id'])): ?>
|
||||
<span class="task-board-assignee">
|
||||
<?= $this->text->e($task['assignee_name'] ?: $task['assignee_username']) ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if ($task['reference']): ?>
|
||||
<span class="task-board-reference" title="<?= t('Reference') ?>">
|
||||
(<?= $task['reference'] ?>)
|
||||
</span>
|
||||
<?php endif ?>
|
||||
|
||||
<?= $this->render('board/task_avatar', array('task' => $task)) ?>
|
||||
<?= $this->render('board/task_avatar', array('task' => $task)) ?>
|
||||
</div>
|
||||
|
||||
<?= $this->hook->render('template:board:public:task:before-title', array('task' => $task)) ?>
|
||||
<div class="task-board-title">
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -7,6 +7,7 @@
|
|||
padding: 2px
|
||||
word-wrap: break-word
|
||||
font-size: size('compact')
|
||||
border-radius: 6px
|
||||
|
||||
div
|
||||
&.task-board-recent
|
||||
|
|
@ -21,8 +22,6 @@ div
|
|||
text-decoration: none
|
||||
.dropdown-menu
|
||||
font-weight: bold
|
||||
.task-score
|
||||
font-weight: bold
|
||||
|
||||
.task-board-collapsed
|
||||
overflow: hidden
|
||||
|
|
|
|||
|
|
@ -2,16 +2,19 @@
|
|||
|
||||
.task-board-icons
|
||||
font-size: size('small')
|
||||
margin-top: 7px
|
||||
text-align: right
|
||||
margin-top: 4px
|
||||
margin-bottom: 2px
|
||||
a
|
||||
opacity: 0.5
|
||||
span
|
||||
opacity: 0.5
|
||||
margin-left: 2px
|
||||
margin-left: 4px
|
||||
a:hover, span:hover
|
||||
opacity: 1.0
|
||||
.task-board-icons-row
|
||||
line-height: 22px
|
||||
.task-score
|
||||
font-weight: 500
|
||||
|
||||
.flag-milestone
|
||||
color: green
|
||||
|
|
|
|||
Loading…
Reference in New Issue