2024-03-06 18:53:40 +01:00
|
|
|
import StringUtils from '../utils/StringUtils.js';
|
|
|
|
export default class PostActions {
|
|
|
|
//--------------------------
|
|
|
|
// constructor
|
|
|
|
//--------------------------
|
|
|
|
constructor() {}
|
|
|
|
//--------------------------
|
|
|
|
// methods
|
|
|
|
//--------------------------
|
|
|
|
collectInfo(files) {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
let pageInfo = [];
|
2024-03-25 19:53:31 +01:00
|
|
|
let pageRef = document.querySelector('.file-manager');
|
2024-03-06 18:53:40 +01:00
|
|
|
//process html content for storage
|
|
|
|
let txt = document.createElement('textarea');
|
|
|
|
txt.innerHTML = document.getElementById('highlight-content').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
|
|
|
|
//build data object
|
|
|
|
pageInfo = {
|
|
|
|
id: pageRef.getAttribute('data-index'),
|
|
|
|
uuid: pageRef.getAttribute('data-uuid'),
|
|
|
|
layout: document.getElementById('page-templates').value,
|
|
|
|
current_title: pageRef.getAttribute('data-slug'),
|
|
|
|
content: html,
|
|
|
|
title: document.getElementById('post-title-text').value,
|
|
|
|
created: document.getElementById('post-date').getAttribute('data-raw'),
|
|
|
|
slug: new StringUtils().cleanString(
|
|
|
|
document.getElementById('post-title-text').value
|
|
|
|
),
|
|
|
|
tags: document.getElementById('post-tags').value,
|
|
|
|
menu: document
|
|
|
|
.getElementById('option-menu-pin')
|
|
|
|
.getAttribute('data-active'),
|
|
|
|
featured: document
|
|
|
|
.getElementById('option-feature')
|
|
|
|
.getAttribute('data-active'),
|
|
|
|
published: document
|
|
|
|
.getElementById('option-published')
|
|
|
|
.getAttribute('data-active'),
|
|
|
|
form_token: document.getElementById('form_token').value,
|
|
|
|
imageList: files.images,
|
|
|
|
fileList: files.files
|
|
|
|
};
|
|
|
|
|
|
|
|
resolve(pageInfo);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
//--------------------------
|
|
|
|
// event handlers
|
|
|
|
//--------------------------
|
|
|
|
}
|