form: Add `FormElement' as base class for our elements
This commit is contained in:
parent
1a2d15b638
commit
8106fe4f79
|
@ -0,0 +1,62 @@
|
||||||
|
<?php
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
|
||||||
|
namespace Icinga\Web\Form;
|
||||||
|
|
||||||
|
use Zend_Form_Element;
|
||||||
|
use Icinga\Web\Form;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Base class for Icinga Web 2 form elements
|
||||||
|
*/
|
||||||
|
class FormElement extends Zend_Form_Element
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Whether loading default decorators is disabled
|
||||||
|
*
|
||||||
|
* Icinga Web 2 loads its own default element decorators. For loading Zend's default element decorators set this
|
||||||
|
* property to false.
|
||||||
|
*
|
||||||
|
* @var null|bool
|
||||||
|
*/
|
||||||
|
protected $_disableLoadDefaultDecorators;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether loading default decorators is disabled
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function loadDefaultDecoratorsIsDisabled()
|
||||||
|
{
|
||||||
|
return $this->_disableLoadDefaultDecorators === true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load default decorators
|
||||||
|
*
|
||||||
|
* Icinga Web 2 loads its own default element decorators. For loading Zend's default element decorators set
|
||||||
|
* FormElement::$_disableLoadDefaultDecorators to false.
|
||||||
|
*
|
||||||
|
* @return this
|
||||||
|
* @see Form::$defaultElementDecorators For Icinga Web 2's default element decorators.
|
||||||
|
*/
|
||||||
|
public function loadDefaultDecorators()
|
||||||
|
{
|
||||||
|
if ($this->loadDefaultDecoratorsIsDisabled()) {
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! isset($this->_disableLoadDefaultDecorators)) {
|
||||||
|
$decorators = $this->getDecorators();
|
||||||
|
if (empty($decorators)) {
|
||||||
|
// Load Icinga Web 2's default element decorators
|
||||||
|
$this->addDecorators(Form::$defaultElementDecorators);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// Load Zend's default decorators
|
||||||
|
parent::loadDefaultDecorators();
|
||||||
|
}
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue