From 9629652d0a935645092861fb154e1d0f9104e2d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Cmit=20Tun=C3=A7?= Date: Mon, 3 Nov 2025 03:15:31 -0300 Subject: [PATCH] Refactor template preview data handling in Footer, Header, and Section templates: Updated the viewData method in FooterTemplateForm, HeaderTemplateForm, and SectionTemplateForm schemas to use a closure for dynamic record ID retrieval. Enhanced the template-preview Blade component to accept the record ID, improving data handling and ensuring accurate template previews based on the current record context. --- .../Schemas/FooterTemplateForm.php | 11 +++-- .../Schemas/HeaderTemplateForm.php | 11 +++-- .../Schemas/SectionTemplateForm.php | 11 +++-- .../components/template-preview.blade.php | 43 ++++++++++++++++--- 4 files changed, 59 insertions(+), 17 deletions(-) diff --git a/app/Filament/Admin/Resources/FooterTemplates/Schemas/FooterTemplateForm.php b/app/Filament/Admin/Resources/FooterTemplates/Schemas/FooterTemplateForm.php index e31d58e..20dd3f5 100644 --- a/app/Filament/Admin/Resources/FooterTemplates/Schemas/FooterTemplateForm.php +++ b/app/Filament/Admin/Resources/FooterTemplates/Schemas/FooterTemplateForm.php @@ -43,10 +43,13 @@ class FooterTemplateForm // Preview Component - placed after editor View::make('components.template-preview') - ->viewData([ - 'type' => 'footer', - 'fieldName' => 'html_content', - ]) + ->viewData(function ($record) { + return [ + 'type' => 'footer', + 'fieldName' => 'html_content', + 'recordId' => $record?->id, + ]; + }) ->columnSpanFull(), Toggle::make('is_active') diff --git a/app/Filament/Admin/Resources/HeaderTemplates/Schemas/HeaderTemplateForm.php b/app/Filament/Admin/Resources/HeaderTemplates/Schemas/HeaderTemplateForm.php index ec63639..c99aed3 100644 --- a/app/Filament/Admin/Resources/HeaderTemplates/Schemas/HeaderTemplateForm.php +++ b/app/Filament/Admin/Resources/HeaderTemplates/Schemas/HeaderTemplateForm.php @@ -42,10 +42,13 @@ class HeaderTemplateForm // Preview Component - placed after editor View::make('components.template-preview') - ->viewData([ - 'type' => 'header', - 'fieldName' => 'html_content', - ]) + ->viewData(function ($record) { + return [ + 'type' => 'header', + 'fieldName' => 'html_content', + 'recordId' => $record?->id, + ]; + }) ->columnSpanFull(), Toggle::make('is_active') diff --git a/app/Filament/Admin/Resources/SectionTemplates/Schemas/SectionTemplateForm.php b/app/Filament/Admin/Resources/SectionTemplates/Schemas/SectionTemplateForm.php index f700df0..2849380 100644 --- a/app/Filament/Admin/Resources/SectionTemplates/Schemas/SectionTemplateForm.php +++ b/app/Filament/Admin/Resources/SectionTemplates/Schemas/SectionTemplateForm.php @@ -42,10 +42,13 @@ class SectionTemplateForm // Preview Component - placed after editor View::make('components.template-preview') - ->viewData([ - 'type' => 'section', - 'fieldName' => 'html_content', - ]) + ->viewData(function ($record) { + return [ + 'type' => 'section', + 'fieldName' => 'html_content', + 'recordId' => $record?->id, + ]; + }) ->columnSpanFull(), Toggle::make('is_active') diff --git a/resources/views/components/template-preview.blade.php b/resources/views/components/template-preview.blade.php index e8014d4..98774ae 100644 --- a/resources/views/components/template-preview.blade.php +++ b/resources/views/components/template-preview.blade.php @@ -2,9 +2,10 @@ $previewUrl = route('template.preview'); $type = $type ?? 'section'; $fieldName = $fieldName ?? 'html_content'; + $recordId = $recordId ?? null; @endphp
@@ -68,20 +69,52 @@ @push('scripts')