summaryrefslogtreecommitdiff
path: root/app/Helper
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/Helper
parent527a1677a0578e479302e1f80b127e177ed915e9 (diff)
Replace SimpleMDE with custom Markdown editor
Diffstat (limited to 'app/Helper')
-rw-r--r--app/Helper/FormHelper.php38
-rw-r--r--app/Helper/TaskHelper.php15
2 files changed, 39 insertions, 14 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;
}