acf
This commit is contained in:
		| @ -0,0 +1,65 @@ | ||||
| <?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 | ||||
|  */ | ||||
|  | ||||
| namespace NRFramework\Widgets; | ||||
|  | ||||
| defined('_JEXEC') or die; | ||||
|  | ||||
| /** | ||||
|  *  The Range Slider widget | ||||
|  */ | ||||
| class RangeSlider extends Widget | ||||
| { | ||||
| 	/** | ||||
| 	 * Widget default options | ||||
| 	 * | ||||
| 	 * @var array | ||||
| 	 */ | ||||
| 	protected $widget_options = [ | ||||
| 		// The default value of the widget.  | ||||
| 		'value' => 0, | ||||
|  | ||||
| 		// The minimum value of the slider | ||||
| 		'min' => 0, | ||||
|  | ||||
| 		// The maximum value of the slider | ||||
| 		'max' => 100, | ||||
|  | ||||
| 		// The step of the slider | ||||
| 		'step' => 1, | ||||
|  | ||||
| 		// The main slider color | ||||
| 		'color' => '#1976d2', | ||||
|  | ||||
| 		// The input border color of the slider inputs | ||||
| 		'input_border_color' => '#bdbdbd', | ||||
|  | ||||
| 		// The input background color of the slider inputs | ||||
| 		'input_bg_color' => 'transparent' | ||||
| 	]; | ||||
|  | ||||
| 	/** | ||||
| 	 * Class constructor | ||||
| 	 * | ||||
| 	 * @param array $options | ||||
| 	 */ | ||||
| 	public function __construct($options = []) | ||||
| 	{ | ||||
| 		parent::__construct($options); | ||||
|  | ||||
| 		// Base color is 20% of given color | ||||
| 		$this->options['base_color'] = $this->options['color'] . '33'; | ||||
|  | ||||
| 		// Calculate value | ||||
| 		$this->options['value'] = (float) $this->options['value'] < $this->options['min'] ? $this->options['min'] : ((float) $this->options['value'] > $this->options['max'] ? $this->options['max'] : (float) $this->options['value']); | ||||
|  | ||||
| 		// Calculate bar percentage | ||||
| 		$this->options['bar_percentage'] = $this->options['max'] ? floor(100 * ($this->options['value'] - $this->options['min']) / ($this->options['max'] - $this->options['min'])) : $this->options['value']; | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user