ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
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)
 
 getMainBarModification (CalledContexts $screen_context_stack)
 
 getMetaBarModification (CalledContexts $screen_context_stack)
 
 getTitleModification (CalledContexts $screen_context_stack)
 
- Public Member Functions inherited from ILIAS\GlobalScreen\Scope\Layout\Provider\AbstractModificationProvider
 __construct (Container $dic)
 
 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)
 
- Public Member Functions inherited from ILIAS\GlobalScreen\Provider\AbstractProvider
 __construct (protected Container $dic)
 
 getFullyQualifiedClassName ()
 
 getProviderNameForPresentation ()
 

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 ()
 

Private Attributes

const LTI_PRIORITY = 63
 

Additional Inherited Members

- Protected Attributes inherited from ILIAS\GlobalScreen\Scope\Layout\Provider\AbstractModificationProvider
ContextCollection $context_collection
 
DataFactory $data
 
ILIAS GlobalScreen Scope Layout Factory ModificationFactory $factory
 

Detailed Description

Member Function Documentation

◆ getMainBarModification()

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

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\ModificationProvider.

Definition at line 94 of file LtiViewLayoutProvider.php.

References $id, 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().

94  : ?MainBarModification
95  {
96  $is_exit_mode = $this->isLTIExitMode($screen_context_stack);
97 
98  return $this->globalScreen()->layout()->factory()->mainbar()
99  ->withModification(
100  function (?MainBar $mainbar) use ($is_exit_mode): ?MainBar {
101  $tools = $mainbar->getToolEntries();
102  $mainbar = $mainbar->withClearedEntries();
103  if ($is_exit_mode) {
104  return $mainbar;
105  }
106  foreach ($tools as $id => $entry) {
107  $mainbar = $mainbar->withAdditionalToolEntry($id, $entry);
108  }
109  //$mainbar = $mainbar->withAdditionalEntry('lti_home', $lti_home);
110  return $mainbar;
111  }
112  )->withPriority(self::LTI_PRIORITY);
113  }
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
Definition: plugin.php:24
isLTIExitMode(CalledContexts $screen_context_stack)
+ Here is the call graph for this function:

◆ getMetaBarModification()

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

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\ModificationProvider.

Definition at line 118 of file LtiViewLayoutProvider.php.

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

118  : ?MetaBarModification
119  {
120  $is_exit_mode = $this->isLTIExitMode($screen_context_stack);
121 
122  return $this->globalScreen()->layout()->factory()->metabar()
123  ->withModification(
124  function (?MetaBar $metabar) use ($is_exit_mode, $screen_context_stack): ?Metabar {
125  $metabar = $metabar->withClearedEntries();
126  if ($is_exit_mode) {
127  return $metabar;
128  }
129  $f = $this->dic->ui()->factory();
130  $exit_symbol = $f->symbol()->glyph()->close();
131  $exit_txt = $this->dic['lti']->lng->txt('lti_exit');
132  $exit = $f->button()->bulky($exit_symbol, $exit_txt, $this->dic["lti"]->getCmdLink('exit'));
133  $metabar = $metabar->withAdditionalEntry('exit', $exit);
134  return $metabar;
135  }
136  )->withPriority(self::LTI_PRIORITY);
137  }
isLTIExitMode(CalledContexts $screen_context_stack)
+ Here is the call graph for this function:

◆ getPageBuilderDecorator()

ILIAS\LTI\Screen\LtiViewLayoutProvider::getPageBuilderDecorator ( CalledContexts  $screen_context_stack)
Parameters
CalledContexts$screen_context_stack
Returns
||null

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\ModificationProvider.

Definition at line 59 of file LtiViewLayoutProvider.php.

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

59  : ?PageBuilderModification
60  {
61  $this->globalScreen()->layout()->meta()->addCss('./components/ILIAS/LTIProvider/templates/default/lti.css');
62  $is_exit_mode = $this->isLTIExitMode($screen_context_stack);
63  $external_css = ($is_exit_mode) ? '' : $this->dic["lti"]->getExternalCss();
64  if ($external_css !== '') {
65  $this->globalScreen()->layout()->meta()->addCss($external_css);
66  }
67 
68  return $this->factory->page()
69  ->withModification(
70  function (PagePartProvider $parts): Page {
71  $p = new StandardPageBuilder();
72  $customParts = new CustomBreadcrumbPagePartProvider($parts);
73  $page = $p->build($customParts);
74  $mv_modeinfo = MemberViewLayoutProvider::getMemberViewModeInfo($this->dic);
75  if ($mv_modeinfo) {
76  $page = $page->withModeInfo($mv_modeinfo);
77  }
78  return $page->withNoFooter();
79  }
80  )
81  ->withHighPriority();
82  }
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
Definition: ltitoken.php:61
isLTIExitMode(CalledContexts $screen_context_stack)
+ Here is the call graph for this function:

◆ getTitleModification()

ILIAS\LTI\Screen\LtiViewLayoutProvider::getTitleModification ( CalledContexts  $screen_context_stack)
Parameters
CalledContexts$screen_context_stack
Returns
||null

Implements ILIAS\GlobalScreen\Scope\Layout\Provider\ModificationProvider.

Definition at line 143 of file LtiViewLayoutProvider.php.

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

143  : ?TitleModification
144  {
145  $is_exit_mode = $this->isLTIExitMode($screen_context_stack);
146 
147  return $this->globalScreen()->layout()->factory()->title()
148  ->withModification(
149  function (?string $content) use ($is_exit_mode): string {
150  if ($is_exit_mode) {
151  return $this->dic["lti"]->getTitleForExitPage();
152  }
153  return $this->dic["lti"]->getTitle();
154  }
155  )->withPriority(self::LTI_PRIORITY);
156  }
isLTIExitMode(CalledContexts $screen_context_stack)
+ Here is the call graph for this function:

◆ isInterestedInContexts()

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

Implements ILIAS\GlobalScreen\ScreenContext\ScreenContextAwareProvider.

Definition at line 49 of file LtiViewLayoutProvider.php.

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

49  : ContextCollection
50  {
51  return $this->context_collection->lti();
52  }
+ Here is the call graph for this function:

◆ isLTIExitMode()

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

Definition at line 84 of file LtiViewLayoutProvider.php.

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().

84  : bool
85  {
86  $data_collection = $screen_context_stack->current()->getAdditionalData();
87  $is_exit_mode = $data_collection->is(self::GS_EXIT_LTI, true);
88  return $is_exit_mode;
89  }
+ 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 45 of file LtiViewLayoutProvider.php.

◆ LTI_PRIORITY

const ILIAS\LTI\Screen\LtiViewLayoutProvider::LTI_PRIORITY = 63
private

Definition at line 47 of file LtiViewLayoutProvider.php.


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