ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
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 = 'src/UI/examples/MainControls/Metabar/base_metabar.php?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 
51 //Render Footer in Fullscreen mode
52 if (basename($_SERVER["SCRIPT_FILENAME"]) == "base_metabar.php") {
53  chdir('../../../../../');
54  require_once("libs/composer/vendor/autoload.php");
56  $refinery = $DIC->refinery();
57  $request_wrapper = $DIC->http()->wrapper()->query();
58 }
59 
60 
61 if (isset($request_wrapper) && isset($refinery) && $request_wrapper->has('new_metabar_ui') && $request_wrapper->retrieve('new_metabar_ui', $refinery->kindlyTo()->string()) == '1') {
63 }
64 
66 {
67  $f = $dic->ui()->factory();
68  $renderer = $dic->ui()->renderer();
69  $logo = $f->image()->responsive("templates/default/images/HeaderIcon.svg", "ILIAS");
70  $responsive_logo = $f->image()->responsive("templates/default/images/HeaderIconResponsive.svg", "ILIAS");
71  $breadcrumbs = pageMetabarDemoCrumbs($f);
72  $metabar = buildMetabar($f);
73  $mainbar = pageMetabarDemoMainbar($f);
74  $footer = pageMetabarDemoFooter($f);
75  $tc = $dic->ui()->factory()->toast()->container();
76 
77  $content = pageMetabarDemoContent($f);
78 
79  $page = $f->layout()->page()->standard(
80  $content,
81  $metabar,
82  $mainbar,
83  $breadcrumbs,
84  $logo,
85  $responsive_logo,
86  "./templates/default/images/favicon.ico",
87  $tc,
88  $footer,
89  'UI Meta Bar DEMO', //page title
90  'ILIAS', //short title
91  'ILIAS Meta Bar Demo' //view title
92  )->withUIDemo(true);
93 
94  return $renderer->render($page);
95 }
96 
97 
99 {
100  return [
101  $f->panel()->standard(
102  'All about the Meta Bar',
103  $f->legacy(
104  "See above"
105  )
106  ),
107  ];
108 }
109 
111 {
112  return $f->breadcrumbs([]);
113 }
114 
115 function pageMetabarDemoMainbar(\ILIAS\UI\Factory $f): \ILIAS\UI\Component\MainControls\MainBar
116 {
117  return $f->mainControls()->mainBar();
118 }
119 
120 function pageMetabarDemoFooter(\ILIAS\UI\Factory $f): \ILIAS\UI\Component\MainControls\Footer
121 {
122  $text = 'Footer';
123  $links = [];
124 
125  return $f->mainControls()->footer($links, $text);
126 }
pageMetabarDemoFooter(\ILIAS\UI\Factory $f)
Class Factory.
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:31
static initILIAS()
ilias initialisation
$_SERVER['HTTP_HOST']
Definition: raiseError.php:10
$txt
Definition: error.php:13
pageMetabarDemoMainbar(\ILIAS\UI\Factory $f)
if(basename($_SERVER["SCRIPT_FILENAME"])=="base_metabar.php") if(isset($request_wrapper) &&isset($refinery) && $request_wrapper->has('new_metabar_ui') && $request_wrapper->retrieve('new_metabar_ui', $refinery->kindlyTo() ->string())=='1') renderMetaBarInFullscreenMode(Container $dic)
$dic
Definition: result.php:32
$url
ui()
Get the interface to get services from UI framework.
Definition: Container.php:118
Refinery Factory $refinery