42 lines
1.5 KiB
PHP
42 lines
1.5 KiB
PHP
|
<?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;
|
||
|
}
|
||
|
}
|