File: /home/posscale/public_html/printmanager/vendor/filament/actions/src/ViewAction.php
<?php
namespace Filament\Actions;
use Closure;
use Filament\Actions\Contracts\HasActions;
use Filament\Support\Facades\FilamentIcon;
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->groupedIcon(FilamentIcon::resolve('actions::view-action.grouped') ?? 'heroicon-m-eye');
$this->disabledForm();
$this->fillForm(function (HasActions $livewire, Model $record): array {
if ($translatableContentDriver = $livewire->makeFilamentTranslatableContentDriver()) {
$data = $translatableContentDriver->getRecordAttributesToArray($record);
} else {
$data = $record->attributesToArray();
}
if ($this->mutateRecordDataUsing) {
$data = $this->evaluate($this->mutateRecordDataUsing, ['data' => $data]);
}
return $data;
});
}
public function mutateRecordDataUsing(?Closure $callback): static
{
$this->mutateRecordDataUsing = $callback;
return $this;
}
}