__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<?php
/**
* Joomla! Content Management System
*
* @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org>
* @license GNU General Public License version 2 or later; see LICENSE.txt
*/
namespace Joomla\CMS\HTML\Helpers;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\LayoutHelper;
// phpcs:disable PSR1.Files.SideEffects
\defined('_JEXEC') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* HTML utility class for building a dropdown menu
*
* @since 3.2
*/
abstract class ActionsDropdown
{
/**
* @var string[] HTML markup for the dropdown list
* @since 3.2
*/
protected static $dropDownList = [];
/**
* Method to render current dropdown menu
*
* @param string $item An item to render.
*
* @return string HTML markup for the dropdown list
*
* @since 3.2
*/
public static function render($item = '')
{
$html = [];
$html[] = '<button data-bs-toggle="dropdown" class="dropdown-toggle btn btn-sm btn-secondary">';
$html[] = '<span class="caret"></span>';
if ($item) {
$html[] = '<span class="visually-hidden">' . Text::sprintf('JACTIONS', $item) . '</span>';
}
$html[] = '</button>';
$html[] = '<ul class="dropdown-menu">';
$html[] = implode('', static::$dropDownList);
$html[] = '</ul>';
static::$dropDownList = [];
return implode('', $html);
}
/**
* Append a publish item to the current dropdown menu
*
* @param string $id ID of corresponding checkbox of the record
* @param string $prefix The task prefix
*
* @return void
*
* @since 3.2
*/
public static function publish($id, $prefix = '')
{
$task = ($prefix ? $prefix . '.' : '') . 'publish';
static::addCustomItem(Text::_('JTOOLBAR_PUBLISH'), 'publish', $id, $task);
}
/**
* Append an unpublish item to the current dropdown menu
*
* @param string $id ID of corresponding checkbox of the record
* @param string $prefix The task prefix
*
* @return void
*
* @since 3.2
*/
public static function unpublish($id, $prefix = '')
{
$task = ($prefix ? $prefix . '.' : '') . 'unpublish';
static::addCustomItem(Text::_('JTOOLBAR_UNPUBLISH'), 'unpublish', $id, $task);
}
/**
* Append a feature item to the current dropdown menu
*
* @param string $id ID of corresponding checkbox of the record
* @param string $prefix The task prefix
*
* @return void
*
* @since 3.2
*/
public static function feature($id, $prefix = '')
{
$task = ($prefix ? $prefix . '.' : '') . 'featured';
static::addCustomItem(Text::_('JFEATURE'), 'featured', $id, $task);
}
/**
* Append an unfeature item to the current dropdown menu
*
* @param string $id ID of corresponding checkbox of the record
* @param string $prefix The task prefix
*
* @return void
*
* @since 3.2
*/
public static function unfeature($id, $prefix = '')
{
$task = ($prefix ? $prefix . '.' : '') . 'unfeatured';
static::addCustomItem(Text::_('JUNFEATURE'), 'unfeatured', $id, $task);
}
/**
* Append an archive item to the current dropdown menu
*
* @param string $id ID of corresponding checkbox of the record
* @param string $prefix The task prefix
*
* @return void
*
* @since 3.2
*/
public static function archive($id, $prefix = '')
{
$task = ($prefix ? $prefix . '.' : '') . 'archive';
static::addCustomItem(Text::_('JTOOLBAR_ARCHIVE'), 'archive', $id, $task);
}
/**
* Append an unarchive item to the current dropdown menu
*
* @param string $id ID of corresponding checkbox of the record
* @param string $prefix The task prefix
*
* @return void
*
* @since 3.2
*/
public static function unarchive($id, $prefix = '')
{
$task = ($prefix ? $prefix . '.' : '') . 'unpublish';
static::addCustomItem(Text::_('JTOOLBAR_UNARCHIVE'), 'unarchive', $id, $task);
}
/**
* Append a duplicate item to the current dropdown menu
*
* @param string $id ID of corresponding checkbox of the record
* @param string $prefix The task prefix
*
* @return void
*
* @since 3.2
*/
public static function duplicate($id, $prefix = '')
{
$task = ($prefix ? $prefix . '.' : '') . 'duplicate';
static::addCustomItem(Text::_('JTOOLBAR_DUPLICATE'), 'copy', $id, $task);
}
/**
* Append a trash item to the current dropdown menu
*
* @param string $id ID of corresponding checkbox of the record
* @param string $prefix The task prefix
*
* @return void
*
* @since 3.2
*/
public static function trash($id, $prefix = '')
{
$task = ($prefix ? $prefix . '.' : '') . 'trash';
static::addCustomItem(Text::_('JTOOLBAR_TRASH'), 'trash', $id, $task);
}
/**
* Append an untrash item to the current dropdown menu
*
* @param string $id ID of corresponding checkbox of the record
* @param string $prefix The task prefix
*
* @return void
*
* @since 3.2
*/
public static function untrash($id, $prefix = '')
{
self::publish($id, $prefix);
}
/**
* Writes a divider between dropdown items
*
* @return void
*
* @since 3.0
*/
public static function divider()
{
static::$dropDownList[] = '<li class="divider"></li>';
}
/**
* Append a custom item to current dropdown menu.
*
* @param string $label The label of the item.
* @param string $icon The icon classname.
* @param string $id The item id.
* @param string $task The task.
*
* @return void
*
* @since 3.2
*/
public static function addCustomItem($label, $icon = '', $id = '', $task = '')
{
Factory::getDocument()->getWebAssetManager()->useScript('list-view');
static::$dropDownList[] = '<li>'
. HTMLHelper::link(
'#',
($icon ? LayoutHelper::render('joomla.icon.iconclass', ['icon' => $icon]) : '') . $label,
[
'data-item-id' => $id,
'data-item-task' => $task,
'class' => 'js-grid-item-action',
]
)
. '</li>';
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Access.php | File | 10.07 KB | 0664 |
|
| ActionsDropdown.php | File | 6.69 KB | 0664 |
|
| AdminLanguage.php | File | 1.69 KB | 0664 |
|
| Behavior.php | File | 11.32 KB | 0664 |
|
| Bootstrap.php | File | 32.54 KB | 0664 |
|
| Category.php | File | 7.66 KB | 0664 |
|
| Content.php | File | 2.97 KB | 0664 |
|
| ContentLanguage.php | File | 2.11 KB | 0664 |
|
| Date.php | File | 2.48 KB | 0664 |
|
| Debug.php | File | 1.75 KB | 0664 |
|
| DraggableList.php | File | 2.36 KB | 0664 |
|
| Dropdown.php | File | 9.84 KB | 0664 |
|
| Email.php | File | 2.47 KB | 0664 |
|
| Form.php | File | 2.02 KB | 0664 |
|
| FormBehavior.php | File | 5.63 KB | 0664 |
|
| Grid.php | File | 9.65 KB | 0664 |
|
| Icons.php | File | 2.02 KB | 0664 |
|
| JGrid.php | File | 19.81 KB | 0664 |
|
| Jquery.php | File | 2.75 KB | 0664 |
|
| Links.php | File | 3.21 KB | 0664 |
|
| ListHelper.php | File | 8.5 KB | 0664 |
|
| Menu.php | File | 13.81 KB | 0664 |
|
| Number.php | File | 4.02 KB | 0664 |
|
| SearchTools.php | File | 4 KB | 0664 |
|
| Select.php | File | 29.31 KB | 0664 |
|
| Sidebar.php | File | 3.62 KB | 0664 |
|
| SortableList.php | File | 1.76 KB | 0664 |
|
| StringHelper.php | File | 10.87 KB | 0664 |
|
| Tag.php | File | 7.38 KB | 0664 |
|
| Telephone.php | File | 2.54 KB | 0664 |
|
| UiTab.php | File | 3.13 KB | 0664 |
|
| User.php | File | 2.21 KB | 0664 |
|
| WorkflowStage.php | File | 2.4 KB | 0664 |
|