ILIAS  release_8 Revision v8.24
base_metabar.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
6
8
9function 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
30function 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
49global $DIC;
50
51//Render Footer in Fullscreen mode
52if (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
61if (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
115function pageMetabarDemoMainbar(\ILIAS\UI\Factory $f): \ILIAS\UI\Component\MainControls\MainBar
116{
117 return $f->mainControls()->mainBar();
118}
119
120function 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}
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:32
static initILIAS()
ilias initialisation
$txt
Definition: error.php:13
This is how the factory for UI elements looks.
Definition: Factory.php:38
Refinery Factory $refinery
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
pageMetabarDemoContent(\ILIAS\UI\Factory $f)
pageMetabarDemoCrumbs(\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)
pageMetabarDemoMainbar(\ILIAS\UI\Factory $f)
pageMetabarDemoFooter(\ILIAS\UI\Factory $f)
Class ChatMainBarProvider \MainMenu\Provider.
Class Factory.
$url
$_SERVER['HTTP_HOST']
Definition: raiseError.php:10
$dic
Definition: result.php:32