Skip to content

Commit 767de98

Browse files
authored
feat: allow customization of settings record persistence (#19)
1 parent 4653d04 commit 767de98

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

src/Pages/ModelSettingsPage.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Filament\Pages\Concerns;
1111
use Filament\Pages\Page;
1212
use Filament\Support\Exceptions\Halt;
13+
use Glorand\Model\Settings\Contracts\SettingsManagerContract;
1314
use Quadrubo\FilamentModelSettings\Exceptions\HasModelSettingsNotImplementedException;
1415
use Quadrubo\FilamentModelSettings\Pages\Contracts\HasModelSettings;
1516

@@ -74,9 +75,7 @@ public function save(): void
7475

7576
$this->callHook('beforeSave');
7677

77-
$settings = $this->getSettingRecord()->settings();
78-
79-
$settings->apply((array) $data);
78+
$this->handleRecordUpdate($this->getSettingRecord()->settings(), $data);
8079

8180
$this->callHook('afterSave');
8281
} catch (Halt $exception) {
@@ -117,6 +116,14 @@ protected function mutateFormDataBeforeSave(array $data): array
117116
return $data;
118117
}
119118

119+
/**
120+
* @param array<string, mixed> $data
121+
*/
122+
protected function handleRecordUpdate(SettingsManagerContract $settings, array $data): SettingsManagerContract
123+
{
124+
return $settings->apply((array) $data);
125+
}
126+
120127
/**
121128
* @return array<Action | ActionGroup>
122129
*/

0 commit comments

Comments
 (0)