19declare(strict_types=1);
39 private \ilGlobalTemplateInterface
$tpl;
49 private array $elements = []
53 $this->
lng = $DIC[
'lng'];
54 $this->
toolbar = $DIC[
'ilToolbar'];
55 $this->tpl =
$DIC[
'tpl'];
57 $this->ui_factory =
$DIC[
'ui.factory'];
58 $this->ui_renderer =
$DIC[
'ui.renderer'];
66 if ($this->elements === []) {
69 $modal = $this->ui_factory->modal()->roundtrip(
70 $this->
lng->txt(
'cntr_add_new_item'),
71 $this->ui_factory->menu()->drilldown(
72 $this->lng->txt(
'object_list'),
73 $this->buildAddNewItemsMenu($this->elements)
78 $this->ui_factory->button()->primary(
79 $this->lng->txt(
'cntr_add_new_item'),
80 $modal->getShowSignal()
83 $this->tpl->setVariable(
84 'IL_OBJECT_ADD_NEW_ITEM_MODAL',
85 $this->ui_renderer->render($modal)
96 foreach ($elements as $element) {
98 $sub_menu[] = $this->ui_factory->menu()->sub(
100 $this->buildAddNewItemsMenu($element->getSubElements())
103 if ($element->getType() === AddNewItemElementTypes::Object) {
104 $sub_menu[] = $this->ui_factory->link()->bulky(
106 $element->getLabel(),
107 $element->getCreationUri()
Builds a Color from either hex- or rgb values.
Render add new item selector.
ilGlobalTemplateInterface $tpl
ilObjectDefinition $obj_definition
__construct(private array $elements=[])
render()
Add new item selection to current page incl.
buildAddNewItemsMenu(array $elements)
An entity that renders components to a string output.