<?php namespace {{namespace_php}}\ReportWidgets;

use Backend\Classes\ReportWidgetBase;
use Exception;

/**
 * {{studly_name}} Report Widget
 *
 * @link https://docs.octobercms.com/3.x/extend/backend/report-widgets.html
 */
class {{studly_name}} extends ReportWidgetBase
{
    protected $defaultAlias = '{{studly_name}}ReportWidget';

    public function defineProperties()
    {
        return [
            'name' => [
                'title' => 'Name',
                'default' => '{{title_name}} Report Widget',
                'type' => 'string',
                'validation' => [
                    'required' => [
                        'message' => 'The Name field is required'
                    ],
                    'regex' => [
                        'message' => 'The Name field can contain only Latin letters.',
                        'pattern' => '^[a-zA-Z]+$'
                    ]
                ]
            ],
        ];
    }

    public function render()
    {
        try {
            $this->prepareVars();
        }
        catch (Exception $ex) {
            $this->vars['error'] = $ex->getMessage();
        }

        return $this->makePartial('{{lower_name}}');
    }

    public function prepareVars()
    {
    }

    protected function loadAssets()
    {
    }
}
