more text editor touch ups, fix for page delete option

This commit is contained in:
Ro 2022-01-16 13:33:04 -08:00
parent f1a8ef67bc
commit 7cabb1d1f0
6 changed files with 74 additions and 61 deletions

View file

@ -105,6 +105,7 @@ class PagesAPI
case "create": case "create":
case "write": case "write":
$body = $request->getParsedBody(); $body = $request->getParsedBody();
var_dump($body);
$passed = true; $passed = true;
if (!isset($body["form_token"])) { if (!isset($body["form_token"])) {
$result = [ $result = [
@ -138,10 +139,7 @@ class PagesAPI
} }
} }
if ($passed) { if ($passed) {
$result = (new Book("../content/pages"))->editPage( $result = (new Book())->editPage($task, $request);
$task,
$request
);
} else { } else {
$result = [ $result = [
"message" => "message" =>

View file

@ -32,8 +32,9 @@ class Book
{ {
$content = $this->getContents(); $content = $this->getContents();
if ($task == "delete") { if ($task == "delete") {
$parsed = json_decode(file_get_contents("php://input"), true); //$parsed = json_decode(file_get_contents("php://input"), true);
$body = find($content, ["uuid" => $parsed["id"]]); //$body = find($content, ["uuid" => $parsed["id"]]);
$body = $request->getParsedBody();
} else { } else {
$body = $request->getParsedBody(); $body = $request->getParsedBody();
} }
@ -93,13 +94,9 @@ class Book
if ($task == "delete") { if ($task == "delete") {
$deleted = "true"; $deleted = "true";
$body["menu"] ? ($body["menu"] = "true") : ($body["menu"] = "false"); $body["menu"] = "false";
$body["published"] $body["published"] = "false";
? ($body["published"] = "true") $body["featured"] = "false";
: ($body["published"] = "false");
$body["featured"]
? ($body["featured"] = "true")
: ($body["featured"] = "false");
} else { } else {
$deleted = isset($page["deleted"]) ? $page["deleted"] : "false"; $deleted = isset($page["deleted"]) ? $page["deleted"] : "false";
} }
@ -195,7 +192,10 @@ class Book
return $item["deleted"] == true; return $item["deleted"] == true;
}); });
$all = $content; //$all = $content;
$all = filter($content, function ($item) {
return $item["deleted"] == false;
});
$filter = isset($sort) ? $sort : "all"; $filter = isset($sort) ? $sort : "all";
switch ($filter) { switch ($filter) {
case "published": case "published":
@ -205,7 +205,7 @@ class Book
$filtered = $deleted; $filtered = $deleted;
break; break;
default: default:
$filtered = $content; $filtered = $all;
break; break;
} }
$numOfPages = ceil(count($filtered) / ($limit + 1)); $numOfPages = ceil(count($filtered) / ($limit + 1));

View file

@ -919,7 +919,7 @@ const API_ACCESS_BAD = "apiUseNotAuthorized";
case TASK_PAGE_DELETE: case TASK_PAGE_DELETE:
url = API_DELETE_PAGE; url = API_DELETE_PAGE;
event = TASK_PAGE_DELETE; event = TASK_PAGE_DELETE;
content = CONTENT_TYPE_JSON; content = CONTENT_TYPE_FORM;
break; break;
default: default:
break; break;
@ -1685,7 +1685,7 @@ class PostEditor {
// event handlers // event handlers
//-------------------------- //--------------------------
handlePostOptions(e) { handlePostOptions(e) {
let currentOption; let currentOption = null;
switch(e.target.id){ switch(e.target.id){
case "option-page-icon": case "option-page-icon":
case "option-menu-pin": case "option-menu-pin":
@ -1700,8 +1700,10 @@ class PostEditor {
currentOption = document.getElementById("option-published"); currentOption = document.getElementById("option-published");
break; break;
} }
let active = currentOption.getAttribute("data-active"); if (currentOption != null) {
active == "false" ? currentOption.setAttribute("data-active", "true") : currentOption.setAttribute("data-active", "false"); let active = currentOption.getAttribute("data-active");
active == "false" ? currentOption.setAttribute("data-active", "true") : currentOption.setAttribute("data-active", "false");
}
} }
handleEditorOptions(e1) { handleEditorOptions(e1) {
if (this.processing) return; if (this.processing) return;
@ -1733,19 +1735,17 @@ class PostEditor {
notify.alert("Index cannot be deleted", false); notify.alert("Index cannot be deleted", false);
return; return;
} }
if (confirm("AYE! You know you're deleting this post, right?")) { if (confirm("AYE! You know you're deleting this post, right?")) new _pageActionsDefault.default().collectInfo(document.getElementById("featured-image-upload").files[0]).then((page)=>{
let id = {
id: this.postUUID
};
self.processing = true; self.processing = true;
this.admin.pageActions(_fipamoAdminAPI.TASK_PAGE_DELETE, id).then(()=>{ this.admin.pageActions(_fipamoAdminAPI.TASK_PAGE_DELETE, page).then(()=>{
self.processing = false; self.processing = false;
window.location = "/dashboard/pages"; window.location = "/dashboard/pages";
}).catch((err)=>{ }).catch((err)=>{
self.processing = false; self.processing = false;
notify.alert(err, false); notify.alert(err, false);
}); });
} }).catch(()=>{
});
break; break;
case _editorEvent.EDITOR_UPLOAD_POST_IMAGE: case _editorEvent.EDITOR_UPLOAD_POST_IMAGE:
document.getElementById("post-image-upload").click(); document.getElementById("post-image-upload").click();
@ -1995,13 +1995,15 @@ class TextEditor extends _eventEmitterDefault.default {
case _dataEvent.PAGE_ADDED: case _dataEvent.PAGE_ADDED:
break; break;
case _editorEvent.EDITOR_UPLOAD_POST_IMAGE: case _editorEvent.EDITOR_UPLOAD_POST_IMAGE:
let len = this.textEditor.value.length; {
let start = this.textEditor.selectionStart; let len = this.textEditor.value.length;
let end = this.textEditor.selectionEnd; let start = this.textEditor.selectionStart;
let insert = "![image alt text](" + data + ")"; let end = this.textEditor.selectionEnd;
this.textEditor.value = this.textEditor.value.substring(0, start) + insert + this.textEditor.value.substring(end, len); let insert = "![image alt text](" + data + ")";
document.getElementById("edit").dispatchEvent(new Event("input")); this.textEditor.value = this.textEditor.value.substring(0, start) + insert + this.textEditor.value.substring(end, len);
break; document.getElementById("edit").dispatchEvent(new Event("input"));
break;
}
} }
} }
// event handlers // event handlers
@ -2039,10 +2041,12 @@ class TextEditor extends _eventEmitterDefault.default {
this.textEditor.value = this.textEditor.value.substring(0, start) + insert + this.textEditor.value.substring(end, len); this.textEditor.value = this.textEditor.value.substring(0, start) + insert + this.textEditor.value.substring(end, len);
break; break;
case "edit-link": case "edit-link":
let url = prompt("Let's get that url, boss"); {
let link = url.toLowerCase(); let url = prompt("Let's get that url, boss");
insert = "[" + selectedText + "](" + link + ")"; let link = url.toLowerCase();
this.textEditor.value = this.textEditor.value.substring(0, start) + insert + this.textEditor.value.substring(end, len); insert = "[" + selectedText + "](" + link + ")";
this.textEditor.value = this.textEditor.value.substring(0, start) + insert + this.textEditor.value.substring(end, len);
}
break; break;
case "edit-image": case "edit-image":
this.caretPos = _caretPos.position(this.textEditor).pos; this.caretPos = _caretPos.position(this.textEditor).pos;

View file

@ -118,7 +118,7 @@ export default class PostEditor {
// event handlers // event handlers
//-------------------------- //--------------------------
handlePostOptions(e) { handlePostOptions(e) {
let currentOption; let currentOption = null;
switch (e.target.id) { switch (e.target.id) {
case "option-page-icon": case "option-page-icon":
case "option-menu-pin": case "option-menu-pin":
@ -133,10 +133,12 @@ export default class PostEditor {
currentOption = document.getElementById("option-published"); currentOption = document.getElementById("option-published");
break; break;
} }
let active = currentOption.getAttribute("data-active"); if (currentOption != null) {
active == "false" let active = currentOption.getAttribute("data-active");
? currentOption.setAttribute("data-active", "true") active == "false"
: currentOption.setAttribute("data-active", "false"); ? currentOption.setAttribute("data-active", "true")
: currentOption.setAttribute("data-active", "false");
}
} }
handleEditorOptions(e) { handleEditorOptions(e) {
if (this.processing) return; if (this.processing) return;
@ -185,18 +187,24 @@ export default class PostEditor {
return; return;
} }
if (confirm("AYE! You know you're deleting this post, right?")) { if (confirm("AYE! You know you're deleting this post, right?")) {
let id = { id: this.postUUID }; new PageActions()
self.processing = true; .collectInfo(
this.admin document.getElementById("featured-image-upload").files[0]
.pageActions(TASK_PAGE_DELETE, id) )
.then(() => { .then((page) => {
self.processing = false; self.processing = true;
window.location = "/dashboard/pages"; this.admin
.pageActions(TASK_PAGE_DELETE, page)
.then(() => {
self.processing = false;
window.location = "/dashboard/pages";
})
.catch((err) => {
self.processing = false;
notify.alert(err, false);
});
}) })
.catch((err) => { .catch(() => {});
self.processing = false;
notify.alert(err, false);
});
} else { } else {
// Do nothing! // Do nothing!
} }

View file

@ -89,7 +89,7 @@ class TextEditor extends EventEmitter {
case DataEvent.PAGE_ADDED: case DataEvent.PAGE_ADDED:
// do nothing // do nothing
break; break;
case EditorEvent.EDITOR_UPLOAD_POST_IMAGE: case EditorEvent.EDITOR_UPLOAD_POST_IMAGE: {
let len = this.textEditor.value.length; let len = this.textEditor.value.length;
let start = this.textEditor.selectionStart; let start = this.textEditor.selectionStart;
let end = this.textEditor.selectionEnd; let end = this.textEditor.selectionEnd;
@ -101,6 +101,7 @@ class TextEditor extends EventEmitter {
this.textEditor.value.substring(end, len); this.textEditor.value.substring(end, len);
document.getElementById("edit").dispatchEvent(new Event("input")); document.getElementById("edit").dispatchEvent(new Event("input"));
break; break;
}
} }
} }
//-------------------------- //--------------------------
@ -160,13 +161,15 @@ class TextEditor extends EventEmitter {
this.textEditor.value.substring(end, len); this.textEditor.value.substring(end, len);
break; break;
case "edit-link": case "edit-link":
let url = prompt("Let's get that url, boss"); {
let link = url.toLowerCase(); let url = prompt("Let's get that url, boss");
insert = "[" + selectedText + "](" + link + ")"; let link = url.toLowerCase();
this.textEditor.value = insert = "[" + selectedText + "](" + link + ")";
this.textEditor.value.substring(0, start) + this.textEditor.value =
insert + this.textEditor.value.substring(0, start) +
this.textEditor.value.substring(end, len); insert +
this.textEditor.value.substring(end, len);
}
break; break;
case "edit-image": case "edit-image":
this.caretPos = position(this.textEditor).pos; this.caretPos = position(this.textEditor).pos;

View file

@ -248,7 +248,7 @@ class FipamoAdminAPI {
case TASK_PAGE_DELETE: case TASK_PAGE_DELETE:
url = API_DELETE_PAGE; url = API_DELETE_PAGE;
event = TASK_PAGE_DELETE; event = TASK_PAGE_DELETE;
content = CONTENT_TYPE_JSON; content = CONTENT_TYPE_FORM;
break; break;
default: default: