: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
namespace Nextend\Framework\Form\Element;
use Nextend\Framework\Asset\Js\Js;
use Nextend\Framework\Form\AbstractField;
use Nextend\Framework\Form\ContainerInterface;
use Nextend\Framework\Form\TraitFieldset;
class Gap extends AbstractFieldHidden implements ContainerInterface {
private static $separator = '|*|';
protected function fetchElement() {
$default = explode(self::$separator, $this->defaultValue);
$value = explode(self::$separator, $this->getValue());
$value = $value + $default;
$html = "<div class='n2_field_margin_padding' style='" . $this->style . "'>";
$html .= '<div class="n2_field_margin_padding__pre_label"><i class="ssi_16 ssi_16--unlink"></i></div>';
$element->setExposeName(false);
$element->setDefaultValue($value[$i]);
$html .= $this->decorateElement($element);
$subElements[$i] = $element->getID();
$element = $element->getNext();
$html .= '<div class="n2_field_unit"><div class="n2_field_unit__current_unit">' . $this->unit . '</div></div>';
$html .= parent::fetchElement();
Js::addInline('new _N2.FormElementGap("' . $this->fieldID . '", ' . json_encode($subElements) . ', "' . self::$separator . '");');
$this->renderRelatedFields();
public function setUnit($unit) {
public function getControlName() {
return $this->name . $this->controlName;
* @param AbstractField $element
public function decorateElement($element) {
$elementHtml = $element->render();