/** * This function returns the elementGroup for a DataElement * * @param string $field name of the field * @param object $dataElement the element of the field * @param array $fieldOptions options for the field * @return \Cx\Core\Html\Model\Entity\HtmlElement */ public function getDataElementGroup($field, $dataElement, $fieldOptions = array()) { $group = new \Cx\Core\Html\Model\Entity\HtmlElement('div'); $group->setAttribute('class', 'group'); $label = new \Cx\Core\Html\Model\Entity\HtmlElement('label'); $label->setAttribute('for', 'form-' . $this->formId . '-' . $field); $fieldHeader = $field; if (isset($fieldOptions['formtext'])) { $fieldHeader = FormGenerator::getFormLabel($fieldOptions, 'formtext'); } else { if (isset($fieldOptions['header'])) { $fieldHeader = FormGenerator::getFormLabel($fieldOptions, 'header'); } } $label->addChild(new \Cx\Core\Html\Model\Entity\TextElement($fieldHeader . ' ')); $group->addChild($label); $controls = new \Cx\Core\Html\Model\Entity\HtmlElement('div'); $controls->setAttribute('class', 'controls'); $controls->addChild($dataElement); if (isset($fieldOptions['tooltip'])) { $tooltipTrigger = new \Cx\Core\Html\Model\Entity\HtmlElement('span'); $tooltipTrigger->setAttribute('class', 'icon-info tooltip-trigger'); $tooltipTrigger->allowDirectClose(false); $tooltipMessage = new \Cx\Core\Html\Model\Entity\HtmlElement('span'); $tooltipMessage->setAttribute('class', 'tooltip-message'); $tooltipMessage->addChild(new \Cx\Core\Html\Model\Entity\TextElement($fieldOptions['tooltip'])); $controls->addChild($tooltipTrigger); $controls->addChild($tooltipMessage); } $group->addChild($controls); return $group; }