ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
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.

42 : void
43 {
44 if ($prop) {
45 $props[$prop["prop"]] = $prop["val"];
46 }
47 }

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

+ 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.

50 {
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 }
addPropertyToItemProperties(array &$props, ?array $prop)
$txt
Definition: error.php:31
This describes a Standard Dropdown.
Definition: Standard.php:27

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

+ 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: