| Current Path : /home/antonen/poznajlitwe.lt/libraries/nextend2/nextend/library/libraries/form/elements/ |
| Current File : //home/antonen/poznajlitwe.lt/libraries/nextend2/nextend/library/libraries/form/elements/mixed.php |
<?php
N2Loader::import('libraries.form.elements.hidden');
class N2ElementMixed extends N2ElementHidden implements N2FormElementContainer {
protected $hasTooltip = true;
private static $separator = '|*|';
protected $style = '';
/** @var N2Element[] */
protected $elements = array();
public function addElement($element) {
$this->elements[] = $element;
}
protected function fetchElement() {
$default = explode(self::$separator, $this->defaultValue);
$value = explode(self::$separator, $this->getValue());
$value = $value + $default;
$html = "<div class='n2-form-element-mixed' style='" . $this->style . "'>";
$elements = array();
$i = 0;
foreach ($this->elements AS $element) {
$element->setExposeName(false);
if (isset($value[$i])) {
$element->setDefaultValue($value[$i]);
}
$elementHtml = $element->render($this->name . $this->control_name);
$html .= N2Html::tag('div', $element->getRowAttributes() + array(
'class' => "n2-mixed-group " . $element->getRowClass()
), N2Html::tag('div', array(
'class' => 'n2-mixed-label'
), $elementHtml[0]) . N2Html::tag('div', array(
'class' => 'n2-mixed-element'
), $elementHtml[1]));
$elements[$i] = $element->getID();
$i++;
}
$html .= parent::fetchElement();
$html .= "</div>";
N2JS::addInline('new N2Classes.FormElementMixed("' . $this->fieldID . '", ' . json_encode($elements) . ', "' . self::$separator . '");');
return $html;
}
/**
* @param string $style
*/
public function setStyle($style) {
$this->style = $style;
}
}