diff --git a/front/js/entry/RecordEditEntry/RecordEditEntry.svelte b/front/js/entry/RecordEditEntry/RecordEditEntry.svelte index 03cc821..db447d9 100644 --- a/front/js/entry/RecordEditEntry/RecordEditEntry.svelte +++ b/front/js/entry/RecordEditEntry/RecordEditEntry.svelte @@ -1,14 +1,16 @@ + +{#each fields as field} +
+ {#if field.type === "text"} + f.fieldId === field.id && f.locale === "main", + )} + schemaField={field} + locale="main" + dataField={fieldData.find( + (f) => f.id === field.id && f.locale === "main", + )} + > + {#if field.translatable} + {#each selectedLocales as locale (locale)} + + f.fieldId === field.id && f.locale === locale, + )} + schemaField={field} + {locale} + dataField={fieldData.find( + (f) => f.id === field.id && f.locale === locale, + )} + > + {/each} + {/if} + {/if} +
+{/each} diff --git a/src/Core/Record/RecordFieldModule.php b/src/Core/Record/RecordFieldModule.php index 74f2d1a..c47d6c7 100644 --- a/src/Core/Record/RecordFieldModule.php +++ b/src/Core/Record/RecordFieldModule.php @@ -5,6 +5,7 @@ use Lucent\Core\Data\RecordField; use Lucent\Core\Data\RecordMode; use Lucent\Core\Repository\RecordFieldRepo; use stdClass; +use Illuminate\Support\Facades\DB; class RecordFieldModule { @@ -20,7 +21,7 @@ class RecordFieldModule }) ->toArray(); - DB::transaction(function () use ($recordField) { + DB::transaction(function () use ($liveData, $recordId) { RecordFieldRepo::deleteLiveByRecordId($recordId); RecordFieldRepo::insertMany($liveData); }); diff --git a/src/Http/Controller/RecordController.php b/src/Http/Controller/RecordController.php index 5db01e5..c14687a 100644 --- a/src/Http/Controller/RecordController.php +++ b/src/Http/Controller/RecordController.php @@ -12,6 +12,7 @@ use Lucent\Core\Repository\FieldRepo; use Lucent\Core\Repository\SchemaRepo; use Lucent\Core\Repository\RecordFieldRepo; use Lucent\Core\Record\RecordModule; +use Lucent\Core\Record\RecordFieldModule; use Lucent\Id\Id; use Lucent\LucentException; use Lucent\Query\Operator\OperatorRegistry; @@ -255,6 +256,10 @@ class RecordController ->where("mode", RecordMode::DRAFT) ->values() ->toArray(); + $liveData = collect($recordFields) + ->where("mode", RecordMode::LIVE) + ->values() + ->toArray(); $schemas = SchemaRepo::all(); $schema = collect($schemas)->firstWhere("id", $record->schemaId); @@ -279,6 +284,7 @@ class RecordController // "graph" => toArray($graph), "record" => toArray($record), "draftData" => $draftData, + "liveData" => $liveData, "validationErrors" => $validationErrors, "recordStatus" => $recordStatus, ],