diff --git a/front/js/svelte/common/Icon.svelte b/front/js/svelte/common/Icon.svelte
index 06cf6f0..66000bc 100644
--- a/front/js/svelte/common/Icon.svelte
+++ b/front/js/svelte/common/Icon.svelte
@@ -113,8 +113,21 @@
path: '',
viewBox: "0 0 24 24",
},
+ "list": {
+ path: '',
+ viewBox: "0 0 24 24",
+ },
+ "ordered-list": {
+ path: '',
+ viewBox: "0 0 24 24",
+ },
+ "italic": {
+ path: '',
+ viewBox: "0 0 24 24",
+ }
};
+
export let width = 16;
export let height = 16;
export let icon = "";
diff --git a/front/js/svelte/libs/Tinymce.svelte b/front/js/svelte/libs/Tinymce.svelte
index 1abe4d1..b6dd49e 100644
--- a/front/js/svelte/libs/Tinymce.svelte
+++ b/front/js/svelte/libs/Tinymce.svelte
@@ -100,8 +100,8 @@
tinymce.init({...config, ...additionalConfig});
});
- export function insertMedia(html){
- activeEditor.execCommand('InsertHTML', false, html);
+ export function insertMedia(info){
+ activeEditor.execCommand('InsertHTML', false, info.html);
}
diff --git a/front/js/svelte/libs/TipTap.svelte b/front/js/svelte/libs/TipTap.svelte
index 5ee9220..2d5a3dc 100644
--- a/front/js/svelte/libs/TipTap.svelte
+++ b/front/js/svelte/libs/TipTap.svelte
@@ -3,9 +3,12 @@
import {Editor} from '@tiptap/core'
import Document from '@tiptap/extension-document'
import Paragraph from '@tiptap/extension-paragraph'
+ import Dropcursor from '@tiptap/extension-dropcursor'
import Text from '@tiptap/extension-text'
import Heading from '@tiptap/extension-heading'
+ import HardBreak from '@tiptap/extension-hard-break'
import Blockquote from '@tiptap/extension-blockquote';
+ import CodeBlock from '@tiptap/extension-code-block';
import Bold from '@tiptap/extension-bold';
import BulletList from '@tiptap/extension-bullet-list';
import Code from '@tiptap/extension-code';
@@ -19,6 +22,8 @@
import TableCell from '@tiptap/extension-table-cell';
import TableHeader from '@tiptap/extension-table-header';
import Underline from '@tiptap/extension-underline';
+ import Image from '@tiptap/extension-image';
+ import Icon from "../common/Icon.svelte";
let element;
let editor;
@@ -32,19 +37,22 @@
Paragraph,
Text,
Bold,
+ ListItem,
BulletList,
Code,
+ CodeBlock,
History,
Italic,
- ListItem,
+ HardBreak,
OrderedList,
- ListItem,
Strike,
Table,
TableRow,
TableCell,
TableHeader,
Underline,
+ Dropcursor,
+ Image,
Heading.configure({
levels: [1, 2, 3],
}),
@@ -56,7 +64,11 @@
// force re-render so `editor.isActive` works as expected
editor = editor;
},
+ onUpdate: ({editor}) => {
+ value = editor.getHTML()
+ },
});
+
});
onDestroy(() => {
@@ -64,33 +76,99 @@
editor.destroy();
}
});
+
+ export function insertMedia(info){
+ editor.chain().focus().setImage({ src: info.url }).run()
+ }
{#if editor}
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{/if}
\ No newline at end of file
diff --git a/front/js/svelte/libs/Trix.svelte b/front/js/svelte/libs/Trix.svelte
index 2fb9b6c..0d65b20 100644
--- a/front/js/svelte/libs/Trix.svelte
+++ b/front/js/svelte/libs/Trix.svelte
@@ -1,21 +1,52 @@
-
-
-
+
+
+
diff --git a/front/js/svelte/records/elements/RichEditor.svelte b/front/js/svelte/records/elements/RichEditor.svelte
index 099f192..bda452e 100644
--- a/front/js/svelte/records/elements/RichEditor.svelte
+++ b/front/js/svelte/records/elements/RichEditor.svelte
@@ -2,6 +2,8 @@
import Tinymce from "../../libs/Tinymce.svelte";
import RichEditorFiles from "./RichEditorFiles.svelte";
import {getErrorMessage} from "./errorMessage";
+ import TipTap from "../../libs/TipTap.svelte";
+ import Trix from "../../libs/Trix.svelte";
export let value;
export let field;
@@ -24,8 +26,9 @@