Sf TIC Bundles

DatatablesExtension extends TICTwigExtension
in package

Filtres et fonctions twig pour générer des listes avec DataTables.js https://symfony.com/doc/current/templating/twig_extension.html

Table of Contents

Properties

$strings  : mixed
$translator  : mixed
$urlHelper  : mixed

Methods

__construct()  : mixed
dtFiltersFunction()  : string
Génération du code HTML du conteneur des filtres de recherches (créés ensuite dynamiquement en JS).
dtGenerateFunction()  : string
Génération du code JavaScript pour initialiser DataTables sur une table HTML.
getFunctions()  : array<string|int, mixed>
findLanguageURL()  : string
Retourne l'URL du fichier JSON des traductions à charger en AJAX.
getBool()  : mixed
Retourne l'équivalent booléen (ou null) d'une variable quelconque.
getIcon()  : string
Génération d'un tag HTML pour afficher un icone FontAwesome ou Bootstrap (avec quelques alias utiles).
getText()  : string
Retourne une chaine texte à partir d'une variable (avec traduction et échappements HTML possibles).
htmlAttr()  : string
Conversion d'un hachage en une chaine d'attributs insérable dans un tag HTML.
makeLayout()  : string
Construction de l'option "dom" de DataTable selon les fonctionnalités à afficher.
makeOrders()  : array<string|int, mixed>
Construction de l'option "orders" de DataTable à partir d'un (ou plusieurs) entier(s).
trans()  : string
Recherche la traduction d'un texte (si le service $translator est disponible).

Properties

$strings

protected static mixed $strings = ['true' => 'ext.boolean.true', 'false' => 'ext.boolean.false', 'null' => null]

Methods

__construct()

public __construct(UrlHelper $urlHelper[, TranslatorInterface $translator = null ]) : mixed
Parameters
$urlHelper : UrlHelper
$translator : TranslatorInterface = null

dtFiltersFunction()

Génération du code HTML du conteneur des filtres de recherches (créés ensuite dynamiquement en JS).

public dtFiltersFunction([string $id = null ][, bool $noreset = false ]) : string

Classes possibles pour activer les filtres (à définir dans les headers) : sel-filter, lsel-filter, csel-filter, isel-filter, ltxt-filter, ctxt-filter, bool-filter, min-filter, max-filter

Parameters
$id : string = null
$noreset : bool = false
Return values
string

dtGenerateFunction()

Génération du code JavaScript pour initialiser DataTables sur une table HTML.

public dtGenerateFunction([array<string|int, mixed> $options = [] ]) : string

Liste des options disponibles :

  • id (default 'itemlist') : Valeur de l'attribut 'id' de l'objet HTML à transformer
  • orders (default 1) : Numéro(s) des colonnes pour le tri (sens inversé si négatif) ex: "-1,2"
  • persist (default false) :
  • filters (default false) :
  • search (default false) : Si faux mais option "filters" vrai, vrai forcé mais avec input masqué
  • paging (default false) :
  • info (default false) :
  • buttons (default false) : Si true affichage de la zone avec la liste définie par défaut, si faux liste vide
  • responsive (default false) :
  • select (default false) : ["info"=>false] sinon ["style"=>'multi'] ou ["style"=>'os',"selector"=>'td:first-child']
  • ajax (default false) : URL

phPrefix (default '– ') : Préfixe du libellé (placeholder) pour génération des filtres (ex '• ')

selOpts (default []) : Spécification des choix à utiliser pour les filtres select

defaults (default []) : Valeurs de filtre par défaut pour les colonnes (dans l'ordre)

fnPost (default false) : Nom d'une fonction JS à exécuter en fin d'initialisation

  • options (default []) : Hachage d'autres options JS à passer dans la configuration de DataTables
Parameters
$options : array<string|int, mixed> = []

Liste d'options pour paramétrer la construction

Return values
string

Code JS d'initialisation de DataTables sur l'objet HTML spécifié

getFunctions()

public getFunctions() : array<string|int, mixed>
Return values
array<string|int, mixed>

findLanguageURL()

Retourne l'URL du fichier JSON des traductions à charger en AJAX.

protected findLanguageURL([string $locale = null ]) : string
Parameters
$locale : string = null

Locale des traductions souhaitées (courante par défaut)

Return values
string

URL absolue vers le fichier JSON de traductions de Datatables

getBool()

Retourne l'équivalent booléen (ou null) d'une variable quelconque.

protected getBool(mixed $value[, mixed $default = null ]) : mixed
Parameters
$value : mixed

Variable à convertir en booléen

$default : mixed = null

Valeur à retourner si la conversion échoue

getIcon()

Génération d'un tag HTML pour afficher un icone FontAwesome ou Bootstrap (avec quelques alias utiles).

protected getIcon(string $name[, string $state = '' ]) : string
Parameters
$name : string

Classe Bootstrap ou FontAwesome (ex 'fas-user', 'fab-user', 'envelope', 'ban-circle'...)

$state : string = ''

Ajout d'une classe de type 'text-' (ex: primary, info, success, warning, danger)

Return values
string

getText()

Retourne une chaine texte à partir d'une variable (avec traduction et échappements HTML possibles).

protected getText(mixed $value[, bool $trans = false ][, bool $escape = false ]) : string
Parameters
$value : mixed

Variable à convertir en texte

$trans : bool = false

Recherche d'une traduction (si c'est une chaine valide)

$escape : bool = false

Appliquer les échappements HTML

Return values
string

Chaine de texte correspondante

htmlAttr()

Conversion d'un hachage en une chaine d'attributs insérable dans un tag HTML.

protected htmlAttr([array<string|int, mixed> $attr = array() ]) : string
Parameters
$attr : array<string|int, mixed> = array()

Liste d'attributs HTML en clé/valeur

Return values
string

Code HTML contenant les attributs d'un tag

makeLayout()

Construction de l'option "dom" de DataTable selon les fonctionnalités à afficher.

protected makeLayout([bool $search = false ][, bool $paging = false ][, bool $buttons = false ]) : string

"i" informations (nb affichés/total) "l" [paging] sélecteur nb d'éléments par page "p" [paging] navigation sur les numéros de pages "f" [search] filtre de recherche global "B" [button] boutons d'action (exports, print...)

Parameters
$search : bool = false

Option de recherche globale activée ?

$paging : bool = false

Option de pagination de la liste activée ?

$buttons : bool = false
Return values
string

Chaine indiquant les blocs et classes de mise en page

makeOrders()

Construction de l'option "orders" de DataTable à partir d'un (ou plusieurs) entier(s).

protected makeOrders([mixed $orders = 0 ]) : array<string|int, mixed>

Exemples : "-1" => [ [0,"desc"] ] [-1,2] => [ [0,"desc"], [1,"asc"] ] "1,-3" => [ [0,"asc"], [2,"desc"] ]

Parameters
$orders : mixed = 0

Numéro(s) des colonnes, négatif pour tri inverse (liste ou chaine avec virgule)

Return values
array<string|int, mixed>

Liste de critères de tri (couples index de colonne et sens)

trans()

Recherche la traduction d'un texte (si le service $translator est disponible).

protected trans(string $token) : string
Parameters
$token : string

Chaine de texte à traduire

Return values
string

Chaine de texte traduite


        
On this page

Search results