mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
[filterOrder] show selected picked users in the results boxes
This commit is contained in:
parent
ea0e5dfa14
commit
c0901947ca
@ -11,6 +11,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\MainBundle\Templating\Listing;
|
namespace Chill\MainBundle\Templating\Listing;
|
||||||
|
|
||||||
|
use Chill\MainBundle\Templating\Entity\UserRender;
|
||||||
use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
|
use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
|
||||||
use Symfony\Component\PropertyAccess\PropertyPathInterface;
|
use Symfony\Component\PropertyAccess\PropertyPathInterface;
|
||||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||||
@ -20,6 +21,7 @@ final readonly class FilterOrderGetActiveFilterHelper
|
|||||||
public function __construct(
|
public function __construct(
|
||||||
private TranslatorInterface $translator,
|
private TranslatorInterface $translator,
|
||||||
private PropertyAccessorInterface $propertyAccessor,
|
private PropertyAccessorInterface $propertyAccessor,
|
||||||
|
private UserRender $userRender,
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,6 +75,12 @@ final readonly class FilterOrderGetActiveFilterHelper
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($filterOrderHelper->getUserPickers() as $name => ['label' => $label, 'options' => $options]) {
|
||||||
|
foreach ($filterOrderHelper->getUserPickerData($name) as $user) {
|
||||||
|
$result[] = ['value' => $this->userRender->renderString($user, []), 'label' => (string) $label, 'position' => FilterOrderPositionEnum::UserPicker->value, 'name' => $name];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($filterOrderHelper->getSingleCheckbox() as $name => ['label' => $label]) {
|
foreach ($filterOrderHelper->getSingleCheckbox() as $name => ['label' => $label]) {
|
||||||
if (true === $filterOrderHelper->getSingleCheckboxData($name)) {
|
if (true === $filterOrderHelper->getSingleCheckboxData($name)) {
|
||||||
$result[] = ['label' => '', 'value' => $this->translator->trans($label), 'position' => FilterOrderPositionEnum::SingleCheckbox->value, 'name' => $name];
|
$result[] = ['label' => '', 'value' => $this->translator->trans($label), 'position' => FilterOrderPositionEnum::SingleCheckbox->value, 'name' => $name];
|
||||||
|
@ -11,6 +11,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\MainBundle\Templating\Listing;
|
namespace Chill\MainBundle\Templating\Listing;
|
||||||
|
|
||||||
|
use Chill\MainBundle\Entity\User;
|
||||||
use Chill\MainBundle\Form\Type\Listing\FilterOrderType;
|
use Chill\MainBundle\Form\Type\Listing\FilterOrderType;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
use Symfony\Component\Form\Extension\Core\Type\FormType;
|
||||||
@ -134,6 +135,9 @@ final class FilterOrderHelper
|
|||||||
return $this->userPickers;
|
return $this->userPickers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return list<User>
|
||||||
|
*/
|
||||||
public function getUserPickerData(string $name): array
|
public function getUserPickerData(string $name): array
|
||||||
{
|
{
|
||||||
return $this->getFormData()['user_pickers'][$name];
|
return $this->getFormData()['user_pickers'][$name];
|
||||||
|
@ -18,4 +18,5 @@ enum FilterOrderPositionEnum: string
|
|||||||
case DateRange = 'date_range';
|
case DateRange = 'date_range';
|
||||||
case EntityChoice = 'entity_choice';
|
case EntityChoice = 'entity_choice';
|
||||||
case SingleCheckbox = 'single_checkbox';
|
case SingleCheckbox = 'single_checkbox';
|
||||||
|
case UserPicker = 'user_picker';
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user