Files
conservatorio-tomadini/plugins/system/nrframework/NRFramework/Widgets/Signature.php
2024-12-31 11:07:09 +01:00

92 lines
1.8 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
*/
namespace NRFramework\Widgets;
defined('_JEXEC') or die;
/**
* Signature
*/
class Signature extends Widget
{
/**
* Widget default options
*
* @var array
*/
protected $widget_options = [
// The base64 image data of the signature.
'value' => '',
// The width of the signature in pixels or empty for auto width. The width will be taken from the signature container.
'width' => '',
// The height of the signature in pixels.
'height' => '300px',
// The background color of the signature.
'background_color' => '#ffffff',
// The border color of the canvas.
'border_color' => '#dedede',
/**
* The border radius of the canvas.
*
* Example values: 0, 0px, 50px, 50%
*/
'border_radius' => 0,
/**
* The border width of the canvas.
*
* Example values: 0, 1px, 5px
*/
'border_width' => '1px',
// Whether to show the horizontal line within the canvas
'show_line' => true,
/**
* The line color.
*
* If `null`, retrieves the value from `border_color`
*/
'line_color' => null,
// The pen color
'pen_color' => '#000'
];
/**
* Class constructor
*
* @param array $options
*/
public function __construct($options = [])
{
parent::__construct($options);
if ($this->options['readonly'])
{
$this->options['css_class'] .= ' readonly';
}
if (!empty($this->options['value']))
{
$this->options['css_class'] .= ' painted has-value';
}
if ($this->options['show_line'])
{
$this->options['css_class'] .= ' show-line';
}
}
}