ILIAS  release_8 Revision v8.24
ilADTMultiEnumFormBridge Class Reference
+ Inheritance diagram for ilADTMultiEnumFormBridge:
+ Collaboration diagram for ilADTMultiEnumFormBridge:

Public Member Functions

 setOptionInfos (array $a_info=null)
 
 setAutoSort (bool $a_value)
 
 addToForm ()
 Add ADT-specific fields to form. More...
 
 importFromPost ()
 Import values from form request POST data. More...
 
- Public Member Functions inherited from ilADTFormBridge
 __construct (ilADT $a_adt)
 
 getADT ()
 
 setForm (ilPropertyFormGUI $a_form)
 
 getForm ()
 
 setElementId (string $a_value)
 Set element id (aka form field) More...
 
 getElementId ()
 
 setTitle (string $a_value)
 
 getTitle ()
 
 setInfo (string $a_value)
 
 getInfo ()
 
 setParentElement ($a_value)
 
 getParentElement ()
 Get parent element. More...
 
 setDisabled (bool $a_value)
 
 isDisabled ()
 
 setRequired (bool $a_value)
 
 isRequired ()
 
 addToForm ()
 Add ADT-specific fields to form. More...
 
 addJS (ilGlobalTemplateInterface $a_tpl)
 Add ADT-specific JS-files to template. More...
 
 shouldBeImportedFromPost (ilADTFormBridge $a_parent_adt=null)
 Check if incoming values should be imported at all. More...
 
 importFromPost ()
 Import values from form request POST data. More...
 
 validate ()
 
 setExternalErrors (array $a_errors)
 

Protected Member Functions

 isValidADT (ilADT $a_adt)
 
 isActiveForSubItems ($a_parent_option=null)
 Check if element is currently active for subitem(s) More...
 
- Protected Member Functions inherited from ilADTFormBridge
 isValidADT (ilADT $a_adt)
 
 setADT (ilADT $a_adt)
 
 addBasicFieldProperties (ilFormPropertyGUI $a_field, ilADTDefinition $a_def)
 Helper method to handle generic properties like setRequired(), setInfo() More...
 
 findParentElementInForm ()
 
 addToParentElement (ilFormPropertyGUI $a_field)
 
 isActiveForSubItems ($a_parent_option=null)
 Check if element is currently active for subitem(s) More...
 

Protected Attributes

array $option_infos = []
 
bool $auto_sort = true
 
- Protected Attributes inherited from ilADTFormBridge
ilADT $adt
 
ilPropertyFormGUI $form
 
 $parent
 
string $id = null
 
string $title = ''
 
string $info = ''
 
 $parent_element
 
bool $required = false
 
bool $disabled = false
 
ilLanguage $lng
 

Detailed Description

Definition at line 5 of file class.ilADTMultiEnumFormBridge.php.

Member Function Documentation

◆ addToForm()

ilADTMultiEnumFormBridge::addToForm ( )

Add ADT-specific fields to form.

Reimplemented from ilADTFormBridge.

Definition at line 25 of file class.ilADTMultiEnumFormBridge.php.

25 : void
26 {
27 $def = $this->getADT()->getCopyOfDefinition();
28 $options = $def->getOptions();
29
30 if ($this->auto_sort) {
31 asort($options);
32 }
33
34 $cbox = new ilCheckboxGroupInputGUI($this->getTitle(), $this->getElementId());
35
36 foreach ($options as $value => $caption) {
37 $option = new ilCheckboxOption($caption, (string) $value);
38 if (is_array($this->option_infos) && array_key_exists($value, $this->option_infos)) {
39 $option->setInfo($this->option_infos[$value]);
40 }
41 $cbox->addOption($option);
42 }
43
44 $this->addBasicFieldProperties($cbox, $def);
45
46 $cbox->setValue($this->getADT()->getSelections());
47
48 $this->addToParentElement($cbox);
49 }
addBasicFieldProperties(ilFormPropertyGUI $a_field, ilADTDefinition $a_def)
Helper method to handle generic properties like setRequired(), setInfo()
addToParentElement(ilFormPropertyGUI $a_field)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References ilADTFormBridge\addBasicFieldProperties(), ilADTFormBridge\addToParentElement(), ilADTFormBridge\getADT(), ilADTFormBridge\getElementId(), and ilADTFormBridge\getTitle().

+ Here is the call graph for this function:

◆ importFromPost()

ilADTMultiEnumFormBridge::importFromPost ( )

Import values from form request POST data.

Reimplemented from ilADTFormBridge.

Definition at line 51 of file class.ilADTMultiEnumFormBridge.php.

51 : void
52 {
53 // ilPropertyFormGUI::checkInput() is pre-requisite
54
55 /*
56 * BT 32161: post value is null when no checkbox is selected,
57 * check whether the corresponding form input really exists, just
58 * to be sure.
59 */
60 if (is_object($this->getForm()->getItemByPostVar($this->getElementId()))) {
61 $this->getADT()->setSelections($this->getForm()->getInput($this->getElementId()) ?? []);
62 }
63
64 $field = $this->getForm()->getItemByPostVar($this->getElementId());
65 $field->setValue($this->getADT()->getSelections());
66 }

References ilADTFormBridge\getADT(), ilADTFormBridge\getElementId(), and ilADTFormBridge\getForm().

+ Here is the call graph for this function:

◆ isActiveForSubItems()

ilADTMultiEnumFormBridge::isActiveForSubItems (   $a_parent_option = null)
protected

Check if element is currently active for subitem(s)

Parameters
mixed | null$a_parent_option
Returns
bool

Reimplemented from ilADTFormBridge.

Definition at line 68 of file class.ilADTMultiEnumFormBridge.php.

68 : bool
69 {
70 $current = $this->getADT()->getSelections();
71 return (is_array($current) && in_array($a_parent_option, $current));
72 }

References ilADTFormBridge\getADT().

+ Here is the call graph for this function:

◆ isValidADT()

ilADTMultiEnumFormBridge::isValidADT ( ilADT  $a_adt)
protected

Reimplemented from ilADTFormBridge.

Definition at line 10 of file class.ilADTMultiEnumFormBridge.php.

10 : bool
11 {
12 return ($a_adt instanceof ilADTMultiEnum);
13 }

◆ setAutoSort()

ilADTMultiEnumFormBridge::setAutoSort ( bool  $a_value)

Definition at line 20 of file class.ilADTMultiEnumFormBridge.php.

20 : void
21 {
22 $this->auto_sort = $a_value;
23 }

◆ setOptionInfos()

ilADTMultiEnumFormBridge::setOptionInfos ( array  $a_info = null)

Definition at line 15 of file class.ilADTMultiEnumFormBridge.php.

15 : void
16 {
17 $this->option_infos = $a_info;
18 }

Field Documentation

◆ $auto_sort

bool ilADTMultiEnumFormBridge::$auto_sort = true
protected

Definition at line 8 of file class.ilADTMultiEnumFormBridge.php.

◆ $option_infos

array ilADTMultiEnumFormBridge::$option_infos = []
protected

Definition at line 7 of file class.ilADTMultiEnumFormBridge.php.


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