Add drag and drop to change swimlane positions
This commit is contained in:
37
app/Template/swimlane/create.php
Normal file
37
app/Template/swimlane/create.php
Normal file
@@ -0,0 +1,37 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Add a new swimlane') ?></h2>
|
||||
</div>
|
||||
<form class="popover-form" method="post" action="<?= $this->url->href('swimlane', 'save', array('project_id' => $project['id'])) ?>" autocomplete="off">
|
||||
|
||||
<?= $this->form->csrf() ?>
|
||||
<?= $this->form->hidden('project_id', $values) ?>
|
||||
|
||||
<?= $this->form->label(t('Name'), 'name') ?>
|
||||
<?= $this->form->text('name', $values, $errors, array('autofocus', 'required', 'maxlength="50"')) ?>
|
||||
|
||||
<?= $this->form->label(t('Description'), 'description') ?>
|
||||
|
||||
<div class="form-tabs">
|
||||
<div class="write-area">
|
||||
<?= $this->form->textarea('description', $values, $errors) ?>
|
||||
</div>
|
||||
<div class="preview-area">
|
||||
<div class="markdown"></div>
|
||||
</div>
|
||||
<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>
|
||||
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
|
||||
|
||||
<div class="form-actions">
|
||||
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue">
|
||||
<?= t('or') ?>
|
||||
<?= $this->url->link(t('cancel'), 'Swimlane', 'index', array('project_id' => $project['id']), false, 'close-popover') ?>
|
||||
</div>
|
||||
</form>
|
||||
18
app/Template/swimlane/edit_default.php
Normal file
18
app/Template/swimlane/edit_default.php
Normal file
@@ -0,0 +1,18 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Change default swimlane') ?></h2>
|
||||
</div>
|
||||
<form class="popover-form" method="post" action="<?= $this->url->href('swimlane', 'updateDefault', array('project_id' => $project['id'])) ?>" autocomplete="off">
|
||||
<?= $this->form->csrf() ?>
|
||||
<?= $this->form->hidden('id', $values) ?>
|
||||
|
||||
<?= $this->form->label(t('Name'), 'default_swimlane') ?>
|
||||
<?= $this->form->text('default_swimlane', $values, $errors, array('required', 'maxlength="50"')) ?>
|
||||
|
||||
<?= $this->form->checkbox('show_default_swimlane', t('Show default swimlane'), 1, $values['show_default_swimlane'] == 1) ?>
|
||||
|
||||
<div class="form-actions">
|
||||
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue">
|
||||
<?= t('or') ?>
|
||||
<?= $this->url->link(t('cancel'), 'Swimlane', 'index', array('project_id' => $project['id']), false, 'close-popover') ?>
|
||||
</div>
|
||||
</form>
|
||||
@@ -1,71 +1,28 @@
|
||||
<div class="page-header">
|
||||
<h2><?= t('Change default swimlane') ?></h2>
|
||||
<h2><?= t('Swimlanes') ?></h2>
|
||||
<ul>
|
||||
<li>
|
||||
<i class="fa fa-plus fa-fw"></i>
|
||||
<?= $this->url->link(t('Add a new swimlane'), 'Swimlane', 'create', array('project_id' => $project['id']), false, 'popover') ?>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<form method="post" action="<?= $this->url->href('swimlane', 'change', array('project_id' => $project['id'])) ?>" autocomplete="off">
|
||||
|
||||
<?= $this->form->csrf() ?>
|
||||
<?= $this->form->hidden('id', $default_swimlane) ?>
|
||||
|
||||
<?= $this->form->label(t('Rename'), 'default_swimlane') ?>
|
||||
<?= $this->form->text('default_swimlane', $default_swimlane, array(), array('required', 'maxlength="50"')) ?>
|
||||
|
||||
<?php if (! empty($active_swimlanes) || $default_swimlane['show_default_swimlane'] == 0): ?>
|
||||
<?= $this->form->checkbox('show_default_swimlane', t('Show default swimlane'), 1, $default_swimlane['show_default_swimlane'] == 1) ?>
|
||||
<?php else: ?>
|
||||
<?= $this->form->hidden('show_default_swimlane', $default_swimlane) ?>
|
||||
<?php endif ?>
|
||||
|
||||
<div class="form-actions">
|
||||
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue"/>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<?php if (! empty($active_swimlanes)): ?>
|
||||
<div class="page-header">
|
||||
<h2><?= t('Active swimlanes') ?></h2>
|
||||
</div>
|
||||
<?= $this->render('swimlane/table', array('swimlanes' => $active_swimlanes, 'project' => $project)) ?>
|
||||
<?php if (! empty($active_swimlanes) || $default_swimlane['show_default_swimlane'] == 1): ?>
|
||||
<h3><?= t('Active swimlanes') ?></h3>
|
||||
<?= $this->render('swimlane/table', array(
|
||||
'swimlanes' => $active_swimlanes,
|
||||
'project' => $project,
|
||||
'default_swimlane' => $default_swimlane['show_default_swimlane'] == 1 ? $default_swimlane : array()
|
||||
)) ?>
|
||||
<?php endif ?>
|
||||
|
||||
<?php if (! empty($inactive_swimlanes)): ?>
|
||||
<div class="page-header">
|
||||
<h2><?= t('Inactive swimlanes') ?></h2>
|
||||
</div>
|
||||
<?= $this->render('swimlane/table', array('swimlanes' => $inactive_swimlanes, 'project' => $project, 'hide_position' => true)) ?>
|
||||
<?php if (! empty($inactive_swimlanes) || $default_swimlane['show_default_swimlane'] == 0): ?>
|
||||
<h3><?= t('Inactive swimlanes') ?></h3>
|
||||
<?= $this->render('swimlane/table', array(
|
||||
'swimlanes' => $inactive_swimlanes,
|
||||
'project' => $project,
|
||||
'default_swimlane' => $default_swimlane['show_default_swimlane'] == 0 ? $default_swimlane : array(),
|
||||
'disable_handler' => true
|
||||
)) ?>
|
||||
<?php endif ?>
|
||||
|
||||
<div class="page-header">
|
||||
<h2><?= t('Add a new swimlane') ?></h2>
|
||||
</div>
|
||||
<form method="post" action="<?= $this->url->href('swimlane', 'save', array('project_id' => $project['id'])) ?>" autocomplete="off">
|
||||
|
||||
<?= $this->form->csrf() ?>
|
||||
<?= $this->form->hidden('project_id', $values) ?>
|
||||
|
||||
<?= $this->form->label(t('Name'), 'name') ?>
|
||||
<?= $this->form->text('name', $values, $errors, array('required', 'maxlength="50"')) ?>
|
||||
|
||||
<?= $this->form->label(t('Description'), 'description') ?>
|
||||
|
||||
<div class="form-tabs">
|
||||
<div class="write-area">
|
||||
<?= $this->form->textarea('description', $values, $errors) ?>
|
||||
</div>
|
||||
<div class="preview-area">
|
||||
<div class="markdown"></div>
|
||||
</div>
|
||||
<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>
|
||||
<div class="form-help"><?= $this->url->doc(t('Write your text in Markdown'), 'syntax-guide') ?></div>
|
||||
|
||||
<div class="form-actions">
|
||||
<input type="submit" value="<?= t('Save') ?>" class="btn btn-blue">
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -1,47 +1,76 @@
|
||||
<table>
|
||||
<tr>
|
||||
<?php if (! isset($hide_position)): ?>
|
||||
<th class="column-10"><?= t('Position') ?></th>
|
||||
<?php endif ?>
|
||||
<th><?= t('Name') ?></th>
|
||||
<th class="column-8"><?= t('Actions') ?></th>
|
||||
</tr>
|
||||
<?php foreach ($swimlanes as $swimlane): ?>
|
||||
<tr>
|
||||
<?php if (! isset($hide_position)): ?>
|
||||
<td>#<?= $swimlane['position'] ?></td>
|
||||
<?php endif ?>
|
||||
<td><?= $this->e($swimlane['name']) ?></td>
|
||||
<td>
|
||||
<div class="dropdown">
|
||||
<a href="#" class="dropdown-menu dropdown-menu-link-icon"><i class="fa fa-cog fa-fw"></i><i class="fa fa-caret-down"></i></a>
|
||||
<ul>
|
||||
<?php if ($swimlane['position'] != 0 && $swimlane['position'] != 1): ?>
|
||||
<li>
|
||||
<?= $this->url->link(t('Move Up'), 'swimlane', 'moveup', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?>
|
||||
</li>
|
||||
<table
|
||||
class="swimlanes-table table-stripped"
|
||||
data-save-position-url="<?= $this->url->href('Swimlane', 'move', array('project_id' => $project['id'])) ?>">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><?= t('Name') ?></th>
|
||||
<th class="column-8"><?= t('Actions') ?></th>
|
||||
</tr>
|
||||
|
||||
<?php if (! empty($default_swimlane)): ?>
|
||||
<tr>
|
||||
<td>
|
||||
<?= $this->e($default_swimlane['default_swimlane']) ?>
|
||||
<?php if ($default_swimlane['default_swimlane'] !== t('Default swimlane')): ?>
|
||||
(<?= t('Default swimlane') ?>)
|
||||
<?php endif ?>
|
||||
<?php if ($swimlane['position'] != 0 && $swimlane['position'] != count($swimlanes)): ?>
|
||||
</td>
|
||||
<td>
|
||||
<div class="dropdown">
|
||||
<a href="#" class="dropdown-menu dropdown-menu-link-icon"><i class="fa fa-cog fa-fw"></i><i class="fa fa-caret-down"></i></a>
|
||||
<ul>
|
||||
<li>
|
||||
<?= $this->url->link(t('Move Down'), 'swimlane', 'movedown', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?>
|
||||
<?= $this->url->link(t('Edit'), 'Swimlane', 'editDefault', array('project_id' => $project['id']), false, 'popover') ?>
|
||||
</li>
|
||||
<li>
|
||||
<?php if ($default_swimlane['show_default_swimlane'] == 1): ?>
|
||||
<?= $this->url->link(t('Disable'), 'Swimlane', 'disableDefault', array('project_id' => $project['id']), true) ?>
|
||||
<?php else: ?>
|
||||
<?= $this->url->link(t('Enable'), 'Swimlane', 'enableDefault', array('project_id' => $project['id']), true) ?>
|
||||
<?php endif ?>
|
||||
</li>
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif ?>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($swimlanes as $swimlane): ?>
|
||||
<tr data-swimlane-id="<?= $swimlane['id'] ?>">
|
||||
<td>
|
||||
<?php if (! isset($disable_handler)): ?>
|
||||
<i class="fa fa-arrows-alt draggable-row-handle" title="<?= t('Change column position') ?>"></i>
|
||||
<?php endif ?>
|
||||
<li>
|
||||
<?= $this->url->link(t('Edit'), 'swimlane', 'edit', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), false, 'popover') ?>
|
||||
</li>
|
||||
<li>
|
||||
<?php if ($swimlane['is_active']): ?>
|
||||
<?= $this->url->link(t('Disable'), 'swimlane', 'disable', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?>
|
||||
<?php else: ?>
|
||||
<?= $this->url->link(t('Enable'), 'swimlane', 'enable', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?>
|
||||
<?php endif ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= $this->url->link(t('Remove'), 'swimlane', 'confirm', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), false, 'popover') ?>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</table>
|
||||
|
||||
<?= $this->e($swimlane['name']) ?>
|
||||
|
||||
<?php if (! empty($swimlane['description'])): ?>
|
||||
<span class="tooltip" title='<?= $this->e($this->text->markdown($swimlane['description'])) ?>'>
|
||||
<i class="fa fa-info-circle"></i>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td>
|
||||
<div class="dropdown">
|
||||
<a href="#" class="dropdown-menu dropdown-menu-link-icon"><i class="fa fa-cog fa-fw"></i><i class="fa fa-caret-down"></i></a>
|
||||
<ul>
|
||||
<li>
|
||||
<?= $this->url->link(t('Edit'), 'swimlane', 'edit', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), false, 'popover') ?>
|
||||
</li>
|
||||
<li>
|
||||
<?php if ($swimlane['is_active']): ?>
|
||||
<?= $this->url->link(t('Disable'), 'swimlane', 'disable', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?>
|
||||
<?php else: ?>
|
||||
<?= $this->url->link(t('Enable'), 'swimlane', 'enable', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), true) ?>
|
||||
<?php endif ?>
|
||||
</li>
|
||||
<li>
|
||||
<?= $this->url->link(t('Remove'), 'swimlane', 'confirm', array('project_id' => $project['id'], 'swimlane_id' => $swimlane['id']), false, 'popover') ?>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach ?>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Reference in New Issue
Block a user