ILIAS  release_7 Revision v7.30-3-g800a261c036
ILIAS\LTI\Screen\LtiViewLayoutProvider Class Reference

Class LtiViewLayoutProvider. More...

+ Inheritance diagram for ILIAS\LTI\Screen\LtiViewLayoutProvider:
+ Collaboration diagram for ILIAS\LTI\Screen\LtiViewLayoutProvider:

Public Member Functions

 isInterestedInContexts ()
 
 getPageBuilderDecorator (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getMainBarModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getMetaBarModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getTitleModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
- Public Member Functions inherited from ILIAS\GlobalScreen\Scope\Layout\Provider\AbstractModificationProvider
 __construct (Container $dic)
 @inheritDoc More...
 
 getContentModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getLogoModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getResponsiveLogoModification (CalledContexts $screen_context_stack)
 
 getMainBarModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getMetaBarModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getBreadCrumbsModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getFooterModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getPageBuilderDecorator (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getTitleModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getShortTitleModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
 getViewTitleModification (CalledContexts $screen_context_stack)
 @inheritDoc More...
 
- Public Member Functions inherited from ILIAS\GlobalScreen\Provider\AbstractProvider
 __construct (Container $dic)
 @inheritDoc More...
 
 getFullyQualifiedClassName ()
 @inheritDoc More...
 
 getProviderNameForPresentation ()
 
 getFullyQualifiedClassName ()
 
 getProviderNameForPresentation ()
 
 getContentModification (CalledContexts $screen_context_stack)
 
 getLogoModification (CalledContexts $screen_context_stack)
 
 getResponsiveLogoModification (CalledContexts $screen_context_stack)
 
 getMainBarModification (CalledContexts $screen_context_stack)
 
 getMetaBarModification (CalledContexts $screen_context_stack)
 
 getBreadCrumbsModification (CalledContexts $screen_context_stack)
 
 getFooterModification (CalledContexts $screen_context_stack)
 
 getPageBuilderDecorator (CalledContexts $screen_context_stack)
 
 getTitleModification (CalledContexts $screen_context_stack)
 
 getShortTitleModification (CalledContexts $screen_context_stack)
 
 getViewTitleModification (CalledContexts $screen_context_stack)
 
 isInterestedInContexts ()
 

Data Fields

const GS_EXIT_LTI = 'lti_exit_mode'
 

Protected Member Functions

 isLTIExitMode (CalledContexts $screen_context_stack)
 
- Protected Member Functions inherited from ILIAS\GlobalScreen\Provider\AbstractProvider
 globalScreen ()
 

Additional Inherited Members

- Protected Attributes inherited from ILIAS\GlobalScreen\Scope\Layout\Provider\AbstractModificationProvider
 $context_collection
 
 $factory
 
- Protected Attributes inherited from ILIAS\GlobalScreen\Provider\AbstractProvider
 $dic
 

Detailed Description

Member Function Documentation

◆ getMainBarModification()

ILIAS\LTI\Screen\LtiViewLayoutProvider::getMainBarModification ( CalledContexts  $screen_context_stack)

@inheritDoc

Reimplemented from ILIAS\GlobalScreen\Scope\Layout\Provider\AbstractModificationProvider.

Definition at line 93 of file LtiViewLayoutProvider.php.

93 : ?MainBarModification
94 {
95 $is_exit_mode = $this->isLTIExitMode($screen_context_stack);
96
97 return $this->globalScreen()->layout()->factory()->mainbar()
98 ->withModification(
99 function (?MainBar $mainbar) use ($is_exit_mode) : ?MainBar {
100 if ($mainbar === null) {
101 return null;
102 }
103 $tools = $mainbar->getToolEntries();
104 $mainbar = $mainbar->withClearedEntries();
105 if ($is_exit_mode) {
106 return $mainbar;
107 }
108 foreach ($tools as $id => $entry) {
109 $mainbar = $mainbar->withAdditionalToolEntry($id, $entry);
110 }
111 //$mainbar = $mainbar->withAdditionalEntry('lti_home', $lti_home);
112 return $mainbar;
113 }
114 )
115 ->withHighPriority();
116 }
isLTIExitMode(CalledContexts $screen_context_stack)

References ILIAS\UI\Component\MainControls\MainBar\getToolEntries(), ILIAS\GlobalScreen\Provider\AbstractProvider\globalScreen(), ILIAS\LTI\Screen\LtiViewLayoutProvider\isLTIExitMode(), ILIAS\UI\Component\MainControls\MainBar\withAdditionalToolEntry(), and ILIAS\UI\Component\MainControls\MainBar\withClearedEntries().

+ Here is the call graph for this function:

◆ getMetaBarModification()

ILIAS\LTI\Screen\LtiViewLayoutProvider::getMetaBarModification ( CalledContexts  $screen_context_stack)

@inheritDoc

Reimplemented from ILIAS\GlobalScreen\Scope\Layout\Provider\AbstractModificationProvider.

Definition at line 121 of file LtiViewLayoutProvider.php.

121 : ?MetaBarModification
122 {
123 $is_exit_mode = $this->isLTIExitMode($screen_context_stack);
124
125 return $this->globalScreen()->layout()->factory()->metabar()
126 ->withModification(
127 function (?MetaBar $metabar) use ($is_exit_mode, $screen_context_stack) : ?Metabar {
128 if ($metabar === null) {
129 return null;
130 }
131 $metabar = $metabar->withClearedEntries();
132 if ($is_exit_mode) {
133 return $metabar;
134 }
135 $f = $this->dic->ui()->factory();
136 $exit_symbol = $f->symbol()->glyph()->close();
137 $exit_txt = $this->dic['lti']->lng->txt('lti_exit');
138 $exit = $f->button()->bulky($exit_symbol, $exit_txt, $this->dic["lti"]->getCmdLink('exit'));
139 $metabar = $metabar->withAdditionalEntry('exit', $exit);
140 return $metabar;
141 }
142 )
143 ->withHighPriority();
144 }
close()
Definition: close.php:2

References Vendor\Package\$f, close(), ILIAS\GlobalScreen\Provider\AbstractProvider\globalScreen(), ILIAS\LTI\Screen\LtiViewLayoutProvider\isLTIExitMode(), ILIAS\UI\Component\MainControls\MetaBar\withAdditionalEntry(), and ILIAS\UI\Component\MainControls\MetaBar\withClearedEntries().

+ Here is the call graph for this function:

◆ getPageBuilderDecorator()

ILIAS\LTI\Screen\LtiViewLayoutProvider::getPageBuilderDecorator ( CalledContexts  $screen_context_stack)

@inheritDoc

Reimplemented from ILIAS\GlobalScreen\Scope\Layout\Provider\AbstractModificationProvider.

Definition at line 64 of file LtiViewLayoutProvider.php.

64 : ?PageBuilderModification
65 {
66 $this->globalScreen()->layout()->meta()->addCss('./Services/LTI/templates/default/lti.css');
67 $is_exit_mode = $this->isLTIExitMode($screen_context_stack);
68 $external_css = ($is_exit_mode) ? '' : $this->dic["lti"]->getExternalCss();
69 if ($external_css !== '') {
70 $this->globalScreen()->layout()->meta()->addCss($external_css);
71 }
72
73 return $this->factory->page()
74 ->withModification(
75 function (PagePartProvider $parts) : Page {
76 $p = new StandardPageBuilder();
77 $page = $p->build($parts);
78
79 $mv_modeinfo = MemberViewLayoutProvider::getMemberViewModeInfo($this->dic);
80 if ($mv_modeinfo) {
81 $page = $page->withModeInfo($mv_modeinfo);
82 }
83
84 return $page->withNoFooter();
85 }
86 )
87 ->withHighPriority();
88 }

References ILIAS\Container\Screen\MemberViewLayoutProvider\getMemberViewModeInfo(), ILIAS\GlobalScreen\Provider\AbstractProvider\globalScreen(), and ILIAS\LTI\Screen\LtiViewLayoutProvider\isLTIExitMode().

+ Here is the call graph for this function:

◆ getTitleModification()

ILIAS\LTI\Screen\LtiViewLayoutProvider::getTitleModification ( CalledContexts  $screen_context_stack)

@inheritDoc

Reimplemented from ILIAS\GlobalScreen\Scope\Layout\Provider\AbstractModificationProvider.

Definition at line 149 of file LtiViewLayoutProvider.php.

149 : ?TitleModification
150 {
151 $is_exit_mode = $this->isLTIExitMode($screen_context_stack);
152
153 return $this->globalScreen()->layout()->factory()->title()
154 ->withModification(
155 function (?string $content) use ($is_exit_mode) : ?string {
156 if ($is_exit_mode) {
157 return $this->dic["lti"]->getTitleForExitPage();
158 }
159 return $this->dic["lti"]->getTitle();
160 }
161 )
162 ->withHighPriority();
163 }

References ILIAS\GlobalScreen\Provider\AbstractProvider\globalScreen(), and ILIAS\LTI\Screen\LtiViewLayoutProvider\isLTIExitMode().

+ Here is the call graph for this function:

◆ isInterestedInContexts()

ILIAS\LTI\Screen\LtiViewLayoutProvider::isInterestedInContexts ( )
Returns
ContextCollection

Implements ILIAS\GlobalScreen\ScreenContext\ScreenContextAwareProvider.

Definition at line 56 of file LtiViewLayoutProvider.php.

56 : ContextCollection
57 {
58 return $this->context_collection->lti();
59 }

References ILIAS\GlobalScreen\ScreenContext\Stack\ContextCollection\lti().

+ Here is the call graph for this function:

◆ isLTIExitMode()

ILIAS\LTI\Screen\LtiViewLayoutProvider::isLTIExitMode ( CalledContexts  $screen_context_stack)
protected

Definition at line 49 of file LtiViewLayoutProvider.php.

49 : bool
50 {
51 $data_collection = $screen_context_stack->current()->getAdditionalData();
52 $is_exit_mode = $data_collection->is(self::GS_EXIT_LTI, true);
53 return $is_exit_mode;
54 }

References ILIAS\GlobalScreen\ScreenContext\Stack\CalledContexts\current().

Referenced by ILIAS\LTI\Screen\LtiViewLayoutProvider\getMainBarModification(), ILIAS\LTI\Screen\LtiViewLayoutProvider\getMetaBarModification(), ILIAS\LTI\Screen\LtiViewLayoutProvider\getPageBuilderDecorator(), and ILIAS\LTI\Screen\LtiViewLayoutProvider\getTitleModification().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ GS_EXIT_LTI

const ILIAS\LTI\Screen\LtiViewLayoutProvider::GS_EXIT_LTI = 'lti_exit_mode'

Definition at line 47 of file LtiViewLayoutProvider.php.


The documentation for this class was generated from the following file: