ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilLMHtmlExportViewLayoutProvider.php
Go to the documentation of this file.
1<?php
2
13
20{
21 const LM_HTML_EXPORT_RENDERING = 'lm_html_export_rendering';
22
23
28 {
29 return $this->context_collection->repository();
30 }
31
35 public function getMetaBarModification(CalledContexts $called_contexts) : ?MetaBarModification
36 {
37 $additional_data = $called_contexts->current()->getAdditionalData();
38 if ($additional_data->is(self::LM_HTML_EXPORT_RENDERING, true)) {
39 return $this->globalScreen()
40 ->layout()
41 ->factory()
42 ->metabar()
43 ->withModification(function (MetaBar $current = null) : ?MetaBar {
44 return null;
45 })->withHighPriority();
46 }
47 return null;
48 }
49
53 public function getMainBarModification(CalledContexts $called_contexts) : ?MainBarModification
54 {
55 $additional_data = $called_contexts->current()->getAdditionalData();
56 if ($additional_data->is(self::LM_HTML_EXPORT_RENDERING, true)) {
57 return $this->globalScreen()
58 ->layout()
59 ->factory()
60 ->mainbar()
61 ->withModification(function (MainBar $current = null) : ?MainBar {
62 global $DIC;
63
64 $lng = $DIC->language();
65 $f = $DIC->ui()->factory();
66
67 // create an offline main bar
68 $offline_main_bar = new \ILIAS\UI\Implementation\Component\MainControls\MainBar(
69 new \ILIAS\UI\Implementation\Component\SignalGenerator()
70 );
71 $grid_icon = $f->symbol()->icon()->custom(\ilUtil::getImagePath("outlined/icon_tool.svg"), $lng->txt("more"));
72 $offline_main_bar = $offline_main_bar->withMoreButton(
73 $f->button()->bulky($grid_icon, $lng->txt("more"), "#")
74 );
75 $tools_button = $f->button()->bulky($grid_icon, $lng->txt("tools"), "#")->withEngagedState(true);
76 $offline_main_bar = $offline_main_bar->withToolsButton($tools_button);
77
78 // get tool ids for offline use from lm tools provider
79 $lm_tools = new ilLMGSToolProvider($DIC);
80 $ids = $lm_tools->getOfflineToolIds();
81
82 // copy all offline tools from original main bar to offline main bar
83 foreach ($current->getToolEntries() as $id => $te) {
84 if (in_array($id, $ids)) {
85 $offline_main_bar = $offline_main_bar->withAdditionalToolEntry(
86 $id,
87 $te
88 );
89 }
90 }
91
92 return $offline_main_bar;
93 })->withHighPriority();
94 } else {
95 return null;
96 }
97 }
98
103 {
104 $additional_data = $called_contexts->current()->getAdditionalData();
105 if ($additional_data->is(self::LM_HTML_EXPORT_RENDERING, true)) {
106 return $this->globalScreen()
107 ->layout()
108 ->factory()
109 ->breadcrumbs()
110 ->withModification(function (Breadcrumbs $current = null) : ?Breadcrumbs {
111 return null;
112 })->withHighPriority();
113 } else {
114 return null;
115 }
116 }
117}
An exception for terminatinating execution or to throw for unit testing.
Class ilLMGSToolProvider.
LM HTML export view layout provider, hides main and meta bar.
getMetaBarModification(CalledContexts $called_contexts)
No meta bar in HTML exports.
getBreadCrumbsModification(CalledContexts $called_contexts)
No breadcrumbs in HTML exports.
getMainBarModification(CalledContexts $called_contexts)
No main bar in HTML exports.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
This describes the MainBar.
Definition: MainBar.php:16
This describes the MetaBar.
Definition: MetaBar.php:15
Class ChatMainBarProvider \MainMenu\Provider.
Class Factory.
$lng
$DIC
Definition: xapitoken.php:46