ILIAS  release_7 Revision v7.30-3-g800a261c036
ilPDObjectsTileRenderer Class Reference

Class ilPDObjectsTileRenderer. More...

+ Inheritance diagram for ilPDObjectsTileRenderer:
+ Collaboration diagram for ilPDObjectsTileRenderer:

Public Member Functions

 render (array $groupedItems, bool $showHeader)
 @inheritDoc More...
 
- Public Member Functions inherited from ilPDBaseObjectsRenderer
 __construct (ilPDSelectedItemsBlockViewGUI $blockView, Factory $uiFactory, Renderer $uiRenderer, ilPDSelectedItemsBlockListGUIFactory $listItemFactory, ilObjUser $user, ilLanguage $lng, ilObjectService $objectService, ilCtrl $ctrl)
 ilPDSelectedItemsTileRenderer constructor. More...
 
 render (array $groupedItems, bool $showHeader)
 

Protected Member Functions

 getCard (array $item)
 Render card. More...
 

Additional Inherited Members

- Protected Attributes inherited from ilPDBaseObjectsRenderer
 $blockView
 
 $uiFactory
 
 $uiRenderer
 
 $user
 
 $lng
 
 $objectService
 
 $ctrl
 
 $listItemFactory
 
 $tpl
 
 $currentRowType = ''
 

Detailed Description

Class ilPDObjectsTileRenderer.

Definition at line 9 of file class.ilPDObjectsTileRenderer.php.

Member Function Documentation

◆ getCard()

ilPDObjectsTileRenderer::getCard ( array  $item)
protected

Render card.

Parameters
array$item
Returns
Card
Exceptions
ilException

Definition at line 79 of file class.ilPDObjectsTileRenderer.php.

79 : ?Card
80 {
81 $itemListGui = $this->listItemFactory->byType($item['type']);
83
84
85 return $itemListGui->getAsCard(
86 (int) $item['ref_id'],
87 (int) $item['obj_id'],
88 (string) $item['type'],
89 (string) $item['title'],
90 (string) $item['description']
91 );
92 }
static addListGUIActivationProperty(ilObjectListGUI $a_list_gui, array &$a_item)
Get timing details for list gui.

References ilObjectActivation\addListGUIActivationProperty().

Referenced by render().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ render()

ilPDObjectsTileRenderer::render ( array  $groupedItems,
bool  $showHeader 
)

@inheritDoc

Implements ilPDObjectsRenderer.

Definition at line 14 of file class.ilPDObjectsTileRenderer.php.

14 : string
15 {
16 $tpl = new ilTemplate('tpl.block_tiles.html', true, true, 'Services/Dashboard');
17
18 $itemRendered = false;
19
20 foreach ($groupedItems as $group) {
21 $items = $group->getItems();
22 if (count($items) > 0) {
23 $cards = [];
24 foreach ($group->getItems() as $item) {
25 $c = $this->getCard($item);
26 if ($c !== null) {
27 $cards[] = $c;
28 }
29 }
30
31 $tpl->setCurrentBlock('head');
32 $tpl->setVariable('HEAD', $group->getLabel());
33 $tpl->parseCurrentBlock();
34
35 $deck = $this->uiFactory
36 ->deck($cards)
37 ->withNormalCardsSize();
38
39 $tpl->setCurrentBlock('tiles');
40 if ($this->ctrl->isAsynch()) {
41 $tpl->setVariable('TILES', $this->uiRenderer->renderAsync($deck));
42 } else {
43 $tpl->setVariable('TILES', $this->uiRenderer->render($deck));
44 }
45 $tpl->parseCurrentBlock();
46
47 $tpl->setCurrentBlock('grouped_tiles');
48 $tpl->parseCurrentBlock();
49
50 $itemRendered = true;
51 }
52 }
53
54 if (!$itemRendered) {
55 return '';
56 }
57
58 $html = $tpl->get();
59 if ($this->ctrl->isAsynch()) {
60 $html .= $tpl->getOnLoadCodeForAsynch();
61 }
62
63 $this->tpl->touchBlock('row_type_1');
64 $this->tpl->setCurrentBlock('container_standard_row');
65 $this->tpl->setVariable('BLOCK_ROW_CONTENT', $html);
66 $this->tpl->parseCurrentBlock();
67
68 $this->tpl->touchBlock('container_row');
69
70 return $this->tpl->get();
71 }
special template class to simplify handling of ITX/PEAR
$c
Definition: cli.php:37

References $c, ilPDBaseObjectsRenderer\$tpl, and getCard().

+ Here is the call graph for this function:

The documentation for this class was generated from the following file: