mirror of
https://gitlab.com/bramw/baserow.git
synced 2024-11-24 16:36:46 +00:00
74 lines
1.5 KiB
Vue
74 lines
1.5 KiB
Vue
<template>
|
|
<Modal
|
|
ref="modal"
|
|
:full-height="true"
|
|
:content-padding="false"
|
|
:right="true"
|
|
@show="show"
|
|
@hidden="$emit('hidden', $event)"
|
|
>
|
|
<template #content>
|
|
<div class="box__title">
|
|
<h2 class="row-modal__title">
|
|
{{ field.name }}
|
|
</h2>
|
|
</div>
|
|
<RichTextEditor
|
|
ref="editor"
|
|
class="rich-text-modal__editor"
|
|
:enable-rich-text-formatting="true"
|
|
:mentionable-users="mentionableUsers"
|
|
:value="value"
|
|
@input="$emit('input', $event)"
|
|
></RichTextEditor>
|
|
</template>
|
|
</Modal>
|
|
</template>
|
|
|
|
<script>
|
|
import RichTextEditor from '@baserow/modules/core/components/editor/RichTextEditor.vue'
|
|
import modal from '@baserow/modules/core/mixins/modal'
|
|
|
|
export default {
|
|
name: 'FieldRichTextModal',
|
|
components: { RichTextEditor },
|
|
mixins: [modal],
|
|
props: {
|
|
field: {
|
|
type: Object,
|
|
required: true,
|
|
},
|
|
value: {
|
|
type: [String, Object],
|
|
required: true,
|
|
},
|
|
mentionableUsers: {
|
|
type: [Array],
|
|
default: () => [],
|
|
},
|
|
},
|
|
watch: {
|
|
value: {
|
|
handler(value) {
|
|
this.richCopy = value || ''
|
|
},
|
|
immediate: true,
|
|
},
|
|
},
|
|
methods: {
|
|
show() {
|
|
this.$nextTick(() => {
|
|
this.$refs.editor.focus()
|
|
})
|
|
},
|
|
isOpen() {
|
|
return this.$refs.modal.isOpen()
|
|
},
|
|
// Used by the parent to serialize the editor content to markdown.
|
|
serializeToMarkdown() {
|
|
return this.$refs.editor.serializeToMarkdown()
|
|
},
|
|
},
|
|
}
|
|
</script>
|