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

34 lines
897 B
JavaScript
Raw Normal View History

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