ActionMenu

Aktionsmenü

Am ActionMenu können Aktionsicons in ein ausklappbares Menü zusammengefasst werden.

ActionMenu

Die Klasse kann direkt innerhalb einer View verwendet werden, weil sie den nötigen HTML-Code generiert und ausgibt.

Über ActionMenu::get() erhält man eine Instanz der Klasse, die mit Inhalten befüllt werden kann.

Über die Methode addLink werden neue Aktionslinks hinzugefügt, die wie üblich mit den Parametern URL, Label, Icon und weiteren Optionen spezifiziert werden.

Weiter gibt es die Methode addMultiPersonSearch, die als Parameter ein MultiPersonSearch-Objekt erhält und diese Suche als Aktion hinzufügt.

Ein minimaler Aufruf mit einer einzigen Aktion könnte also so aussehen:

<?php
$menu = ActionMenu::get();
$menu->addLink(
    $controller->url_for('controller/action'),
    _('Hinzufügen'),
    Icon::create('add'),
    ['data-dialog' => 'size=auto']
);
$menu->addLink(
    $controller->url_for('controller/second_action'),
    _('Bearbeiten'),
    Icon::create('edit'),
    ['data-dialog' => 'size=auto']
);
$menu->addButton(
    'delete',
    ('Löschen'),
    Icon::create('trash'),
    [
        'data-confirm' => _('Wollen Sie wirklich löschen?'),
        'formaction'   => $controller->url_for('controller/delete')
    ]
);
$menu->addMultiPersonSearch(
    MultiPersonSearch::get('add_users')
        ->setTitle(_('Personen hinzufügen'))
        ->setLinkText(_('Personen hinzufügen'))
        ->setSearchObject($array)
        ->setDefaultSelectedUser($array_selected_user)
        ->setDataDialogStatus(Request::isXhr())
        ->setJSFunctionOnSubmit(Request::isXhr() ? 'STUDIP.Dialog.close();' : false)
        ->setExecuteURL($controller->url_for('controller/add_member/'))
        ->addQuickfilter(_('Titel'), $array)
);
echo $menu->render();
?>

Letzte Änderung am June 28, 2019, at 11:48 AM von dsiegfried.