CoolCMS API

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

$params

protected array<string, string> $params = ['id' => 'id']

URL parameter => property path

Methods

create()

public static create() : static
Return values
static

getTemplateName()

Cell template name (`Cells/<type>.latte`).

public getTemplateName() : string
Return values
string

prepare()

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
static

setIcon()

FontAwesome icon class, defaults to `fa-solid fa-file-pdf`.

public setIcon(string $icon) : static
Parameters
$icon : string
Return values
static

setParams()

public setParams(array<string, string> $params) : static
Parameters
$params : array<string, string>

URL parameter => entity property path

Return values
static

setTitle()

Tooltip (the `title` attribute of the link).

public setTitle(string|null $title) : static
Parameters
$title : string|null
Return values
static

toCsvValue()

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
string

toScalarValue()

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
Return values
string
On this page

Search results