ILIAS  trunk Revision v11.0_alpha-1761-g6dbbfa7b760
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ILIAS\Exercise\Assignment\ItemBuilderUI Class Reference
+ Collaboration diagram for ILIAS\Exercise\Assignment\ItemBuilderUI:

Public Member Functions

 __construct (PropertyAndActionBuilderUI $prop_builder, \ILIAS\UI\Factory $ui_factory, \ilCtrl $ctrl)
 
 getItem (Assignment $ass, int $user_id)
 

Protected Member Functions

 addPropertyToItemProperties (array &$props, ?array $prop)
 

Protected Attributes

ilCtrl $ctrl
 
PropertyAndActionBuilderUI $prop_builder
 
ILIAS UI Factory $ui_factory
 

Detailed Description

Definition at line 26 of file ItemBuilderUI.php.

Constructor & Destructor Documentation

◆ __construct()

ILIAS\Exercise\Assignment\ItemBuilderUI::__construct ( PropertyAndActionBuilderUI  $prop_builder,
\ILIAS\UI\Factory  $ui_factory,
\ilCtrl  $ctrl 
)

Member Function Documentation

◆ addPropertyToItemProperties()

ILIAS\Exercise\Assignment\ItemBuilderUI::addPropertyToItemProperties ( array &  $props,
?array  $prop 
)
protected

Definition at line 42 of file ItemBuilderUI.php.

Referenced by ILIAS\Exercise\Assignment\ItemBuilderUI\getItem().

42  : void
43  {
44  if ($prop) {
45  $props[$prop["prop"]] = $prop["val"];
46  }
47  }
+ Here is the caller graph for this function:

◆ getItem()

ILIAS\Exercise\Assignment\ItemBuilderUI::getItem ( Assignment  $ass,
int  $user_id 
)

Definition at line 49 of file ItemBuilderUI.php.

References ILIAS\Exercise\Assignment\ItemBuilderUI\$prop_builder, ILIAS\Exercise\Assignment\Assignment\$title, $txt, ILIAS\Exercise\Assignment\ItemBuilderUI\addPropertyToItemProperties(), ILIAS\Exercise\Assignment\PropertyAndActionBuilderUI\build(), ILIAS\Repository\ctrl(), ILIAS\Exercise\Assignment\Assignment\getId(), ILIAS\Exercise\Assignment\Assignment\getTitle(), and null.

49  : \ILIAS\UI\Component\Item\Standard
50  {
51  $pb = $this->prop_builder;
52  $pb->build($ass, $user_id);
53 
54  $props = [];
55  $this->addPropertyToItemProperties($props, $pb->getHeadProperty($pb::PROP_DEADLINE));
56  $this->addPropertyToItemProperties($props, $pb->getHeadProperty($pb::PROP_REQUIREMENT));
57  $this->addPropertyToItemProperties($props, $pb->getHeadProperty($pb::PROP_SUBMISSION));
58  $this->addPropertyToItemProperties($props, $pb->getHeadProperty($pb::PROP_TYPE));
59  $this->addPropertyToItemProperties($props, $pb->getHeadProperty($pb::PROP_GRADING));
60  $this->addPropertyToItemProperties($props, $pb->getHeadProperty($pb::PROP_MARK));
61  foreach ($pb->getAdditionalHeadProperties() as $p) {
62  $this->addPropertyToItemProperties($props, $p);
63  }
64 
65  // actions
66  $actions = [];
67  $main_action = null;
68  foreach ($pb->getSections() as $sec => $txt) {
69  if ($act = $pb->getMainAction($sec)) {
70  $main_action = $this->ui_factory->button()->standard(
71  $act->getLabel(),
72  $act->getAction()
73  );
74  }
75  }
76 
77  foreach ($pb->getSections(true, true) as $sec => $txt) {
78  foreach ($pb->getActions($sec) as $act) {
79  $actions[] = $act;
80  }
81  }
82 
83 
84  $this->ctrl->setParameterByClass(\ilAssignmentPresentationGUI::class, "ass_id", $ass->getId());
85  $title = $this->ui_factory->link()->standard(
86  $ass->getTitle(),
87  $this->ctrl->getLinkTargetByClass(\ilAssignmentPresentationGUI::class, "")
88  );
89  $item = $this->ui_factory->item()->standard(
90  $title
91  )->withProperties($props)->withLeadText($pb->getLeadText() . " ");
92  if (count($actions) > 0) {
93  $ks_actions = [];
94  foreach ($actions as $act) {
95  if ($act instanceof StandardButton) {
96  $ks_actions[] = $this->ui_factory->button()->shy(
97  $act->getLabel(),
98  $act->getAction()
99  );
100  } else {
101  $ks_actions[] = $act;
102  }
103  }
104  $item = $item->withActions($this->ui_factory->dropdown()->standard($ks_actions));
105  }
106  if ($main_action) {
107  $item = $item->withMainAction($main_action);
108  }
109  $this->ctrl->setParameterByClass(\ilAssignmentPresentationGUI::class, "ass_id", null);
110  return $item;
111  }
PropertyAndActionBuilderUI $prop_builder
addPropertyToItemProperties(array &$props, ?array $prop)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$txt
Definition: error.php:31
+ Here is the call graph for this function:

Field Documentation

◆ $ctrl

ilCtrl ILIAS\Exercise\Assignment\ItemBuilderUI::$ctrl
protected

◆ $prop_builder

PropertyAndActionBuilderUI ILIAS\Exercise\Assignment\ItemBuilderUI::$prop_builder
protected

◆ $ui_factory

ILIAS UI Factory ILIAS\Exercise\Assignment\ItemBuilderUI::$ui_factory
protected

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