diff --git a/front/js/main.js b/front/js/main.js
index 708db98..fc8fdae 100644
--- a/front/js/main.js
+++ b/front/js/main.js
@@ -8,12 +8,14 @@ import {dropdown} from "./components/dropdown.js";
import {colorPicker} from "./recordEditor/colorPicker.js";
import {sortReferences} from "./recordEditor/sortReferences.js";
import {recordDialog} from "./recordEditor/recordDialog.js";
+import {createRecordEntry} from "./recordEditor/createRecordEntry.js";
addEventListener("load", (event) => {
dropdown()
colorPicker()
sortReferences()
recordDialog()
+ createRecordEntry()
});
Mustache.escape = function (value) {
diff --git a/front/js/recordEditor/createRecordEntry.js b/front/js/recordEditor/createRecordEntry.js
new file mode 100644
index 0000000..dc14bf4
--- /dev/null
+++ b/front/js/recordEditor/createRecordEntry.js
@@ -0,0 +1,44 @@
+import axios from "axios";
+
+export function createRecordEntry() {
+ const createButton = document.getElementById("record-create-button");
+ createButton.addEventListener("click", save)
+}
+
+
+function save(e) {
+ e.preventDefault();
+ const recordForm = document.getElementById("record-form");
+ let validationErrors = null;
+ let errorMessage = "";
+ const urlParams = new URLSearchParams(window.location.search);
+ const schemaName = urlParams.get("schema")
+ console.log("SAVE: Attempt");
+
+ 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)
+ }
+
+
+ });
+}
\ No newline at end of file
diff --git a/front/js/recordEditor/recordDialog.js b/front/js/recordEditor/recordDialog.js
index 02c511d..5b8f17b 100644
--- a/front/js/recordEditor/recordDialog.js
+++ b/front/js/recordEditor/recordDialog.js
@@ -1,7 +1,6 @@
import axios from "axios";
export function recordDialog() {
-
document.querySelectorAll("[data-open-modal]").forEach(el => {
const schema = el.dataset.openModal
el.addEventListener("click", e => {
diff --git a/front/views/layouts/channel.blade.php b/front/views/layouts/channel.blade.php
index 843d0ce..c53131b 100644
--- a/front/views/layouts/channel.blade.php
+++ b/front/views/layouts/channel.blade.php
@@ -5,7 +5,7 @@
-
@yield('title') - Lucent Data Platform
+ {{$title}} - Lucent Data Platform
@if(config("lucent.env") == "production")
@@ -24,7 +24,6 @@
-
@yield('content')
diff --git a/front/views/records-editor/edit.blade.php b/front/views/records-editor/edit.blade.php
index 84163dc..4120a63 100644
--- a/front/views/records-editor/edit.blade.php
+++ b/front/views/records-editor/edit.blade.php
@@ -13,10 +13,11 @@
-
+
@endsection
diff --git a/front/views/records-editor/fields/file.blade.php b/front/views/records-editor/fields/file.blade.php
index 3ad9cd8..a2df5d0 100644
--- a/front/views/records-editor/fields/file.blade.php
+++ b/front/views/records-editor/fields/file.blade.php
@@ -1,7 +1,9 @@
@php
- $references = $graph->edges
- ->filter(fn($edge) => $edge->field === $field->name && $edge->source === $record->id)
- ->map(fn($edge) => $graph->records->firstWhere("id", $edge->target));
+// $references = $graph->edges
+// ->filter(fn($edge) => $edge->field === $field->name && $edge->source === $record->id)
+// ->map(fn($edge) => $graph->records->firstWhere("id", $edge->target));
+//
+ $references = collect([]);
$collectionSchemas = $schemas->whereIn("name",$field->collections);
@endphp
diff --git a/front/views/records-editor/fields/text.blade.php b/front/views/records-editor/fields/text.blade.php
index a73117b..79c004d 100644
--- a/front/views/records-editor/fields/text.blade.php
+++ b/front/views/records-editor/fields/text.blade.php
@@ -4,6 +4,7 @@
@else
@if($createMode)