55 lines
1.7 KiB
JavaScript
55 lines
1.7 KiB
JavaScript
var Oqtane = Oqtane || {};
|
|
|
|
Oqtane.RichTextEditor = {
|
|
createQuill: async function (
|
|
quillElement, toolBar, readOnly,
|
|
placeholder, theme, debugLevel) {
|
|
|
|
Quill.register('modules/blotFormatter', QuillBlotFormatter.default);
|
|
|
|
var options = {
|
|
debug: debugLevel,
|
|
modules: {
|
|
toolbar: toolBar,
|
|
blotFormatter: {}
|
|
},
|
|
placeholder: placeholder,
|
|
readOnly: readOnly,
|
|
theme: theme
|
|
};
|
|
|
|
new Quill(quillElement, options);
|
|
},
|
|
getQuillContent: function (editorElement) {
|
|
return JSON.stringify(editorElement.__quill.getContents());
|
|
},
|
|
getQuillText: function (editorElement) {
|
|
return editorElement.__quill.getText();
|
|
},
|
|
getQuillHTML: function (editorElement) {
|
|
return editorElement.__quill.root.innerHTML;
|
|
},
|
|
loadQuillContent: function (editorElement, editorContent) {
|
|
return editorElement.__quill.root.innerHTML = editorContent;
|
|
},
|
|
enableQuillEditor: function (editorElement, mode) {
|
|
editorElement.__quill.enable(mode);
|
|
},
|
|
getCurrentCursor: function (quillElement) {
|
|
var editorIndex = 0;
|
|
if (quillElement.__quill.getSelection() !== null) {
|
|
editorIndex = quillElement.__quill.getSelection().index;
|
|
}
|
|
return editorIndex;
|
|
},
|
|
insertQuillImage: function (quillElement, imageURL, altText, editorIndex) {
|
|
var Delta = Quill.import('delta');
|
|
|
|
return quillElement.__quill.updateContents(
|
|
new Delta()
|
|
.retain(editorIndex)
|
|
.insert({ image: imageURL },
|
|
{ alt: altText }));
|
|
}
|
|
};
|