Exemplo n.º 1
0
 /**
  * @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]);
 }
Exemplo n.º 2
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;
 }