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]
$translator
protected
mixed
$translator
$urlHelper
protected
mixed
$urlHelper
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
stringdtGenerateFunction()
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
stringgetText()
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