File: /home/posscale/public_html/printmanager/vendor/filament/tables/src/Actions/ViewAction.php
<?php
namespace Filament\Tables\Actions;
use Closure;
use Filament\Actions\StaticAction;
use Filament\Support\Facades\FilamentIcon;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Model;
class ViewAction extends Action
{
protected ?Closure $mutateRecordDataUsing = null;
public static function getDefaultName(): ?string
{
return 'view';
}
protected function setUp(): void
{
parent::setUp();
$this->label(__('filament-actions::view.single.label'));
$this->modalHeading(fn (): string => __('filament-actions::view.single.modal.heading', ['label' => $this->getRecordTitle()]));
$this->modalSubmitAction(false);
$this->modalCancelAction(fn (StaticAction $action) => $action->label(__('filament-actions::view.single.modal.actions.close.label')));
$this->defaultColor('gray');
$this->icon(FilamentIcon::resolve('actions::view-action') ?? 'heroicon-m-eye');
$this->disabledForm();
$this->fillForm(function (Model $record, Table $table): array {
if ($translatableContentDriver = $table->makeTranslatableContentDriver()) {
$data = $translatableContentDriver->getRecordAttributesToArray($record);
} else {
$data = $record->attributesToArray();
}
if ($this->mutateRecordDataUsing) {
$data = $this->evaluate($this->mutateRecordDataUsing, ['data' => $data]);
}
return $data;
});
$this->action(static function (): void {});
}
public function mutateRecordDataUsing(?Closure $callback): static
{
$this->mutateRecordDataUsing = $callback;
return $this;
}
}