Support for Rich Text Input (#630)
* Support for Rich Text Input * rich text support for prefilled * apply Purify for rich_text --------- Co-authored-by: Julien Nahum <julien@nahum.net>
This commit is contained in:
parent
e2c6af69e6
commit
13c40f6e54
|
|
@ -14,6 +14,7 @@ use Illuminate\Foundation\Http\FormRequest;
|
|||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Validation\Rule;
|
||||
use Stevebauman\Purify\Facades\Purify;
|
||||
|
||||
class AnswerFormRequest extends FormRequest
|
||||
{
|
||||
|
|
@ -175,6 +176,7 @@ class AnswerFormRequest extends FormRequest
|
|||
{
|
||||
switch ($property['type']) {
|
||||
case 'text':
|
||||
case 'rich_text':
|
||||
case 'signature':
|
||||
return ['string'];
|
||||
case 'number':
|
||||
|
|
@ -282,6 +284,10 @@ class AnswerFormRequest extends FormRequest
|
|||
if ($property['type'] === 'phone_number' && (!isset($property['use_simple_text_input']) || !$property['use_simple_text_input']) && $receivedValue && in_array($receivedValue, $countryCodeMapper)) {
|
||||
$mergeData[$property['id']] = null;
|
||||
}
|
||||
|
||||
if ($property['type'] === 'rich_text' && $receivedValue) {
|
||||
$mergeData[$property['id']] = Purify::clean($receivedValue);
|
||||
}
|
||||
});
|
||||
|
||||
$this->merge($mergeData);
|
||||
|
|
|
|||
|
|
@ -210,6 +210,7 @@ export default {
|
|||
}
|
||||
return {
|
||||
text: 'TextInput',
|
||||
rich_text: 'RichTextAreaInput',
|
||||
number: 'TextInput',
|
||||
rating: 'RatingInput',
|
||||
scale: 'ScaleInput',
|
||||
|
|
|
|||
|
|
@ -448,8 +448,15 @@
|
|||
:multiple="field.multiple === true"
|
||||
:move-to-form-assets="true"
|
||||
/>
|
||||
<rich-text-area-input
|
||||
v-else-if="field.type === 'rich_text'"
|
||||
name="prefill"
|
||||
class="mt-3"
|
||||
:form="field"
|
||||
label="Pre-filled value"
|
||||
/>
|
||||
<text-input
|
||||
v-else-if="!['files', 'signature'].includes(field.type)"
|
||||
v-else-if="!['files', 'signature', 'rich_text'].includes(field.type)"
|
||||
name="prefill"
|
||||
class="mt-3"
|
||||
:form="field"
|
||||
|
|
|
|||
|
|
@ -193,6 +193,7 @@ export default {
|
|||
rafId: null,
|
||||
fieldComponents: {
|
||||
text: shallowRef(OpenText),
|
||||
rich_text: shallowRef(OpenText),
|
||||
number: shallowRef(OpenText),
|
||||
rating: shallowRef(OpenText),
|
||||
scale: shallowRef(OpenText),
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
<template>
|
||||
<span>
|
||||
{{ value }}
|
||||
</span>
|
||||
<div v-html="value" />
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,15 @@
|
|||
"text_class": "text-blue-900",
|
||||
"is_input": true
|
||||
},
|
||||
"rich_text": {
|
||||
"name": "rich_text",
|
||||
"title": "Rich Text Input",
|
||||
"icon": "i-heroicons-bars-3-20-solid",
|
||||
"default_block_name": "Description",
|
||||
"bg_class": "bg-blue-100",
|
||||
"text_class": "text-blue-900",
|
||||
"is_input": true
|
||||
},
|
||||
"date": {
|
||||
"name": "date",
|
||||
"title": "Date Input",
|
||||
|
|
|
|||
Loading…
Reference in New Issue