diff options
Diffstat (limited to 'app/assets/javascripts/static_site_editor/components/edit_area.vue')
-rw-r--r-- | app/assets/javascripts/static_site_editor/components/edit_area.vue | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/app/assets/javascripts/static_site_editor/components/edit_area.vue b/app/assets/javascripts/static_site_editor/components/edit_area.vue index b052c211542..84a16f327d9 100644 --- a/app/assets/javascripts/static_site_editor/components/edit_area.vue +++ b/app/assets/javascripts/static_site_editor/components/edit_area.vue @@ -5,6 +5,8 @@ import EditHeader from './edit_header.vue'; import UnsavedChangesConfirmDialog from './unsaved_changes_confirm_dialog.vue'; import parseSourceFile from '~/static_site_editor/services/parse_source_file'; import { EDITOR_TYPES } from '~/vue_shared/components/rich_content_editor/constants'; +import { DEFAULT_IMAGE_UPLOAD_PATH } from '../constants'; +import imageRepository from '../image_repository'; export default { components: { @@ -31,6 +33,12 @@ export default { required: false, default: '', }, + imageRoot: { + type: String, + required: false, + default: DEFAULT_IMAGE_UPLOAD_PATH, + validator: prop => prop.endsWith('/'), + }, }, data() { return { @@ -40,6 +48,7 @@ export default { isModified: false, }; }, + imageRepository: imageRepository(), computed: { editableContent() { return this.parsedSource.content(this.isWysiwygMode); @@ -57,8 +66,14 @@ export default { this.editorMode = mode; this.$refs.editor.resetInitialValue(this.editableContent); }, + onUploadImage({ file, imageUrl }) { + this.$options.imageRepository.add(file, imageUrl); + }, onSubmit() { - this.$emit('submit', { content: this.parsedSource.content() }); + this.$emit('submit', { + content: this.parsedSource.content(), + images: this.$options.imageRepository.getAll(), + }); }, }, }; @@ -70,9 +85,11 @@ export default { ref="editor" :content="editableContent" :initial-edit-type="editorMode" + :image-root="imageRoot" class="mb-9 h-100" @modeChange="onModeChange" @input="onInputChange" + @uploadImage="onUploadImage" /> <unsaved-changes-confirm-dialog :modified="isModified" /> <publish-toolbar |