/** * @covers Xoops\Form\ElementTray::isRequired */ public function testIsRequired() { $value = $this->object->isRequired(); $this->assertFalse($value); $button = new Button('button_caption', 'button_name'); $this->object->addElement($button, true); $value = $this->object->isRequired(); $this->assertTrue($value); $value = $this->object->getRequired(); $this->assertTrue(is_array($value)); $this->assertInstanceOf('Xoops\\Form\\Button', $value[0]); $value = $this->object->getElements(); $this->assertTrue(is_array($value)); $this->assertInstanceOf('Xoops\\Form\\Button', $value[0]); }
/** * create HTML to output the form as a table * * @return string */ public function render() { $xoops = \Xoops::getInstance(); $xoops->theme()->addBaseScriptAssets('@jquery'); $xoops->theme()->addBaseScriptAssets('@jqueryui'); $xoops->theme()->addBaseStylesheetAssets('@jqueryuicss'); $xoops->theme()->addScript('', '', '$(function() { $("#tabs_' . $this->getName() . '").tabs(); });'); $ret = '<div id="tabs_' . $this->getName() . '">' . NWLINE; $ret .= '<ul>' . NWLINE; foreach ($this->getElements() as $ele) { if ($ele instanceof Tab) { $ret .= '<li><a href="#tab_' . $ele->getName() . '"><span>' . $ele->getCaption() . '</span></a></li>' . NWLINE; } } $ret .= '</ul>' . NWLINE; $hidden = ''; $extras = array(); foreach ($this->getElements() as $ele) { /* @var $ele Element */ if (!$ele->isHidden()) { if (!$ele instanceof Raw) { if ($ele instanceof Tab) { $ret .= '<div id="tab_' . $ele->getName() . '">' . NWLINE; $ret .= '<table class="outer" cellspacing="1">' . NWLINE; $ret .= $ele->render(); $ret .= '</table>' . NWLINE; $ret .= '</div>' . NWLINE; } else { $extras[] = $ele; } } else { $ret .= $ele->render(); } } else { $hidden .= $ele->render(); } } if (!empty($extras)) { $tray = new ElementTray('', $this->getDelimiter()); foreach ($extras as $extra) { $tray->addElement($extra); } $ret .= $tray->render(); $ret .= NWLINE; } $ret .= $hidden . NWLINE; $ret .= '</div>' . NWLINE; return $ret; }