PHP code example of hamoda-dev / filament-activity-history
1. Go to this page and download the library: Download hamoda-dev/filament-activity-history 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/ */
hamoda-dev / filament-activity-history example snippets
use HamodaDev\ActivityHistory\ActivityHistoryPlugin;
public function panel(Panel $panel): Panel
{
return $panel->plugin(ActivityHistoryPlugin::make());
}
use Spatie\Activitylog\LogOptions;
use Spatie\Activitylog\Traits\LogsActivity;
class Order extends Model
{
use LogsActivity;
public function getActivitylogOptions(): LogOptions
{
return LogOptions::defaults()
->logFillable()
->logOnlyDirty()
->dontSubmitEmptyLogs();
}
}
use Illuminate\Support\Facades\Auth;
use Spatie\Activitylog\Facades\CauserResolver;
CauserResolver::resolveUsing(function () {
foreach (['store', 'admin', 'web'] as $guard) {
if (Auth::guard($guard)->check()) {
return Auth::guard($guard)->user();
}
}
return null;
});
use HamodaDev\ActivityHistory\Contracts\HasActivityRelations;
class Order extends Model implements HasActivityRelations
{
/** @return array<int, string> */
public function activityRelations(): array
{
return ['items', 'payments', 'refunds'];
}
}
use HamodaDev\ActivityHistory\Concerns\HasActivityHistory;
class Order extends Model implements HasActivityRelations
{
use HasActivityHistory;
protected array $activityRelations = ['items', 'payments'];
}
use HamodaDev\ActivityHistory\Contracts\HasActivityTitle;
class ProductVariant extends Model implements HasActivityTitle
{
public function activityTitle(): ?string
{
return $this->optionDescriptor() ?: null; // "Gray / S"
}
}
use HamodaDev\ActivityHistory\Actions\TimelineAction;
use HamodaDev\ActivityHistory\Timeline\Timeline;
TimelineAction::make()
->timeline(fn (Timeline $timeline) => $timeline->searchable())