86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			86 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  * @package   FOF
 | |
|  * @copyright Copyright (c)2010-2021 Nicholas K. Dionysopoulos / Akeeba Ltd
 | |
|  * @license   GNU General Public License version 2, or later
 | |
|  */
 | |
| 
 | |
| namespace FOF30\Utils\FEFHelper;
 | |
| 
 | |
| defined('_JEXEC') || die;
 | |
| 
 | |
| use FOF30\View\DataView\DataViewInterface;
 | |
| use Joomla\CMS\HTML\HTMLHelper;
 | |
| use Joomla\CMS\Pagination\Pagination;
 | |
| 
 | |
| /**
 | |
|  * Interim FEF helper which was used in FOF 3.2. This is deprecated. Please use the FEFHelper.browse JHtml helper
 | |
|  * instead. The implementation of this class should be a good hint on how you can do that.
 | |
|  *
 | |
|  * @deprecated 4.0
 | |
|  */
 | |
| abstract class Html
 | |
| {
 | |
| 	/**
 | |
| 	 * Helper function to create Javascript code required for table ordering
 | |
| 	 *
 | |
| 	 * @param   string  $order  Current order
 | |
| 	 *
 | |
| 	 * @return string    Javascript to add to the page
 | |
| 	 */
 | |
| 	public static function jsOrderingBackend($order)
 | |
| 	{
 | |
| 		return HTMLHelper::_('FEFHelper.browse.orderjs', $order, true);
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Creates the required HTML code for backend pagination and sorting
 | |
| 	 *
 | |
| 	 * @param   Pagination  $pagination  Pagination object
 | |
| 	 * @param   array       $sortFields  Fields allowed to be sorted
 | |
| 	 * @param   string      $order       Ordering field
 | |
| 	 * @param   string      $order_Dir   Ordering direction (ASC, DESC)
 | |
| 	 *
 | |
| 	 * @return string
 | |
| 	 */
 | |
| 	public static function selectOrderingBackend($pagination, $sortFields, $order, $order_Dir)
 | |
| 	{
 | |
| 		if (is_null($sortFields))
 | |
| 		{
 | |
| 			$sortFields = [];
 | |
| 		}
 | |
| 
 | |
| 		if (is_string($sortFields))
 | |
| 		{
 | |
| 			$sortFields = [$sortFields];
 | |
| 		}
 | |
| 
 | |
| 		if (!is_array($sortFields))
 | |
| 		{
 | |
| 			$sortFields = [];
 | |
| 		}
 | |
| 
 | |
| 		return
 | |
| 			'<div class="akeeba-filter-bar akeeba-filter-bar--right">' .
 | |
| 			HTMLHelper::_('FEFHelper.browse.orderheader', null, $sortFields, $pagination, $order, $order_Dir) .
 | |
| 			'</div>';
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Returns the drag'n'drop reordering field for Browse views
 | |
| 	 *
 | |
| 	 * @param   DataViewInterface  $view           The DataView you're rendering against
 | |
| 	 * @param   string             $orderingField  The name of the field you're ordering by
 | |
| 	 * @param   string             $order          The order value of the current row
 | |
| 	 * @param   string             $class          CSS class for the ordering value INPUT field
 | |
| 	 * @param   string             $icon           CSS class for the d'n'd handle icon
 | |
| 	 * @param   string             $inactiveIcon   CSS class for the d'n'd disabled icon
 | |
| 	 *
 | |
| 	 * @return string
 | |
| 	 */
 | |
| 	public static function dragDropReordering(DataViewInterface $view, $orderingField, $order, $class = 'input-sm', $icon = 'akion-drag', $inactiveIcon = 'akion-android-more-vertical')
 | |
| 	{
 | |
| 		return HTMLHelper::_('FEFHelper.browse.order', $orderingField, $order, $class, $icon, $inactiveIcon, $view);
 | |
| 	}
 | |
| }
 |