pxlrbt/filament-activity-log

Spatie's Laravel Activity Log integrated into Filament

Fund package maintenance!
pxlrbt

Installs: 113 493

Dependents: 1

Suggesters: 0

Security: 0

Stars: 143

Watchers: 5

Forks: 26

Open Issues: 10

v1.1.5 2024-08-21 08:01 UTC

README

header

Filament Activity Log

Latest Version on Packagist Software License GitHub Workflow Status Total Downloads

This package adds a page to the Filament Admin panel to view the activity log generated by spatie/laravel-activitylog.

Screenshot

Installation

Install via Composer.

Requires PHP 8.0 and Filament 2.0

composer require pxlrbt/filament-activity-log

Warning This plugin only offers a page to show activities related to your model. You need spatie/laravel-activitylog installed and configured for it to work. It is important you are using the LogsActivity trait as per Spatie's docs for this work as we use the '->activities()' method of the trait.

Usage

Make sure you use a custom theme and the vendor folder for this plugins is published, so that it includes the Tailwind CSS classes.

Create a page

Create the page inside your resources Pages/ directory. Replace UserResource with your resource.

<?php

namespace App\Filament\Resources\UserResource\Pages;

use pxlrbt\FilamentActivityLog\Pages\ListActivities;

class ListUserActivities extends ListActivities
{
    protected static string $resource = UserResource::class;
}

Register the page

Add the page to your resource's getPages() method.

public static function getPages(): array
{
    return [
        'index' => Pages\ListUsers::route('/'),
        'create' => Pages\CreateUser::route('/create'),
        'activities' => Pages\ListUserActivities::route('/{record}/activities'),
        'edit' => Pages\EditUser::route('/{record}/edit'),
    ];
}

Link to your page

Use a Filament action to link to your from your table or page.

$table->actions([
    Action::make('activities')->url(fn ($record) => YourResource::getUrl('activities', ['record' => $record]))
]);

Contributing

If you want to contribute to this packages, you may want to test it in a real Filament project:

  • Fork this repository to your GitHub account.
  • Create a Filament app locally.
  • Clone your fork in your Filament app's root directory.
  • In the /filament-activity-log directory, create a branch for your fix, e.g. fix/error-message.

Install the packages in your app's composer.json:

"require": {
    "pxlrbt/filament-activity-log": "dev-fix/error-message as main-dev",
},
"repositories": [
    {
        "type": "path",
        "url": "filament-activity-log"
    }
]

Now, run composer update.