@php /** * Barre de filtres des découpes posées, sur le modèle de celle des * commandes : chaque pastille est un lien, l'url porte l'état complet de * l'écran, et cliquer une pastille active la désactive. * * Ordre, libellés et couleurs viennent de config/commandes.php — le * déroulé de la découpe pour les états, l'alphabétique pour les * laséristes. La base ne stocke qu'un code. * * Attendus : $etats / $laseristes (facettes ordonnées par le contrôleur), * $filtres, $q, $total, $tri, $commandesFiltre. */ // Le tri suit les filtres, comme sur l'index des commandes : changer de // pastille ne doit pas faire perdre l'ordre qu'on vient de choisir. // Le filtre sur la selection des commandes aussi : une pastille ne // ramene pas la liste entiere. $lien = function (array $modifs) use ($filtres, $q, $tri, $commandesFiltre) { $params = $filtres; if ($tri !== '') { $params['tri'] = $tri; } if ($commandesFiltre) { $params['commandes'] = $commandesFiltre; } foreach ($modifs as $cle => $valeur) { if ($valeur === null) { unset($params[$cle]); } else { $params[$cle] = $valeur; } } if ($q !== '') { $params['q'] = $q; } return route('commande_decoupes.index', $params); }; @endphp {{-- ---------------------------- État ---------------------------- --}}