legendary-doc-site/apps/app/assets/js/admin/content-editor.js

33 lines
897 B
JavaScript

import { ready } from "../utils";
import SimpleMDE from "simplemde";
import "simplemde/dist/simplemde.min.css";
import "../../css/content-editor-overrides.css";
const requestPreview = (plainText, previewContainer) => {
let request = new XMLHttpRequest();
const postForm = previewContainer.closest("form");
let formData = new FormData(postForm);
formData.set("post[content]", plainText);
request.addEventListener("load", function (event) {
previewContainer.innerHTML = event.target.responseText;
});
request.open("POST", "/posts/preview", true);
request.send(formData);
};
ready(() => {
document.querySelectorAll("[data-simplemde]").forEach((el) => {
new SimpleMDE({
element: el,
previewRender: (plainText, previewContainer) => {
requestPreview(plainText, previewContainer);
return previewContainer.innerHTML;
},
});
});
});