mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-07-28 17:02:04 +03:00
Service provider and other cleanup
- Removed old 'exposeTranslations' system to instead use new component option system. - Extracted validation rules into their own service provider. - Cleaned up some formatting/comments in the repos.
This commit is contained in:
@ -13,6 +13,7 @@ class MarkdownEditor {
|
||||
|
||||
this.pageId = this.$opts.pageId;
|
||||
this.textDirection = this.$opts.textDirection;
|
||||
this.imageUploadErrorText = this.$opts.imageUploadErrorText;
|
||||
|
||||
this.markdown = new MarkdownIt({html: true});
|
||||
this.markdown.use(mdTasksLists, {label: true});
|
||||
@ -373,7 +374,7 @@ class MarkdownEditor {
|
||||
const newContent = `[](${resp.data.url})`;
|
||||
replaceContent(placeHolderText, newContent);
|
||||
}).catch(err => {
|
||||
window.$events.emit('error', trans('errors.image_upload_error'));
|
||||
window.$events.emit('error', context.imageUploadErrorText);
|
||||
replaceContent(placeHolderText, selectedText);
|
||||
console.log(err);
|
||||
});
|
||||
@ -492,7 +493,7 @@ class MarkdownEditor {
|
||||
this.cm.focus();
|
||||
DrawIO.close();
|
||||
}).catch(err => {
|
||||
window.$events.emit('error', trans('errors.image_upload_error'));
|
||||
window.$events.emit('error', this.imageUploadErrorText);
|
||||
console.log(err);
|
||||
});
|
||||
});
|
||||
|
@ -38,7 +38,7 @@ function editorPaste(event, editor, wysiwygComponent) {
|
||||
editor.dom.replace(newEl, id);
|
||||
}).catch(err => {
|
||||
editor.dom.remove(id);
|
||||
window.$events.emit('error', trans('errors.image_upload_error'));
|
||||
window.$events.emit('error', wysiwygComponent.imageUploadErrorText);
|
||||
console.log(err);
|
||||
});
|
||||
}, 10);
|
||||
@ -236,7 +236,7 @@ function codePlugin() {
|
||||
});
|
||||
}
|
||||
|
||||
function drawIoPlugin(drawioUrl, isDarkMode, pageId) {
|
||||
function drawIoPlugin(drawioUrl, isDarkMode, pageId, wysiwygComponent) {
|
||||
|
||||
let pageEditor = null;
|
||||
let currentNode = null;
|
||||
@ -280,7 +280,7 @@ function drawIoPlugin(drawioUrl, isDarkMode, pageId) {
|
||||
pageEditor.dom.setAttrib(imgElem, 'src', img.url);
|
||||
pageEditor.dom.setAttrib(currentNode, 'drawio-diagram', img.id);
|
||||
} catch (err) {
|
||||
window.$events.emit('error', trans('errors.image_upload_error'));
|
||||
window.$events.emit('error', wysiwygComponent.imageUploadErrorText);
|
||||
console.log(err);
|
||||
}
|
||||
return;
|
||||
@ -295,7 +295,7 @@ function drawIoPlugin(drawioUrl, isDarkMode, pageId) {
|
||||
pageEditor.dom.get(id).parentNode.setAttribute('drawio-diagram', img.id);
|
||||
} catch (err) {
|
||||
pageEditor.dom.remove(id);
|
||||
window.$events.emit('error', trans('errors.image_upload_error'));
|
||||
window.$events.emit('error', wysiwygComponent.imageUploadErrorText);
|
||||
console.log(err);
|
||||
}
|
||||
}, 5);
|
||||
@ -414,12 +414,12 @@ function listenForBookStackEditorEvents(editor) {
|
||||
|
||||
class WysiwygEditor {
|
||||
|
||||
|
||||
setup() {
|
||||
this.elem = this.$el;
|
||||
|
||||
this.pageId = this.$opts.pageId;
|
||||
this.textDirection = this.$opts.textDirection;
|
||||
this.imageUploadErrorText = this.$opts.imageUploadErrorText;
|
||||
this.isDarkMode = document.documentElement.classList.contains('dark-mode');
|
||||
|
||||
this.plugins = "image table textcolor paste link autolink fullscreen code customhr autosave lists codeeditor media";
|
||||
@ -437,7 +437,7 @@ class WysiwygEditor {
|
||||
const drawioUrlElem = document.querySelector('[drawio-url]');
|
||||
if (drawioUrlElem) {
|
||||
const url = drawioUrlElem.getAttribute('drawio-url');
|
||||
drawIoPlugin(url, this.isDarkMode, this.pageId);
|
||||
drawIoPlugin(url, this.isDarkMode, this.pageId, this);
|
||||
this.plugins += ' drawio';
|
||||
}
|
||||
|
||||
|
@ -1,10 +1,8 @@
|
||||
<div id="markdown-editor" component="markdown-editor"
|
||||
option:markdown-editor:page-id="{{ $model->id ?? 0 }}"
|
||||
option:markdown-editor:text-direction="{{ config('app.rtl') ? 'rtl' : 'ltr' }}"
|
||||
option:markdown-editor:image-upload-error-text="{{ trans('errors.image_upload_error') }}"
|
||||
class="flex-fill flex code-fill">
|
||||
@exposeTranslations([
|
||||
'errors.image_upload_error',
|
||||
])
|
||||
|
||||
<div class="markdown-editor-wrap active">
|
||||
<div class="editor-toolbar">
|
||||
|
@ -1,12 +1,9 @@
|
||||
<div component="wysiwyg-editor"
|
||||
option:wysiwyg-editor:page-id="{{ $model->id ?? 0 }}"
|
||||
option:wysiwyg-editor:text-direction="{{ config('app.rtl') ? 'rtl' : 'ltr' }}"
|
||||
option:wysiwyg-editor:image-upload-error-text="{{ trans('errors.image_upload_error') }}"
|
||||
class="flex-fill flex">
|
||||
|
||||
@exposeTranslations([
|
||||
'errors.image_upload_error',
|
||||
])
|
||||
|
||||
<textarea id="html-editor" name="html" rows="5"
|
||||
@if($errors->has('html')) class="text-neg" @endif>@if(isset($model) || old('html')){{ old('html') ? old('html') : $model->html }}@endif</textarea>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user