File: /home/posscale/www/printmanager/vendor/filament/tables/src/Columns/Concerns/CanCallAction.php
<?php
namespace Filament\Tables\Columns\Concerns;
use Closure;
use Filament\Tables\Actions\Action;
use Filament\Tables\Contracts\HasTable;
use Illuminate\Database\Eloquent\Model;
trait CanCallAction
{
protected Closure | Action | string | null $action = null;
public function action(Closure | Action | string | null $action): static
{
if (is_string($action)) {
$action = function (HasTable $livewire, ?Model $record) use ($action) {
if ($record) {
return $livewire->{$action}($record);
}
return $livewire->{$action}();
};
}
$this->action = $action;
return $this;
}
public function getAction(): Closure | Action | null
{
return $this->action;
}
}