incorpore datatables.net

This commit is contained in:
Fred Tempez 2023-11-30 13:52:22 +01:00
parent eeb96186c1
commit ad1edcf9a2
7 changed files with 84 additions and 10 deletions

View File

@ -13,8 +13,12 @@
### Améliorations
- La gestion des utilisateurs bénéficie de nouvelles fonctionnalités :
- Un champ étiquette optionnel peut être attribué aux utilisateurs, il contient des mots clés séparés par des espaces. Ces mots clés permettent de filtrer les utilisateurs.
- Un champ de recherche dynamique agisssant sur l'ensemble des colonnes du tableau filtre les lignes.
- Le nombre d'éléments affichés est dynamique.
- Affecte une icône home aux boutons de retour.
- Ajoute un bouton de retour aux pages d'erreur 403 et d'erreur 404.
- Ajoute un lien de retour aux pages d'erreur 403 et d'erreur 404.
## Version 13.0.08

View File

@ -550,7 +550,10 @@ class user extends common
// Valeurs en sortie
$this->addOutput([
'title' => helper::translate('Utilisateurs'),
'view' => 'index'
'view' => 'index',
'vendor' => [
'datatables'
]
]);
}
@ -1232,9 +1235,9 @@ class user extends common
$item['nom'],
$item['prenom'],
self::$groups[$item['groupe']],
($this->getData(['profil', $item['groupe'], $item['profil'], 'name']) !== null )
? $this->getData(['profil', $item['groupe'], $item['profil'], 'name'])
: $item['profil'],
empty($this->getData(['profil', $this->getData(['user', $userId, 'group']), $this->getData(['user', $userId, 'profil']), 'name']))
? helper::translate(self::$groups[(int) $this->getData(['user', $userId, 'group'])])
: $this->getData(['profil', $this->getData(['user', $userId, 'group']), $this->getData(['user', $userId, 'profil']), 'name']),
$item['prenom'],
helper::filter($item['email'], helper::FILTER_MAIL),
$item['tags'],
@ -1291,15 +1294,14 @@ class user extends common
}
}
// Création du tableau de confirmation
var_dump( $item['profil']);
self::$users[] = [
$userId,
$item['nom'],
$item['prenom'],
self::$groups[$item['groupe']],
($this->getData(['profil', $item['groupe'], $item['profil'], 'name']) !== null )
? $this->getData(['profil', $item['groupe'], $item['profil'], 'name'])
: $item['profil'],
empty($this->getData(['profil', $this->getData(['user', $userId, 'group']), $this->getData(['user', $userId, 'profil']), 'name']))
? helper::translate(self::$groups[(int) $this->getData(['user', $userId, 'group'])])
: $this->getData(['profil', $this->getData(['user', $userId, 'group']), $this->getData(['user', $userId, 'profil']), 'name']),
$item['prenom'],
$item['email'],
$item['tags'],

View File

@ -25,7 +25,8 @@ $(document).ready((function () {
$('#dataTables').DataTable({
language: {
url: "core/vendor/datatables/french.json"
url: "core/vendor/datatables/french.json",
"paging": false
}
});
}));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

22
core/vendor/datatables/french.json vendored Normal file
View File

@ -0,0 +1,22 @@
{
"processing": "Traitement en cours...",
"search": "Rechercher :",
"lengthMenu": "Éléments par page _MENU_",
"info": "Affichage de l'élement _START_ à _END_ sur _TOTAL_ éléments",
"infoEmpty": "Affichage de l'élement 0 à 0 sur 0 éléments",
"infoFiltered": "(filtré de _MAX_ éléments au total)",
"infoPostFix": "",
"loadingRecords": "Chargement en cours...",
"zeroRecords": "Aucun élément à afficher",
"emptyTable": "Aucune donnée disponible dans le tableau",
"paginate": {
"first": "Premier",
"previous": "Précédent",
"next": "Suivant",
"last": "Dernier"
},
"aria": {
"sortAscending": ": activer pour trier la colonne par ordre croissant",
"sortDescending": ": activer pour trier la colonne par ordre décroissant"
}
}

4
core/vendor/datatables/inc.json vendored Normal file
View File

@ -0,0 +1,4 @@
[
"datatables.min.js",
"datatables.min.css"
]