PHP code example of androsamp / filament-resource-lock
1. Go to this page and download the library: Download androsamp/filament-resource-lock 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/ */
androsamp / filament-resource-lock example snippets
use Androsamp\FilamentResourceLock\Concerns\HasResourceLocks;
use Illuminate\Database\Eloquent\Model;
class Customer extends Model
{
use HasResourceLocks;
}
use Androsamp\FilamentResourceLock\Concerns\InteractsWithResourceLock;
use Filament\Resources\Pages\EditRecord;
class EditCustomer extends EditRecord
{
use InteractsWithResourceLock;
protected static string $resource = CustomerResource::class;
}
use Androsamp\FilamentResourceLock\Resources\Columns\ResourceAuditCreatorColumn;
use Androsamp\FilamentResourceLock\Resources\Columns\ResourceLockColumn;
use Filament\Tables\Table;
public static function table(Table $table): Table
{
return $table->columns([
ResourceLockColumn::make(),
ResourceAuditCreatorColumn::make(), //
use Androsamp\FilamentResourceLock\Concerns\HasResourceAudit;
use Androsamp\FilamentResourceLock\Concerns\InteractsWithResourceLock;
use Filament\Resources\Pages\EditRecord;
class EditProduct extends EditRecord
{
use InteractsWithResourceLock;
use HasResourceAudit;
protected function getHeaderActions(): array
{
return [
// ... other actions
$this->getAuditHistoryAction(),
];
}
}
use Androsamp\FilamentResourceLock\Concerns\HasResourceAudit;
use Filament\Resources\Pages\CreateRecord;
class CreateProduct extends CreateRecord
{
use HasResourceAudit;
}
public function save(bool $shouldRedirect = true, bool $shouldSendSavedNotification = true): void
{
$this->syncResourceAuditBeforeSave();
parent::save($shouldRedirect, $shouldSendSavedNotification);
$this->syncResourceAuditAfterSave();
}
use Androsamp\FilamentResourceLock\Forms\Concerns\HasAuditDiffPreview;
use Filament\Forms\Components\Field;
class MapPicker extends Field
{
use HasAuditDiffPreview;
protected function setUp(): void
{
parent::setUp();
$this->auditDiffPreviewUsing(function (mixed $state): string {
$lat = is_array($state) ? ($state['lat'] ?? '-') : '-';
$lng = is_array($state) ? ($state['lng'] ?? '-') : '-';
return '<p class="text-sm">' . e($lat) . ', ' . e($lng) . '</p>';
});
}
}