44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * @author          Tassos Marinos <info@tassos.gr>
 | |
|  * @link            https://www.tassos.gr
 | |
|  * @copyright       Copyright © 2024 Tassos All Rights Reserved
 | |
|  * @license         GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
 | |
|  */
 | |
| 
 | |
| // No direct access to this file
 | |
| defined('_JEXEC') or die;
 | |
| 
 | |
| use Joomla\CMS\HTML\HTMLHelper;
 | |
| use Joomla\CMS\Form\FormHelper;
 | |
| 
 | |
| require_once dirname(__DIR__) . '/helpers/field.php';
 | |
| 
 | |
| class JFormFieldNR_Inline extends NRFormField
 | |
| {
 | |
| 	public function renderField($options = [])
 | |
| 	{
 | |
| 		HTMLHelper::stylesheet('plg_system_nrframework/inline-control-group.css', ['relative' => true, 'version' => 'auto']);
 | |
| 
 | |
| 		$start = $this->get('start', 1);
 | |
| 		$end   = $this->get('end', 0);
 | |
| 
 | |
| 		if ($start && !$end)
 | |
| 		{
 | |
| 			// Apply showon on the start of the inline field
 | |
| 			$showon = '';
 | |
| 			if ($dataShowon = $this->get('showon'))
 | |
| 			{
 | |
| 				$dataShowon = FormHelper::parseShowOnConditions($dataShowon, $this->formControl, $this->group);
 | |
| 				$showon = ' data-showon="' . htmlspecialchars(json_encode($dataShowon)) . '"';
 | |
| 			}
 | |
| 			
 | |
| 			$label = $this->getLabel() ? '<div class="control-label">' . $this->getLabel() . '</div>' : '';
 | |
| 			
 | |
| 			return '<div class="control-group"' . $showon . '>' . $label . '<div class="controls"><div class="inline-control-group' . ($this->class ? ' ' . $this->class : '') . '">';
 | |
| 		}
 | |
| 
 | |
| 		return '</div></div>' . ($this->getLabel() ? '</div>' : '') . '</div>';
 | |
| 	}
 | |
| } |