Use Ajax request for Markdown preview
This remove dependency on a Javascript library.
This commit is contained in:
committed by
GitHub
parent
6a0b6a8672
commit
0ede384cda
@@ -66,8 +66,6 @@ class JsCommand extends BaseCommand
|
||||
'assets/vendor/d3/d3.min.js',
|
||||
'assets/vendor/c3/c3.min.js',
|
||||
'assets/vendor/isMobile/isMobile.min.js',
|
||||
'assets/vendor/marked/marked.min.js',
|
||||
'assets/vendor/dompurify/purify.min.js',
|
||||
];
|
||||
|
||||
protected function configure()
|
||||
|
||||
@@ -9,6 +9,7 @@ use Kanboard\Filter\TaskStartsWithIdFilter;
|
||||
use Kanboard\Filter\TaskStatusFilter;
|
||||
use Kanboard\Filter\TaskTitleFilter;
|
||||
use Kanboard\Model\TaskModel;
|
||||
use Kanboard\Helper\TextHelper;
|
||||
|
||||
/**
|
||||
* Task Ajax Controller
|
||||
@@ -67,4 +68,21 @@ class TaskAjaxController extends BaseController
|
||||
$this->response->json($filter->format($this->taskSuggestMenuFormatter));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Task edit preview
|
||||
*/
|
||||
public function preview()
|
||||
{
|
||||
$text = $this->request->getRawValue('text');
|
||||
|
||||
if (empty($text)) {
|
||||
$this->response->json(array());
|
||||
} else {
|
||||
$textHelper = new TextHelper($this->container);
|
||||
$preview = $textHelper->markdown($text);
|
||||
$this->response->json(array($preview));
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -233,6 +233,7 @@ class FormHelper extends Base
|
||||
'required' => isset($attributes['required']) && $attributes['required'],
|
||||
'tabindex' => isset($attributes['tabindex']) ? $attributes['tabindex'] : '-1',
|
||||
'labelPreview' => t('Preview'),
|
||||
'previewUrl' => $this->helper->url->to('TaskAjaxController', 'preview'),
|
||||
'labelWrite' => t('Write'),
|
||||
'labelTitle' => t('Title'),
|
||||
'placeholder' => t('Write your text in Markdown'),
|
||||
|
||||
Reference in New Issue
Block a user