19 declare(strict_types=1);
41 private readonly
string $gui,
42 private readonly
Tile $tile,
44 $assignments_of_user = [ilBadgeAssignment::class,
'getInstancesByUserId']
46 $this->assignments_of_user = Closure::fromCallable($assignments_of_user);
47 $this->irss = $this->container[
'resource_storage'];
50 public function show(): string
52 $sort =
new Sorting($this->container->http()->request()->getQueryParams()[
'sort'] ??
'');
59 static fn(array $badge_and_assignment): ?
string => $badge_and_assignment[
'badge']->getImageRid(
61 $badges_and_assignments
69 $this->head->show($this->container->language()->txt(
'tile_view'), $this->
sortComponent($sort));
71 return $this->container->ui()->renderer()->render(
$components);
80 foreach (($this->assignments_of_user)($this->container->user()->getId()) as $assignment) {
81 $badge =
new ilBadge($assignment->getBadgeId());
84 'assignment' => $assignment,
98 $components = array_column($cards_and_modals,
'modal');
101 ->deck(array_column($cards_and_modals,
'card'))
102 ->withNormalCardsSize();
113 return $this->tile->inDeck(
114 $badge_and_assignments[
'badge'],
115 $badge_and_assignments[
'assignment'],
122 $txt = [$this->container->language(),
'txt'];
123 $link = $this->container->ctrl()->getLinkTargetByClass($this->gui,
'listBadges');
124 return $this->container->ui()
128 ->withTargetURL($link,
'sort');
136 private function sort(
Sorting $sort, array $badges_and_assignments): array
138 usort($badges_and_assignments, [$sort,
'compare']);
140 return $badges_and_assignments;
sortComponent(Sorting $sort)
sort(Sorting $sort, array $badges_and_assignments)
Closure $assignments_of_user
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
cardsAndModals(array $badge_and_assignments)
componentsOfBadges(array $badge_and_assignments)
__construct(private readonly Container $container, private readonly string $gui, private readonly Tile $tile, private readonly PresentationHeader $head, $assignments_of_user=[ilBadgeAssignment::class, 'getInstancesByUserId'])