### Install Package Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Installs the filament-versionable package using Composer and publishes its configuration and migrations. ```bash composer require mansoor/filament-versionable php artisan vendor:publish --provider="Overtrue\LaravelVersionable\ServiceProvider" php artisan migrate ``` -------------------------------- ### Run Tests Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Executes the package's test suite to ensure functionality and identify any regressions. ```bash composer test ``` -------------------------------- ### Publish Views Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Publishes the package's Blade views, allowing for customization of the Revisions page UI. ```bash php artisan vendor:publish --tag="filament-versionable-views" ``` -------------------------------- ### Add Plugin Views and CSS Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Includes the plugin's CSS and Blade views into your custom Filament theme. This is necessary for the package's UI elements to display correctly. ```css @import '../../../../vendor/mansoor/filament-versionable/resources/css/plugin.css'; @source '../../../../vendor/mansoor/filament-versionable/resources/**/*.blade.php'; ``` -------------------------------- ### Create Revisions Page Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Defines a custom Filament Revisions page for a specific resource (e.g., ArticleResource). This page will display the version history for that resource. ```php namespace App\Filament\Resources\ArticleResource\Pages; use App\Filament\Resources\ArticleResource; use Mansoor\FilamentVersionable\RevisionsPage; class ArticleRevisions extends RevisionsPage { protected static string $resource = ArticleResource::class; } ``` -------------------------------- ### Register Revisions Page in Resource Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Adds a new route for the 'revisions' page within a Filament Resource's page configuration. This makes the revision history accessible via a URL. ```php use App\Filament\Resources\ArticleResource\Pages; public static function getPages(): array { return [ ... 'revisions' => Pages\ArticleRevisions::route('/{record}/revisions'), ]; } ``` -------------------------------- ### Model Trait and Version Strategy Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Applies the Versionable trait to an Eloquent model and configures version tracking strategy. It specifies which attributes to version and how to store them (SNAPSHOT or DIFF). ```php use Overtrue\LaravelVersionable\VersionStrategy; class Post extends Model { use Overtrue\LaravelVersionable\Versionable; protected $versionable = ['title', 'content']; protected $versionStrategy = VersionStrategy::SNAPSHOT; } ``` -------------------------------- ### Add Revisions Action to Page Header Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Includes the RevisionsAction in the header of a Filament resource's edit or view page. This action provides a button to access the revision history. ```php use Mansoor\FilamentVersionable\Page\RevisionsAction; protected function getHeaderActions(): array { return [ RevisionsAction::make(), ]; } ``` -------------------------------- ### Add Revisions Action to Table Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Adds the RevisionsAction as a table action within a Filament resource's table. This allows users to view revisions directly from the resource's list view. ```php use Mansoor\FilamentVersionable\Table\RevisionsAction; $table->actions([ RevisionsAction::make(), ]); ``` -------------------------------- ### Strip Tags from Diff Source: https://github.com/mansoorkhan96/filament-versionable/blob/4.x/README.md Overrides the `shouldStripTags` method in a custom RevisionsPage to remove HTML tags from the displayed diff content. ```php class ArticleRevisions extends RevisionsPage { protected static string $resource = ArticleResource::class; public function shouldStripTags(): bool { return true; } } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.