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

42 lines
1.5 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 ControlDesignTimeProviderBase extends WidgetBase
{
/**
* Renders conrol body.
* @param string $type Specifies the control type to render.
* @param array $properties Control property values.
* @param \RainLab\Builder\FormWidgets\FormBuilder $formBuilder FormBuilder widget instance.
* @return string Returns HTML markup string.
*/
abstract public function renderControlBody($type, $properties, $formBuilder);
/**
* Renders conrol static body.
* The control static body is never updated with AJAX during the form editing.
* @param string $type Specifies the control type to render.
* @param array $properties Control property values.
* @param array $controlConfiguration Raw control property values.
* @param \RainLab\Builder\FormWidgets\FormBuilder $formBuilder FormBuilder widget instance.
* @return string Returns HTML markup string.
*/
abstract public function renderControlStaticBody($type, $properties, $controlConfiguration, $formBuilder);
/**
* Determines whether a control supports default labels and comments.
* @param string $type Specifies the control type.
* @return boolean
*/
abstract public function controlHasLabels($type);
protected function getPropertyValue($properties, $property)
{
if (array_key_exists($property, $properties)) {
return $properties[$property];
}
return null;
}
}