← All plugins

MoonShine Changelog

MoonShine Changelog - это пакет для MoonShine, который добавляет функционал отслеживания изменений в моделях, позволяя легко просматривать историю последних модификаций через специальный компонент в админ-панели.

Rating
Downloads
11269
Version
3.0.0
Last updated
24.10.2025
MoonShine version
v2, v3, v4.0
Github stars
6
MoonShine Software
Author
MoonShine Software

MoonShine Changelog

Requirements

  • MoonShine v4.0+

Support MoonShine versions

MoonShine ChangeLog
2.0+ 1.0+
3.0+ 2.0+
4.0+ 3.0+

Installation

composer require moonshine/changelog
composer require moonshine/changelog
php artisan migrate
php artisan migrate

Get started

Add trait HasChangeLog to model

class Post extends Model
{
use HasChangeLog;
}
class Post extends Model
{
use HasChangeLog;
}

Add component to Page

protected function bottomLayer(): array
{
return [
...parent::bottomLayer(),
 
ChangeLog::make('Changelog', $this->getResource(), \App\MoonShine\Resources\MoonShineUserResource::class)
];
}
protected function bottomLayer(): array
{
return [
...parent::bottomLayer(),
 
ChangeLog::make('Changelog', $this->getResource(), \App\MoonShine\Resources\MoonShineUserResource::class)
];
}

or in Resource

class PostResource extends ModelResource
{
// ...
protected function onLoad(): void
{
$this->getFormPage()->pushToLayer(
Layer::BOTTOM,
ChangeLog::make('Changelog', $this, \App\MoonShine\Resources\MoonShineUserResource::class)
);
}
// ...
}
class PostResource extends ModelResource
{
// ...
protected function onLoad(): void
{
$this->getFormPage()->pushToLayer(
Layer::BOTTOM,
ChangeLog::make('Changelog', $this, \App\MoonShine\Resources\MoonShineUserResource::class)
);
}
// ...
}

By default, 5 last changes are displayed. To change this, use the limit() method

ChangeLog::make('Changelog', $this)->limit(10)
ChangeLog::make('Changelog', $this)->limit(10)

By default, Resource of BelongsTo is MoonShine\Laravel\Resources\MoonShineUserResource To change this, use the userResource parameter

ChangeLog::make('Changelog', $this, userResource: \App\MoonShine\Resources\MoonShineUserResource::class)->limit(10)
ChangeLog::make('Changelog', $this, userResource: \App\MoonShine\Resources\MoonShineUserResource::class)->limit(10)