68 lines
2.3 KiB
PHP
68 lines
2.3 KiB
PHP
<?php
|
|
|
|
/**
|
|
* @package Joomla.Site
|
|
* @subpackage Layout
|
|
*
|
|
* @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
|
|
* @license GNU General Public License version 2 or later; see LICENSE.txt
|
|
*/
|
|
|
|
defined('_JEXEC') or die;
|
|
|
|
use Joomla\CMS\Factory;
|
|
use Joomla\CMS\Language\Text;
|
|
|
|
extract($displayData, EXTR_OVERWRITE);
|
|
|
|
/**
|
|
* Layout variables
|
|
* -----------------
|
|
* @var string $id
|
|
* @var string $onclick
|
|
* @var string $class
|
|
* @var string $text
|
|
* @var string $btnClass
|
|
* @var string $tagName
|
|
* @var string $htmlAttributes
|
|
* @var string $hasButtons
|
|
* @var string $button
|
|
* @var string $dropdownItems
|
|
* @var string $caretClass
|
|
* @var string $toggleSplit
|
|
*/
|
|
|
|
$direction = Factory::getLanguage()->isRtl() ? 'dropdown-menu-end' : '';
|
|
|
|
/**
|
|
* The dropdown class is also injected on the button from \Joomla\CMS\Toolbar\ToolbarButton::prepareOptions() and therefore we need the dropdown script whether we
|
|
* are in split toggle mode or not
|
|
*/
|
|
/** @var Joomla\CMS\WebAsset\WebAssetManager $wa */
|
|
$wa = Factory::getApplication()->getDocument()->getWebAssetManager();
|
|
$wa->useScript('bootstrap.dropdown');
|
|
|
|
?>
|
|
<?php if ($hasButtons && trim($button) !== '') : ?>
|
|
<?php // If there is a toggle split then render the items. Else render the parent button which has the items in the custom element. ?>
|
|
<?php if ($toggleSplit ?? true) : ?>
|
|
<div id="<?php echo $id; ?>" class="btn-group dropdown-<?php echo $name ?? ''; ?>" role="group">
|
|
<button type="button" class="<?php echo $caretClass ?? ''; ?> dropdown-toggle-split"
|
|
data-bs-toggle="dropdown" data-bs-target=".dropdown-menu" data-bs-display="static" aria-haspopup="true" aria-expanded="false">
|
|
<span class="visually-hidden"><?php echo Text::_('JGLOBAL_TOGGLE_DROPDOWN'); ?></span>
|
|
<span class="icon-chevron-down" aria-hidden="true"></span>
|
|
</button>
|
|
|
|
<?php echo $button; ?>
|
|
|
|
<?php if (trim($dropdownItems) !== '') : ?>
|
|
<div class="dropdown-menu <?php echo $direction; ?>">
|
|
<?php echo $dropdownItems; ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
</div>
|
|
<?php else : ?>
|
|
<?php echo $button; ?>
|
|
<?php endif; ?>
|
|
<?php endif; ?>
|