marc-leopold/cms/plugins/rainlab/builder/classes/BehaviorDesignTimeProviderB...

34 lines
1.2 KiB
PHP
Raw Normal View History

2019-02-25 14:56:59 +00:00
<?php namespace RainLab\Builder\Classes;
use Backend\Classes\WidgetBase;
abstract class BehaviorDesignTimeProviderBase extends WidgetBase
{
/**
* Renders behaivor body.
* @param string $class Specifies the behavior class to render.
* @param array $properties Behavior property values.
* @param \RainLab\Builder\FormWidgets\ControllerBuilder $controllerBuilder ControllerBuilder widget instance.
* @return string Returns HTML markup string.
*/
abstract public function renderBehaviorBody($class, $properties, $controllerBuilder);
/**
* Returns default behavior configuration as an array.
* @param string $class Specifies the behavior class name.
* @param string $controllerModel Controller model.
* @param mixed $controllerGenerator Controller generator object.
* @return array Returns the behavior configuration array.
*/
abstract public function getDefaultConfiguration($class, $controllerModel, $controllerGenerator);
protected function getPropertyValue($properties, $property)
{
if (array_key_exists($property, $properties)) {
return $properties[$property];
}
return null;
}
}