acf
This commit is contained in:
62
plugins/system/nrframework/NRFramework/Widgets/Rating.php
Normal file
62
plugins/system/nrframework/NRFramework/Widgets/Rating.php
Normal file
@ -0,0 +1,62 @@
|
||||
<?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;
|
||||
|
||||
use Joomla\CMS\Uri\Uri;
|
||||
|
||||
/**
|
||||
* The Rating Widget
|
||||
*/
|
||||
class Rating extends Widget
|
||||
{
|
||||
/**
|
||||
* Widget default options
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $widget_options = [
|
||||
// The SVG icon representing the rating icon. Available values: check, circle, flag, heart, smiley, square, star, thumbs_up
|
||||
'icon' => 'star',
|
||||
|
||||
// The default value of the widget.
|
||||
'value' => 0,
|
||||
|
||||
// How many stars to show?
|
||||
'max_rating' => 5,
|
||||
|
||||
// Whether to show half ratings
|
||||
'half_ratings' => false,
|
||||
|
||||
// The size of the rating icon in pixels.
|
||||
'size' => 24,
|
||||
|
||||
// The color of the icon in the default state
|
||||
'selected_color' => '#f6cc01',
|
||||
|
||||
// The color of the icon in the selected and hover state
|
||||
'unselected_color' => '#bdbdbd'
|
||||
];
|
||||
|
||||
/**
|
||||
* Class constructor
|
||||
*
|
||||
* @param array $options
|
||||
*/
|
||||
public function __construct($options = [])
|
||||
{
|
||||
parent::__construct($options);
|
||||
|
||||
$this->options['value'] = $this->options['value'] > $this->options['max_rating'] ? $this->options['max_rating'] : $this->options['value'];
|
||||
$this->options['icon_url'] = Uri::root() . 'media/plg_system_nrframework/svg/rating/' . $this->options['icon'] . '.svg';
|
||||
$this->options['max_rating'] = $this->options['half_ratings'] ? 2 * $this->options['max_rating'] : $this->options['max_rating'];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user