ILIAS  trunk Revision v13.0_alpha-52-g21c366bbdd4
Modal.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
21namespace ILIAS\Badge;
22
25
26class Modal
27{
29
30 public function __construct(
31 private readonly Container $container
32 ) {
33 $this->badge_image_service = new ilBadgeImage(
34 $container->resourceStorage(),
35 $container->upload(),
36 $container->ui()->mainTemplate()
37 );
38 }
39
43 public function components(ModalContent $content): array
44 {
45 $modal_content = [];
46
47 $image_src = $this->badge_image_service->getImageFromBadge($content->badge(), ilBadgeImage::IMAGE_SIZE_XL);
48
49 $modal_content[] = $this->container->ui()->factory()->image()->responsive(
50 $image_src,
51 $content->badge()->getTitle()
52 );
53 $modal_content[] = $this->container->ui()->factory()->divider()->horizontal();
54 $modal_content[] = $this->item($content);
55
56 return $modal_content;
57 }
58
59 private function item(ModalContent $content): Component
60 {
61 return $this->container
62 ->ui()
63 ->factory()
64 ->item()
65 ->standard($content->badge()->getTitle())
66 ->withDescription($content->badge()->getDescription())
67 ->withProperties($content->properties());
68 }
69}
__construct(private readonly Container $container)
Definition: Modal.php:30
item(ModalContent $content)
Definition: Modal.php:59
ilBadgeImage $badge_image_service
Definition: Modal.php:28
components(ModalContent $content)
Definition: Modal.php:43
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:38
A component is the most general form of an entity in the UI.
Definition: Component.php:28
$container
@noRector
Definition: wac.php:39