2021-10-19 19:28:25 +00:00
|
|
|
import { ready } from "../utils";
|
2021-07-20 22:13:36 +00:00
|
|
|
import SimpleMDE from "simplemde";
|
|
|
|
import "simplemde/dist/simplemde.min.css";
|
2021-10-19 19:28:25 +00:00
|
|
|
import "../../css/content-editor-overrides.css";
|
2020-08-18 20:56:43 +00:00
|
|
|
|
|
|
|
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);
|
2020-08-18 20:56:43 +00:00
|
|
|
|
2021-07-20 22:13:36 +00:00
|
|
|
formData.set("post[content]", plainText);
|
2020-08-18 20:56:43 +00:00
|
|
|
|
2021-07-20 22:13:36 +00:00
|
|
|
request.addEventListener("load", function (event) {
|
|
|
|
previewContainer.innerHTML = event.target.responseText;
|
|
|
|
});
|
2020-08-18 20:56:43 +00:00
|
|
|
|
2021-07-23 18:37:29 +00:00
|
|
|
request.open("POST", "/posts/preview", true);
|
2020-08-18 20:56:43 +00:00
|
|
|
|
2021-07-20 22:13:36 +00:00
|
|
|
request.send(formData);
|
|
|
|
};
|
2020-08-18 20:56:43 +00:00
|
|
|
|
|
|
|
ready(() => {
|
2021-07-20 22:13:36 +00:00
|
|
|
document.querySelectorAll("[data-simplemde]").forEach((el) => {
|
2020-08-18 20:56:43 +00:00
|
|
|
new SimpleMDE({
|
|
|
|
element: el,
|
|
|
|
previewRender: (plainText, previewContainer) => {
|
2021-07-20 22:13:36 +00:00
|
|
|
requestPreview(plainText, previewContainer);
|
2020-08-18 20:56:43 +00:00
|
|
|
|
2021-07-20 22:13:36 +00:00
|
|
|
return previewContainer.innerHTML;
|
2020-08-18 20:56:43 +00:00
|
|
|
},
|
2021-07-20 22:13:36 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|