You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
3.0 KiB
JavaScript
92 lines
3.0 KiB
JavaScript
import StringUtils from "../utils/StringUtils";
|
|
export default class PostActions {
|
|
//--------------------------
|
|
// constructor
|
|
//--------------------------
|
|
constructor() {}
|
|
//--------------------------
|
|
// methods
|
|
//--------------------------
|
|
collectInfo(image) {
|
|
return new Promise((resolve, reject) => {
|
|
let pageInfo = new FormData();
|
|
let txt = document.createElement("textarea");
|
|
txt.innerHTML = document.getElementById("edit-post-text").innerHTML;
|
|
let html = txt.value;
|
|
html = html.replace(/<\/?span[^>]*>/g, ''); //removes prism styling
|
|
html = html.replace(/<\/?br[^>]*>/g, "\n"); //convert back to encoded line break for storage
|
|
pageInfo.append(
|
|
"id",
|
|
document.getElementById("post-edit-index").getAttribute("data-index")
|
|
);
|
|
pageInfo.append(
|
|
"uuid",
|
|
document.getElementById("post-edit-index").getAttribute("data-uuid")
|
|
);
|
|
pageInfo.append(
|
|
"layout",
|
|
document.getElementById("post-edit-index").getAttribute("data-layout")
|
|
);
|
|
pageInfo.append(
|
|
"current_title",
|
|
document.getElementById("post-edit-index").getAttribute("data-slug")
|
|
);
|
|
pageInfo.append("content", html);
|
|
pageInfo.append("title", document.getElementById("post_title").value);
|
|
pageInfo.append(
|
|
"created",
|
|
document.getElementById("post-date").getAttribute("data-raw")
|
|
);
|
|
pageInfo.append(
|
|
"slug",
|
|
new StringUtils().cleanString(
|
|
document.getElementById("post_title").value
|
|
)
|
|
);
|
|
pageInfo.append("tags", document.getElementById("post_tags").value);
|
|
pageInfo.append(
|
|
"menu",
|
|
document.getElementById("option-menu-pin").getAttribute("data-active")
|
|
);
|
|
pageInfo.append(
|
|
"featured",
|
|
document.getElementById("option-feature").getAttribute("data-active")
|
|
);
|
|
pageInfo.append(
|
|
"published",
|
|
document.getElementById("option-published").getAttribute("data-active")
|
|
);
|
|
pageInfo.append(
|
|
"layout",
|
|
document.getElementById("page-templates").value
|
|
);
|
|
pageInfo.append(
|
|
"form_token",
|
|
document.getElementById("form_token").value
|
|
);
|
|
if (image != null || image != undefined) {
|
|
if (image.type.match("image.*")) {
|
|
pageInfo.append("feature_image", image, image.name);
|
|
} else {
|
|
reject("Not an image file");
|
|
}
|
|
} else {
|
|
//check to see if image exists
|
|
if (document.getElementById("featured-image")) {
|
|
var imageURL = document.getElementById("featured-image").src;
|
|
imageURL != null || imageURL != undefined
|
|
? pageInfo.append("feature_image", imageURL)
|
|
: pageInfo.append("feature_image", null);
|
|
} else {
|
|
//pageInfo.append("feature_image", null);
|
|
}
|
|
}
|
|
|
|
resolve(pageInfo);
|
|
});
|
|
}
|
|
//--------------------------
|
|
// event handlers
|
|
//--------------------------
|
|
}
|