1<?php 2/** 3 * @package Joomla.Platform 4 * @subpackage Form 5 * 6 * @copyright Copyright (C) 2005 - 2020 Open Source Matters, Inc. All rights reserved. 7 * @license GNU General Public License version 2 or later; see LICENSE 8 */ 9 10defined('JPATH_PLATFORM') or die; 11 12JFormHelper::loadFieldClass('number'); 13 14/** 15 * Form Field class for the Joomla Platform. 16 * Provides a horizontal scroll bar to specify a value in a range. 17 * 18 * @link http://www.w3.org/TR/html-markup/input.text.html#input.text 19 * @since 3.2 20 */ 21class JFormFieldRange extends JFormFieldNumber 22{ 23 /** 24 * The form field type. 25 * 26 * @var string 27 * @since 3.2 28 */ 29 protected $type = 'Range'; 30 31 /** 32 * Name of the layout being used to render the field 33 * 34 * @var string 35 * @since 3.7 36 */ 37 protected $layout = 'joomla.form.field.range'; 38 39 /** 40 * Method to get the field input markup. 41 * 42 * @return string The field input markup. 43 * 44 * @since 3.2 45 */ 46 protected function getInput() 47 { 48 return $this->getRenderer($this->layout)->render($this->getLayoutData()); 49 } 50 51 /** 52 * Method to get the data to be passed to the layout for rendering. 53 * 54 * @return array 55 * 56 * @since 3.7 57 */ 58 protected function getLayoutData() 59 { 60 $data = parent::getLayoutData(); 61 62 // Initialize some field attributes. 63 $extraData = array( 64 'max' => $this->max, 65 'min' => $this->min, 66 'step' => $this->step, 67 ); 68 69 return array_merge($data, $extraData); 70 } 71} 72