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 //-------------------------- }