PHP code example of oddvalue / filament-draft-recovery
1. Go to this page and download the library: Download oddvalue/filament-draft-recovery library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
oddvalue / filament-draft-recovery example snippets
use Filament\Resources\Pages\CreateRecord;
use Oddvalue\FilamentDraftRecovery\Concerns\RecoversDrafts;
class CreatePost extends CreateRecord
{
use RecoversDrafts;
protected static string $resource = PostResource::class;
}
'store' => 'database',
use Oddvalue\FilamentDraftRecovery\DraftRecoveryPlugin;
$panel->plugin(DraftRecoveryPlugin::make()->store('database'));
class CreatePost extends CreateRecord
{
use RecoversDrafts;
protected ?string $draftStore = 'laravel-drafts';
}
use Oddvalue\FilamentDraftRecovery\Contracts\DraftStore;
use Oddvalue\FilamentDraftRecovery\Data\DraftContext;
use Oddvalue\FilamentDraftRecovery\Data\RecoveredDraft;
use Oddvalue\FilamentDraftRecovery\Facades\DraftRecovery;
class RedisDraftStore implements DraftStore
{
public function isClientSide(): bool
{
return false;
}
public function get(DraftContext $context): ?RecoveredDraft
{
$payload = Redis::get($context->key);
return $payload ? new RecoveredDraft(data: json_decode($payload, true)) : null;
}
public function put(DraftContext $context, array $data): void
{
Redis::setex($context->key, 60 * 60 * 24 * 7, json_encode($data));
}
public function forget(DraftContext $context): void
{
Redis::del($context->key);
}
}
// In a service provider:
DraftRecovery::extend('redis', fn () => new RedisDraftStore);
'save_debounce_milliseconds' => 5000,
protected function draftRecoverySaveDebounceMilliseconds(): int
{
return 5000;
}