Skip to content

relaticle/activity-log

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

relaticle/activity-log

Activity Log

A unified chronological timeline for any Eloquent model. Aggregates spatie/laravel-activitylog events (own log + related logs), timestamp columns on related models, and any custom source you define — all in one Filament-native feed.

Latest Version Total Downloads PHP 8.4+ Laravel 12+ Filament 5+ Tests

Features

  • Unified timeline — merge spatie logs, related-model timestamps, and custom events into one stream
  • Pluggable sourcesfromActivityLog, fromActivityLogOf, fromRelation, fromCustom, and custom TimelineSource classes
  • Per-event renderers — Blade views, closures, or renderer classes bound per event or type
  • Filament-native UX — infolist component, relation manager, and header-action slide-over
  • Dedup + filtering — type/event allow/deny lists, date windows, priority-based dedup with override
  • Opt-in caching — per-call TTL with explicit invalidation — no model observers

Requirements

  • PHP 8.4+
  • Laravel 12
  • Filament 5
  • spatie/laravel-activitylog ^5

Installation

composer require relaticle/activity-log

Usage

Make the model timeline-capable, then render it on a Filament resource:

use Relaticle\ActivityLog\Concerns\InteractsWithTimeline;
use Relaticle\ActivityLog\Contracts\HasTimeline;
use Relaticle\ActivityLog\Timeline\TimelineBuilder;
use Spatie\Activitylog\Traits\LogsActivity;

class Person extends Model implements HasTimeline
{
    use InteractsWithTimeline;
    use LogsActivity;

    public function timeline(): TimelineBuilder
    {
        return TimelineBuilder::make($this)->fromActivityLog();
    }
}
use Filament\Schemas\Schema;
use Relaticle\ActivityLog\Filament\Infolists\Components\ActivityLog;

public static function infolist(Schema $schema): Schema
{
    return $schema->components([
        ActivityLog::make('activity')->columnSpanFull(),
    ]);
}

View Complete Documentation →

Our Ecosystem

FilaForms

Visual form builder for all your public-facing forms. Learn more →

Custom Fields

Let users add custom fields to any model without code changes. Learn more →

Flowforge

Drag-and-drop Kanban for any Laravel model. Learn more →

Contributing

Contributions are welcome. Please submit a Pull Request.

License

MIT License. See LICENSE.md for details.

About

Reusable Filament plugin that renders a unified activity-log timeline for any Eloquent model

Resources

Stars

Watchers

Forks

Packages