ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
base_metabar.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
6 
8 
9 function base_metabar(): string
10 {
11  global $DIC;
12  $f = $DIC->ui()->factory();
13  $renderer = $DIC->ui()->renderer();
14 
15  $url = $DIC->http()->request()->getUri()->__toString() . '&new_metabar_ui=1';
16  $txt = $f->legacy('<p>
17  The Metabar Example opens in Fullscreen to showcase the behaviour of the metabar best.
18  Note, an comprensive example for developers on how to access the JS API of the Metabar
19  feature bellow in the second example.
20  </p>');
21 
22  $page_demo = $f->link()->standard('See UI in fullscreen-mode', $url);
23 
24  return $renderer->render([
25  $txt,
26  $page_demo
27  ]);
28 }
29 
30 function buildMetabar(\ILIAS\UI\Factory $f): \ILIAS\UI\Component\MainControls\MetaBar
31 {
32  $help = $f->button()->bulky($f->symbol()->glyph()->help(), 'Help', '#');
33  $search = $f->button()->bulky($f->symbol()->glyph()->search(), 'Search', '#');
34  $user = $f->button()->bulky($f->symbol()->glyph()->user(), 'User', '#');
35 
36  $notes = $f->mainControls()->slate()->legacy(
37  'Notification',
38  $f->symbol()->glyph()->notification(),
39  $f->legacy('some content')
40  );
41 
42  return $f->mainControls()->metaBar()
43  ->withAdditionalEntry('search', $search)
44  ->withAdditionalEntry('help', $help)
45  ->withAdditionalEntry('notes', $notes)
46  ->withAdditionalEntry('user', $user);
47 }
48 
49 global $DIC;
50 $request_wrapper = $DIC->http()->wrapper()->query();
51 $refinery = $DIC->refinery();
52 if ($request_wrapper->has('new_metabar_ui')
53  && $request_wrapper->retrieve('new_metabar_ui', $refinery->kindlyTo()->int()) === 1
54 ) {
57  exit();
58 }
59 
61 {
62  $f = $dic->ui()->factory();
63  $renderer = $dic->ui()->renderer();
64  $logo = $f->image()->responsive("templates/default/images/logo/HeaderIcon.svg", "ILIAS");
65  $responsive_logo = $f->image()->responsive("templates/default/images/logo/HeaderIconResponsive.svg", "ILIAS");
66  $breadcrumbs = pageMetabarDemoCrumbs($f);
67  $metabar = buildMetabar($f);
68  $mainbar = pageMetabarDemoMainbar($f);
69  $footer = pageMetabarDemoFooter($f);
70  $tc = $dic->ui()->factory()->toast()->container();
71 
72  $content = pageMetabarDemoContent($f);
73 
74  $page = $f->layout()->page()->standard(
75  $content,
76  $metabar,
77  $mainbar,
78  $breadcrumbs,
79  $logo,
80  $responsive_logo,
81  "./templates/default/images/logo/favicon.ico",
82  $tc,
83  $footer,
84  'UI Meta Bar DEMO', //page title
85  'ILIAS', //short title
86  'ILIAS Meta Bar Demo' //view title
87  )->withUIDemo(true);
88 
89  return $renderer->render($page);
90 }
91 
92 
94 {
95  return [
96  $f->panel()->standard(
97  'All about the Meta Bar',
98  $f->legacy(
99  "See above"
100  )
101  ),
102  ];
103 }
104 
106 {
107  return $f->breadcrumbs([]);
108 }
109 
110 function pageMetabarDemoMainbar(\ILIAS\UI\Factory $f): \ILIAS\UI\Component\MainControls\MainBar
111 {
112  return $f->mainControls()->mainBar();
113 }
114 
115 function pageMetabarDemoFooter(\ILIAS\UI\Factory $f): \ILIAS\UI\Component\MainControls\Footer
116 {
117  $text = 'Footer';
118  $links = [];
119 
120  return $f->mainControls()->footer($links, $text);
121 }
pageMetabarDemoFooter(\ILIAS\UI\Factory $f)
exit
Definition: login.php:29
Class ChatMainBarProvider .
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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
$url
Definition: ltiregstart.php:35
$txt
Definition: error.php:14
pageMetabarDemoMainbar(\ILIAS\UI\Factory $f)
$dic
Definition: result.php:32
ui()
Get the interface to get services from UI framework.
Definition: Container.php:127