PdfDownloadRenderer
extends CellRenderer
in package
Renders a download icon for a generated PDF.
Bind the column to the property holding the file path or name (e.g. pdf). An empty value
leaves the cell empty (the PDF is not generated yet); otherwise the icon links to a presenter
action that streams the file, not to the file path itself (see LinkRenderer).
Table of Contents
Properties
- $destination : string
- $icon : string
- $params : array<string, string>
- $title : string|null
Methods
- __construct() : mixed
- create() : static
- getTemplateName() : string
- Cell template name (`Cells/<type>.latte`).
- prepare() : array<string, mixed>
- Variables for the cell template.
- setDestination() : static
- Nette destination of the presenter action that streams the file.
- setIcon() : static
- FontAwesome icon class, defaults to `fa-solid fa-file-pdf`.
- setParams() : static
- setTitle() : static
- Tooltip (the `title` attribute of the link).
- toCsvValue() : string
- Plain text value of the cell for the CSV export (no HTML/JS); does not change the normal render. The default implementation looks for a text in the vars from {@see prepare()} (key `text`; true for {@see TextRenderer}, {@see ComputedRenderer}, {@see OptionRenderer}, {@see BadgeRenderer}, `Date*Renderer`) and falls back to {@see toString()}. Renderers without a text representation (bool, select, toggle) override it.
- toScalarValue() : mixed
- Column value to a scalar comparable with the keys of `options` maps: a `BackedEnum` becomes its `value`, a pure enum its `name`, a bool 0/1. Other values pass unchanged.
- toString() : string
- Column value (mixed) to text; non-stringable values give an empty string.
Properties
$destination
protected
string
$destination
= 'downloadPdf'
$icon
protected
string
$icon
= 'fa-solid fa-file-pdf'
$params
protected
array<string, string>
$params
= ['id' => 'id']
URL parameter => property path
$title
protected
string|null
$title
= null
Methods
__construct()
public
final __construct() : mixed
create()
public
static create() : static
Return values
staticgetTemplateName()
Cell template name (`Cells/<type>.latte`).
public
getTemplateName() : string
Return values
stringprepare()
Variables for the cell template.
public
prepare(mixed $value, object $entity, DataGrid $grid, BaseColumn $column) : array<string, mixed>
Parameters
- $value : mixed
- $entity : object
- $grid : DataGrid
- $column : BaseColumn
Return values
array<string, mixed>setDestination()
Nette destination of the presenter action that streams the file.
public
setDestination(string $destination) : static
Parameters
- $destination : string
Return values
staticsetIcon()
FontAwesome icon class, defaults to `fa-solid fa-file-pdf`.
public
setIcon(string $icon) : static
Parameters
- $icon : string
Return values
staticsetParams()
public
setParams(array<string, string> $params) : static
Parameters
- $params : array<string, string>
-
URL parameter => entity property path
Return values
staticsetTitle()
Tooltip (the `title` attribute of the link).
public
setTitle(string|null $title) : static
Parameters
- $title : string|null
Return values
statictoCsvValue()
Plain text value of the cell for the CSV export (no HTML/JS); does not change the normal render. The default implementation looks for a text in the vars from {@see prepare()} (key `text`; true for {@see TextRenderer}, {@see ComputedRenderer}, {@see OptionRenderer}, {@see BadgeRenderer}, `Date*Renderer`) and falls back to {@see toString()}. Renderers without a text representation (bool, select, toggle) override it.
public
toCsvValue(mixed $value, object $entity, DataGrid $grid, BaseColumn $column) : string
Parameters
- $value : mixed
- $entity : object
- $grid : DataGrid
- $column : BaseColumn
Return values
stringtoScalarValue()
Column value to a scalar comparable with the keys of `options` maps: a `BackedEnum` becomes its `value`, a pure enum its `name`, a bool 0/1. Other values pass unchanged.
protected
toScalarValue(mixed $value) : mixed
IMPORTANT: entities return an enum object for enum columns (typed property), so without
this normalization the cell template receives an object and (string) $enum is a fatal
error, not an empty output.
Parameters
- $value : mixed
toString()
Column value (mixed) to text; non-stringable values give an empty string.
protected
toString(mixed $value) : string
An enum prints its value/name; a bool keeps the (string) semantics
(false is empty, not "0"), as the admin always printed it.
Parameters
- $value : mixed