- Markdown supported in column description.

- Project > Edit Board and Project Summary pages now show description as tooltip.
- Project > Edit Board shows textarea with markdown preview. Edit column also shows markdown preview.
- Fixed bug while adding a new column inserts description as column limit.
This commit is contained in:
ashbike 2015-02-09 21:30:08 +05:30 committed by Frederic Guillot
parent 6fbcbfb001
commit 77a307e4ff
9 changed files with 74 additions and 26 deletions

View File

@ -283,7 +283,7 @@ class Board extends Base
if ($valid) {
if ($this->board->addColumn($project['id'], $data['title'],$data['description'])) {
if ($this->board->addColumn($project['id'], $data['title'],$data['task_limit'],$data['description'])) {
$this->session->flash(t('Board updated successfully.'));
$this->response->redirect('?controller=board&action=edit&project_id='.$project['id']);
}

View File

@ -118,7 +118,7 @@ class Board extends Base
$values = array(
'project_id' => $project_id,
'title' => $title,
'task_limit' => $task_limit,
'task_limit' => intval($task_limit),
'position' => $this->getLastColumnPosition($project_id) + 1,
'description' => $description,
);
@ -140,7 +140,7 @@ class Board extends Base
{
return $this->db->table(self::TABLE)->eq('id', $column_id)->update(array(
'title' => $title,
'task_limit' => $task_limit,
'task_limit' => intval($task_limit),
'description' => $description,
));
}

View File

@ -6,16 +6,20 @@
<table>
<tr>
<th><?= t('Column title') ?></th>
<th><?= t('Description') ?></th>
<th><?= t('Task limit') ?></th>
<th><?= t('Actions') ?></th>
</tr>
<?php foreach ($columns as $column): ?>
<tr>
<td class="column-30"><?= $this->e($column['title']) ?></td>
<td><?= $this->e($column['description']) ?></td>
<td class="column-60"><?= $this->e($column['title']) ?>
<?php if (! empty($column['description'])): ?>
<span class="column-tooltip" title="<?= $this->markdown($column['description']) ?>">
<i class="fa fa-info-circle"></i>
</span>
<?php endif ?>
</td>
<td class="column-10"><?= $this->e($column['task_limit']) ?></td>
<td class="column-20">
<td class="column-30">
<ul>
<li>
<?= $this->a(t('Edit'), 'board', 'editColumn', array('project_id' => $project['id'], 'column_id' => $column['id'])) ?>
@ -48,8 +52,28 @@
<?= $this->formLabel(t('Title'), 'title') ?>
<?= $this->formText('title', $values, $errors, array('required', 'maxlength="50"')) ?>
<?= $this->formLabel(t('Task limit'), 'task_limit') ?>
<?= $this->formNumber('task_limit', $values, $errors) ?>
<?= $this->formLabel(t('Description'), 'description') ?>
<?= $this->formTextarea('description', $values, $errors) ?>
<div class="form-tabs">
<ul class="form-tabs-nav">
<li class="form-tab form-tab-selected">
<i class="fa fa-pencil-square-o fa-fw"></i><a id="markdown-write" href="#"><?= t('Write') ?></a>
</li>
<li class="form-tab">
<a id="markdown-preview" href="#"><i class="fa fa-eye fa-fw"></i><?= t('Preview') ?></a>
</li>
</ul>
<div class="write-area">
<?= $this->formTextarea('description', $values, $errors) ?>
</div>
<div class="preview-area">
<div class="markdown"></div>
</div>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-actions">

View File

@ -16,7 +16,24 @@
<?= $this->formNumber('task_limit', $values, $errors) ?>
<?= $this->formLabel(t('Description'), 'description') ?>
<?= $this->formTextarea('description', $values, $errors) ?>
<div class="form-tabs">
<ul class="form-tabs-nav">
<li class="form-tab form-tab-selected">
<i class="fa fa-pencil-square-o fa-fw"></i><a id="markdown-write" href="#"><?= t('Write') ?></a>
</li>
<li class="form-tab">
<a id="markdown-preview" href="#"><i class="fa fa-eye fa-fw"></i><?= t('Preview') ?></a>
</li>
</ul>
<div class="write-area">
<?= $this->formTextarea('description', $values, $errors) ?>
</div>
<div class="preview-area">
<div class="markdown"></div>
</div>
</div>
<div class="form-help"><a href="http://kanboard.net/documentation/syntax-guide" target="_blank" rel="noreferrer"><?= t('Write your text in Markdown') ?></a></div>
<div class="form-actions">
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>

View File

@ -24,13 +24,11 @@
<?= $this->a('+', 'task', 'create', array('project_id' => $column['project_id'], 'column_id' => $column['id'], 'swimlane_id' => $swimlane['id']), false, 'task-creation-popover', t('Add a new task')) ?>
</div>
<?php endif ?>
<?= $this->e($column['title']) ?>
<?php if (! empty($column['description'])): ?>
<span class="column-tooltip" title="<?= $this->e($column['description']) ?>">
<?= $this->e($column['title']) ?>
<span class="column-tooltip pull-right" title="<?= $this->markdown($column['description']) ?>">
<i class="fa fa-info-circle"></i>
</span>
<?php else: ?>
<?= $this->e($column['title']) ?>
<?php endif ?>
<?php if ($column['task_limit']): ?>

View File

@ -41,15 +41,18 @@
</div>
<table class="table-stripped">
<tr>
<th class="column-30"><?= t('Column') ?></th>
<th><?= t('Description') ?></th>
<th class="column-60"><?= t('Column') ?></th>
<th class="column-20"><?= t('Task limit') ?></th>
<th class="column-20"><?= t('Active tasks') ?></th>
</tr>
<?php foreach ($stats['columns'] as $column): ?>
<tr>
<td><?= $this->e($column['title']) ?></td>
<td><?= $this->e($column['description']) ?></td>
<td><?= $this->e($column['title']) ?>
<?php if (! empty($column['description'])): ?>
<span class="column-tooltip" title="<?= $this->markdown($column['description']) ?>">
<i class="fa fa-info-circle"></i>
</span>
<?php endif ?></td>
<td><?= $column['task_limit'] ?: '∞' ?></td>
<td><?= $column['nb_active_tasks'] ?></td>
</tr>

View File

@ -62,4 +62,9 @@ div.ui-tooltip {
.tooltip-large {
width: 550px;
}
}
.column-tooltip {
color: #999;
font-size: 0.95em;
}

View File

@ -187,6 +187,13 @@ var Kanboard = (function() {
Mousetrap.bind("ctrl+enter", function() {
$("form").submit();
});
// Tooltip for column description
$(".column-tooltip").tooltip({
content: function(e) {
return '<div class="markdown">'+$(this).attr("title")+'</div>';
}
});
$.datepicker.setDefaults($.datepicker.regional[$("body").data("js-lang")]);

View File

@ -50,13 +50,6 @@ Kanboard.Board = (function() {
// Description popover
$(".task-description-popover").click(on_popover);
// Tooltip for column description
$(".column-tooltip").tooltip({
content: function(e) {
return $(this).attr("title");
}
});
// Tooltips for tasks
$(".task-board-tooltip").tooltip({
track: false,
@ -279,6 +272,7 @@ Kanboard.Board = (function() {
filter_load_events();
keyboard_shortcuts();
}
});
})();