92 lines
1.8 KiB
PHP
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';
|
|
}
|
|
}
|
|
} |