NEW drop down for action button show a simple button if only 1 action

This commit is contained in:
Laurent Destailleur 2023-08-14 03:37:22 +02:00
parent 633f9e56fd
commit 713d765e30

View file

@ -11088,18 +11088,28 @@ function dolGetButtonAction($label, $text = '', $actionType = 'default', $url =
// If $url is an array, we must build a dropdown button
if (is_array($url)) {
$out = '<div class="dropdown inline-block dropdown-holder">';
$out .= '<a style="margin-right: auto;" class="dropdown-toggle butAction" data-toggle="dropdown">'.$label.'</a>';
$out .= '<div class="dropdown-content">';
foreach ($url as $subbutton) {
if (!empty($subbutton['lang'])) {
$langs->load($subbutton['lang']);
if (count($url) > 1) {
$out = '<div class="dropdown inline-block dropdown-holder">';
$out .= '<a style="margin-right: auto;" class="dropdown-toggle butAction" data-toggle="dropdown">'.$label.'</a>';
$out .= '<div class="dropdown-content">';
foreach ($url as $subbutton) {
if (!empty($subbutton['lang'])) {
$langs->load($subbutton['lang']);
}
$tmpurl = DOL_URL_ROOT.$subbutton['url'].(empty($params['backtopage']) ? '' : '&amp;backtopage='.urlencode($params['backtopage']));
$out .= dolGetButtonAction('', $langs->trans($subbutton['label']), 'default', $tmpurl, '', $subbutton['perm'], array('isDropDown' => true));
}
$out .= "</div>";
$out .= "</div>";
} else {
foreach ($url as $subbutton) { // Should loop on 1 record only
if (!empty($subbutton['lang'])) {
$langs->load($subbutton['lang']);
}
$tmpurl = DOL_URL_ROOT.$subbutton['url'].(empty($params['backtopage']) ? '' : '&amp;backtopage='.urlencode($params['backtopage']));
$out .= dolGetButtonAction('', $langs->trans($subbutton['label']), 'default', $tmpurl, '', $subbutton['perm']);
}
$tmpurl = DOL_URL_ROOT.$subbutton['url'].(empty($params['backtopage']) ? '' : '&amp;backtopage='.urlencode($params['backtopage']));
$out .= dolGetButtonAction('', $langs->trans($subbutton['label']), 'default', $tmpurl, '', $subbutton['perm'], array('isDropDown' => true));
}
$out .= "</div>";
$out .= "</div>";
return $out;
}