wip editor

This commit is contained in:
2024-10-03 21:17:52 +03:00
parent b8c5f82e47
commit ecba85129d
7 changed files with 91 additions and 34 deletions
+2
View File
@@ -9,6 +9,7 @@ import {colorPicker} from "./recordEditor/colorPicker.js";
import {sortReferences} from "./recordEditor/sortReferences.js";
import {recordDialog} from "./recordEditor/recordDialog.js";
import {createRecordEntry} from "./recordEditor/createRecordEntry.js";
import {editRecordEntry} from "./recordEditor/editRecordEntry.js";
addEventListener("load", (event) => {
dropdown()
@@ -16,6 +17,7 @@ addEventListener("load", (event) => {
sortReferences()
recordDialog()
createRecordEntry()
editRecordEntry()
});
Mustache.escape = function (value) {
+27 -22
View File
@@ -2,6 +2,9 @@ import axios from "axios";
export function createRecordEntry() {
const createButton = document.getElementById("record-create-button");
if(!createButton){
return;
}
createButton.addEventListener("click", save)
}
@@ -17,28 +20,30 @@ function save(e) {
let formData = new FormData(recordForm)
axios
.post("/lucent/records", {
schema: schemaName,
data: Object.fromEntries(formData),
status: "draft",
// edges: graph.edges,
isCreateMode: true,
})
.then(function (response) {
console.log("SAVE: SAVED");
window.location.href = "/lucent/records/" + record.id;
})
.catch(function (error) {
if (!error?.response) {
}
if (typeof error?.response.data.error === "string") {
errorMessage = error.response.data.error;
} else {
validationErrors = error.response.data.error;
console.log(validationErrors)
}
axios
.post("/lucent/records", {
schema: schemaName,
data: Object.fromEntries(formData),
status: "draft",
// edges: graph.edges,
isCreateMode: true,
})
.then(function (response) {
console.log("SAVE: SAVED");
window.location = "/lucent/recordss/" + record.id;
return;
})
.catch(function (error) {
if (!error?.response) {
}
if (typeof error?.response.data.error === "string") {
errorMessage = error.response.data.error;
} else {
validationErrors = error.response.data.error;
console.log(validationErrors)
}
});
});
}
+44
View File
@@ -0,0 +1,44 @@
import axios from "axios";
export function editRecordEntry() {
const saveButton = document.getElementById("record-save-button");
if(!saveButton){
return;
}
saveButton.addEventListener("click", save)
}
function save(e) {
e.preventDefault();
const recordForm = document.getElementById("record-form");
// let validationErrors = null;
// let errorMessage = "";
console.log("SAVE: Attempt");
//
let formData = new FormData(recordForm)
//
axios
.post("/lucent/records", {
id: recordForm.dataset.recordId,
data: Object.fromEntries(formData),
status: "draft",
// edges: graph.edges,
isCreateMode: false,
})
.then(function (response) {
console.log("SAVE: SAVED");
})
.catch(function (error) {
// if (!error?.response) {
// }
// if (typeof error?.response.data.error === "string") {
// errorMessage = error.response.data.error;
// } else {
// validationErrors = error.response.data.error;
// console.log(validationErrors)
// }
});
}
+1
View File
@@ -4,6 +4,7 @@ export function recordDialog() {
document.querySelectorAll("[data-open-modal]").forEach(el => {
const schema = el.dataset.openModal
el.addEventListener("click", e => {
e.preventDefault()
load(schema)
})
})
+7 -7
View File
@@ -38,13 +38,13 @@
<div class="main-wrapper">
<div class="sidebar-content">
<Navbar schema={data.schema}/>
</div>
<div class="main-content">
<Header />
<svelte:component this={components[view]} {title} {...data}/>
</div>
<div class="sidebar-content">
<Navbar schema={data.schema}/>
</div>
<div class="main-content">
<Header/>
<svelte:component this={components[view]} {title} {...data}/>
</div>
</div>
+1 -1
View File
@@ -13,7 +13,7 @@
<div class=" mt-4" style="margin-bottom:150px;position:relative;">
<x-lucent::tabs :schema="$schema" :createMode="$createMode"></x-lucent::tabs>
</div>
<form id="record-form">
<form id="record-form" data-record-id="{{$record->id}}">
@foreach($schema->fields as $field)
@include("lucent::records-editor.fields", ["field" => $field])
@endforeach
+9 -4
View File
@@ -310,7 +310,7 @@ class RecordController extends Controller
public function save(Request $request)
{
$recordId = $request->input("record.id");
$recordId = $request->input("id");
try {
if ($request->input("isCreateMode")) {
@@ -326,9 +326,9 @@ class RecordController extends Controller
} else {
$this->recordService->updateWithEdges(
id: $request->input("record.id"),
data: $request->input("record.data"),
status: Status::from($request->input("record.status")),
id: $request->input("id"),
data: $request->input("data"),
status: Status::from($request->input("status")),
edges: array_map(EdgeInputData::fromArray(...), $request->input("edges") ?? []),
);
}
@@ -345,10 +345,15 @@ class RecordController extends Controller
} catch (LucentException $th) {
return fail($th);
}
return ok(toArray($newGraph));
}
public function clone(Request $request)
{
try {