summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2016-11-13 22:51:59 -0500
committerFrederic Guillot <fred@kanboard.net>2016-11-13 22:51:59 -0500
commitebb6b2827d0496303852f524a551592295dd0040 (patch)
treea3e6dff7036ba83e436941b0b0e96c89311eb0f8 /app
parent527a1677a0578e479302e1f80b127e177ed915e9 (diff)
Replace SimpleMDE with custom Markdown editor
Diffstat (limited to 'app')
-rw-r--r--app/Helper/FormHelper.php38
-rw-r--r--app/Helper/TaskHelper.php15
-rw-r--r--app/Template/category/edit.php2
-rw-r--r--app/Template/column/create.php2
-rw-r--r--app/Template/column/edit.php2
-rw-r--r--app/Template/comment/create.php15
-rw-r--r--app/Template/comment/edit.php11
-rw-r--r--app/Template/comments/create.php15
-rw-r--r--app/Template/project_edit/description.php2
-rw-r--r--app/Template/swimlane/create.php2
-rw-r--r--app/Template/swimlane/edit.php2
11 files changed, 48 insertions, 58 deletions
diff --git a/app/Helper/FormHelper.php b/app/Helper/FormHelper.php
index eca1f317..6d915526 100644
--- a/app/Helper/FormHelper.php
+++ b/app/Helper/FormHelper.php
@@ -182,6 +182,44 @@ class FormHelper extends Base
}
/**
+ * Display a markdown editor
+ *
+ * @access public
+ * @param string $name Field name
+ * @param array $values Form values
+ * @param array $errors Form errors
+ * @param array $attributes
+ * @return string
+ */
+ public function textEditor($name, $values = array(), array $errors = array(), array $attributes = array())
+ {
+ if (! isset($attributes['css'])) {
+ $attributes['css'] = '';
+ }
+
+ $attrHtml = '';
+ $attributes['css'] .= $this->errorClass($errors, $name);
+
+ foreach ($attributes as $attribute => $value) {
+ $attrHtml .= sprintf(' %s="%s"', $attribute, $value);
+ }
+
+ $html = sprintf(
+ '<texteditor name="%s" text="%s" label-preview="%s" label-write="%s" placeholder="%s" %s></texteditor>',
+ $name,
+ isset($values[$name]) ? $this->helper->text->e($values[$name]) : '',
+ t('Preview'),
+ t('Write'),
+ t('Write your text in Markdown'),
+ $attrHtml
+ );
+
+ $html .= $this->errorList($errors, $name);
+
+ return $html;
+ }
+
+ /**
* Display file field
*
* @access public
diff --git a/app/Helper/TaskHelper.php b/app/Helper/TaskHelper.php
index 1dce7c54..92a9228c 100644
--- a/app/Helper/TaskHelper.php
+++ b/app/Helper/TaskHelper.php
@@ -50,20 +50,7 @@ class TaskHelper extends Base
public function selectDescription(array $values, array $errors)
{
$html = $this->helper->form->label(t('Description'), 'description');
- $html .= '<div class="markdown-editor-container">';
- $html .= $this->helper->form->textarea(
- 'description',
- $values,
- $errors,
- array(
- 'placeholder="'.t('Leave a description').'"',
- 'tabindex="2"',
- 'data-mention-search-url="'.$this->helper->url->href('UserAjaxController', 'mention', array('project_id' => $values['project_id'])).'"'
- ),
- 'markdown-editor'
- );
-
- $html .= '</div>';
+ $html .= $this->helper->form->textEditor('description', $values, $errors, array('tabindex' => 2));
return $html;
}
diff --git a/app/Template/category/edit.php b/app/Template/category/edit.php
index fac56db3..72fd40de 100644
--- a/app/Template/category/edit.php
+++ b/app/Template/category/edit.php
@@ -13,7 +13,7 @@
<?= $this->form->text('name', $values, $errors, array('autofocus', 'required', 'maxlength="50"')) ?>
<?= $this->form->label(t('Description'), 'description') ?>
- <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
+ <?= $this->form->textEditor('description', $values, $errors) ?>
<div class="form-actions">
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
diff --git a/app/Template/column/create.php b/app/Template/column/create.php
index 812e9139..71c94062 100644
--- a/app/Template/column/create.php
+++ b/app/Template/column/create.php
@@ -16,7 +16,7 @@
<?= $this->form->checkbox('hide_in_dashboard', t('Hide tasks in this column in the dashboard'), 1) ?>
<?= $this->form->label(t('Description'), 'description') ?>
- <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
+ <?= $this->form->textEditor('description', $values, $errors) ?>
<div class="form-actions">
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
diff --git a/app/Template/column/edit.php b/app/Template/column/edit.php
index 89487298..a72a5c84 100644
--- a/app/Template/column/edit.php
+++ b/app/Template/column/edit.php
@@ -18,7 +18,7 @@
<?= $this->form->checkbox('hide_in_dashboard', t('Hide tasks in this column in the dashboard'), 1, $values['hide_in_dashboard'] == 1) ?>
<?= $this->form->label(t('Description'), 'description') ?>
- <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
+ <?= $this->form->textEditor('description', $values, $errors) ?>
<div class="form-actions">
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
diff --git a/app/Template/comment/create.php b/app/Template/comment/create.php
index 0358107a..02cb48eb 100644
--- a/app/Template/comment/create.php
+++ b/app/Template/comment/create.php
@@ -6,20 +6,7 @@
<?= $this->form->hidden('task_id', $values) ?>
<?= $this->form->hidden('user_id', $values) ?>
- <div class="markdown-editor-small">
- <?= $this->form->textarea(
- 'comment',
- $values,
- $errors,
- array(
- 'autofocus',
- 'required',
- 'placeholder="'.t('Leave a comment').'"',
- 'data-mention-search-url="'.$this->url->href('UserAjaxController', 'mention', array('project_id' => $task['project_id'])).'"',
- ),
- 'markdown-editor'
- ) ?>
- </div>
+ <?= $this->form->textEditor('comment', $values, $errors, array('autofocus' => true, 'required' => true)) ?>
<div class="form-actions">
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
diff --git a/app/Template/comment/edit.php b/app/Template/comment/edit.php
index f69fc0c1..f295c8a7 100644
--- a/app/Template/comment/edit.php
+++ b/app/Template/comment/edit.php
@@ -3,21 +3,12 @@
</div>
<form class="popover-form" method="post" action="<?= $this->url->href('CommentController', 'update', array('task_id' => $task['id'], 'project_id' => $task['project_id'], 'comment_id' => $comment['id'])) ?>" autocomplete="off">
-
<?= $this->form->csrf() ?>
<?= $this->form->hidden('id', $values) ?>
<?= $this->form->hidden('task_id', $values) ?>
<?= $this->form->hidden('user_id', $values) ?>
- <div class="markdown-editor-small">
- <?= $this->form->textarea(
- 'comment',
- $values,
- $errors,
- array('autofocus', 'required', 'placeholder="'.t('Leave a comment').'"'),
- 'markdown-editor'
- ) ?>
- </div>
+ <?= $this->form->textEditor('comment', $values, $errors, array('autofocus' => true, 'required' => true)) ?>
<div class="form-actions">
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
diff --git a/app/Template/comments/create.php b/app/Template/comments/create.php
index 3fa6ddc0..06173575 100644
--- a/app/Template/comments/create.php
+++ b/app/Template/comments/create.php
@@ -3,20 +3,7 @@
<?= $this->form->hidden('task_id', $values) ?>
<?= $this->form->hidden('user_id', $values) ?>
- <div class="markdown-editor-small">
- <?= $this->form->textarea(
- 'comment',
- $values,
- $errors,
- array(
- 'data-markdown-editor-disable-toolbar="true"',
- 'required',
- 'placeholder="'.t('Leave a comment').'"',
- 'data-mention-search-url="'.$this->url->href('UserAjaxController', 'mention', array('project_id' => $task['project_id'])).'"',
- ),
- 'markdown-editor'
- ) ?>
- </div>
+ <?= $this->form->textEditor('comment', $values, $errors, array('required' => true)) ?>
<div class="form-actions">
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
diff --git a/app/Template/project_edit/description.php b/app/Template/project_edit/description.php
index f7e7be46..586ddfcb 100644
--- a/app/Template/project_edit/description.php
+++ b/app/Template/project_edit/description.php
@@ -11,7 +11,7 @@
<?= $this->form->csrf() ?>
<?= $this->form->hidden('id', $values) ?>
<?= $this->form->hidden('name', $values) ?>
- <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
+ <?= $this->form->textEditor('description', $values, $errors, array('autofocus' => true)) ?>
<div class="form-actions">
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
diff --git a/app/Template/swimlane/create.php b/app/Template/swimlane/create.php
index f5aa1591..0eb25411 100644
--- a/app/Template/swimlane/create.php
+++ b/app/Template/swimlane/create.php
@@ -10,7 +10,7 @@
<?= $this->form->text('name', $values, $errors, array('autofocus', 'required', 'maxlength="50"')) ?>
<?= $this->form->label(t('Description'), 'description') ?>
- <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
+ <?= $this->form->textEditor('description', $values, $errors) ?>
<div class="form-actions">
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>
diff --git a/app/Template/swimlane/edit.php b/app/Template/swimlane/edit.php
index b10cdd52..2cbabb60 100644
--- a/app/Template/swimlane/edit.php
+++ b/app/Template/swimlane/edit.php
@@ -13,7 +13,7 @@
<?= $this->form->text('name', $values, $errors, array('autofocus', 'required', 'maxlength="50"')) ?>
<?= $this->form->label(t('Description'), 'description') ?>
- <?= $this->form->textarea('description', $values, $errors, array(), 'markdown-editor') ?>
+ <?= $this->form->textEditor('description', $values, $errors) ?>
<div class="form-actions">
<button type="submit" class="btn btn-blue"><?= t('Save') ?></button>