Add template save event handling and update preview functionality: Implemented afterSave method in Footer, Header, Menu, and Section templates to dispatch a 'template-saved' event for Livewire. Updated template preview components to listen for this event, ensuring previews are refreshed after template modifications. Enhanced viewData method in template forms for better record ID handling.

This commit is contained in:
Ümit Tunç
2025-11-04 06:10:35 -03:00
parent a892fa7866
commit 6060fe1b23
11 changed files with 175 additions and 104 deletions
@@ -52,4 +52,11 @@ class EditFooterTemplate extends EditRecord
return $data;
}
protected function afterSave(): void
{
// Kaydetme sonrası preview'ı güncelle
// Livewire event dispatch et
$this->dispatch('template-saved');
}
}
@@ -50,13 +50,11 @@ class FooterTemplateForm
// Preview Component - placed after editor
View::make('components.template-preview')
->viewData(function ($record) {
return [
'type' => 'footer',
'fieldName' => 'html_content',
'recordId' => $record?->id,
];
})
->viewData([
'type' => 'footer',
'fieldName' => 'html_content',
'recordId' => null, // Will be extracted from URL by JavaScript
])
->columnSpanFull(),
Toggle::make('is_active')
@@ -52,4 +52,11 @@ class EditHeaderTemplate extends EditRecord
return $data;
}
protected function afterSave(): void
{
// Kaydetme sonrası preview'ı güncelle
// Livewire event dispatch et (JavaScript tarafında Livewire.on() ile dinlenecek)
$this->dispatch('template-saved');
}
}
@@ -49,13 +49,11 @@ class HeaderTemplateForm
// Preview Component - placed after editor
View::make('components.template-preview')
->viewData(function ($record) {
return [
'type' => 'header',
'fieldName' => 'html_content',
'recordId' => $record?->id,
];
})
->viewData([
'type' => 'header',
'fieldName' => 'html_content',
'recordId' => null, // Will be extracted from URL by JavaScript
])
->columnSpanFull(),
Toggle::make('is_active')
@@ -28,4 +28,11 @@ class EditMenuTemplate extends EditRecord
RestoreAction::make(),
];
}
protected function afterSave(): void
{
// Kaydetme sonrası preview'ı güncelle
// Livewire event dispatch et
$this->dispatch('template-saved');
}
}
@@ -46,13 +46,11 @@ class MenuTemplateForm
// Preview Component
View::make('components.menu-template-preview')
->viewData(function ($record) {
return [
'type' => 'menu',
'fieldName' => 'html_content',
'recordId' => $record?->id,
];
})
->viewData([
'type' => 'menu',
'fieldName' => 'html_content',
'recordId' => null, // Will be extracted from URL by JavaScript
])
->columnSpanFull(),
Toggle::make('is_active')
@@ -52,4 +52,11 @@ class EditSectionTemplate extends EditRecord
return $data;
}
protected function afterSave(): void
{
// Kaydetme sonrası preview'ı güncelle
// Livewire event dispatch et
$this->dispatch('template-saved');
}
}
@@ -49,13 +49,11 @@ class SectionTemplateForm
// Preview Component - placed after editor
View::make('components.template-preview')
->viewData(function ($record) {
return [
'type' => 'section',
'fieldName' => 'html_content',
'recordId' => $record?->id,
];
})
->viewData([
'type' => 'section',
'fieldName' => 'html_content',
'recordId' => null, // Will be extracted from URL by JavaScript
])
->columnSpanFull(),
Toggle::make('is_active')