ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
base_metabar.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
6 
8 
20 function base_metabar(): string
21 {
22  global $DIC;
23  $f = $DIC->ui()->factory();
24  $renderer = $DIC->ui()->renderer();
25 
26  $url = $DIC->http()->request()->getUri()->__toString() . '&new_metabar_ui=1';
27  $txt = $f->legacy('<p>
28  The Metabar Example opens in Fullscreen to showcase the behaviour of the metabar best.
29  Note, an comprensive example for developers on how to access the JS API of the Metabar
30  feature bellow in the second example.
31  </p>');
32 
33  $page_demo = $f->link()->standard('See UI in fullscreen-mode', $url);
34 
35  return $renderer->render([
36  $txt,
37  $page_demo
38  ]);
39 }
40 
41 function buildMetabar(\ILIAS\UI\Factory $f): \ILIAS\UI\Component\MainControls\MetaBar
42 {
43  $help = $f->button()->bulky($f->symbol()->glyph()->help(), 'Help', '#');
44  $search = $f->button()->bulky($f->symbol()->glyph()->search(), 'Search', '#');
45  $user = $f->button()->bulky($f->symbol()->glyph()->user(), 'User', '#');
46 
47  $notes = $f->mainControls()->slate()->legacy(
48  'Notification',
49  $f->symbol()->glyph()->notification(),
50  $f->legacy('some content')
51  );
52 
53  return $f->mainControls()->metaBar()
54  ->withAdditionalEntry('search', $search)
55  ->withAdditionalEntry('help', $help)
56  ->withAdditionalEntry('notes', $notes)
57  ->withAdditionalEntry('user', $user);
58 }
59 
60 global $DIC;
61 $request_wrapper = $DIC->http()->wrapper()->query();
62 $refinery = $DIC->refinery();
63 if ($request_wrapper->has('new_metabar_ui')
64  && $request_wrapper->retrieve('new_metabar_ui', $refinery->kindlyTo()->int()) === 1
65 ) {
68  exit();
69 }
70 
72 {
73  $f = $dic->ui()->factory();
74  $renderer = $dic->ui()->renderer();
75  $logo = $f->image()->responsive("assets/images/logo/HeaderIcon.svg", "ILIAS");
76  $responsive_logo = $f->image()->responsive("assets/images/logo/HeaderIconResponsive.svg", "ILIAS");
77  $breadcrumbs = pageMetabarDemoCrumbs($f);
78  $metabar = buildMetabar($f);
79  $mainbar = pageMetabarDemoMainbar($f);
80  $footer = pageMetabarDemoFooter($f);
81  $tc = $dic->ui()->factory()->toast()->container();
82 
83  $content = pageMetabarDemoContent($f);
84 
85  $page = $f->layout()->page()->standard(
86  $content,
87  $metabar,
88  $mainbar,
89  $breadcrumbs,
90  $logo,
91  $responsive_logo,
92  "./assets/images/logo/favicon.ico",
93  $tc,
94  $footer,
95  'UI Meta Bar DEMO', //page title
96  'ILIAS', //short title
97  'ILIAS Meta Bar Demo' //view title
98  )->withUIDemo(true);
99 
100  return $renderer->render($page);
101 }
102 
103 
105 {
106  return [
107  $f->panel()->standard(
108  'All about the Meta Bar',
109  $f->legacy(
110  "See above"
111  )
112  ),
113  ];
114 }
115 
117 {
118  return $f->breadcrumbs([]);
119 }
120 
121 function pageMetabarDemoMainbar(\ILIAS\UI\Factory $f): \ILIAS\UI\Component\MainControls\MainBar
122 {
123  return $f->mainControls()->mainBar();
124 }
125 
126 function pageMetabarDemoFooter(\ILIAS\UI\Factory $f): \ILIAS\UI\Component\MainControls\Footer
127 {
128  $text = 'Footer';
129 
130  return $f->mainControls()->footer()->withAdditionalText($text);
131 }
pageMetabarDemoFooter(\ILIAS\UI\Factory $f)
$renderer
Interface Observer Contains several chained tasks and infos about them.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
$url
Definition: shib_logout.php:63
pageMetabarDemoCrumbs(\ILIAS\UI\Factory $f)
pageMetabarDemoContent(\ILIAS\UI\Factory $f)
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:35
if($request_wrapper->has('new_metabar_ui') && $request_wrapper->retrieve('new_metabar_ui', $refinery->kindlyTo() ->int())===1) renderMetaBarInFullscreenMode(Container $dic)
static initILIAS()
ilias initialisation
This is how the factory for UI elements looks.
Definition: Factory.php:37
$text
Definition: xapiexit.php:21
$txt
Definition: error.php:30
pageMetabarDemoMainbar(\ILIAS\UI\Factory $f)
base_metabar()
expected output: > ILIAS shows a link "See UI in fullscreen-mode".
$dic
Definition: ltiresult.php:33
ui()
Get the interface to get services from UI framework.
Definition: Container.php:127