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:
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user