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 @@
- +
@foreach($schema->fields as $field) @include("lucent::records-editor.fields", ["field" => $field]) @endforeach +
@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)