SwatDisclosure Demo

Both disclosure types support progressive enhancement.

Turn off JavaScript in your browser and reload the page for a demonstration.
Checkboxes
Inside

Radio Buttons

SwatML for this demo:


<?xml version="1.0" standalone="no"?>
<!DOCTYPE swatml SYSTEM "http://swat.silverorange.com/swatml1.dtd">
<swatml>
  <widget class="SwatForm" id="my_form">
    <widget class="SwatMessageDisplay" id="note" />

    <widget class="SwatDisclosure">
      <property name="title">Checkboxes</property>
      <widget class="SwatFormField">
        <property name="title">Check 1</property>
        <widget class="SwatCheckbox" id="check1">
        </widget>
      </widget>
      <widget class="SwatFormField">
        <property name="title">Check 2</property>
        <widget class="SwatCheckbox" id="check2">
        </widget>
      </widget>
      <widget class="SwatDisclosure">
        <property name="title">Inside</property>
        <property name="open" type="boolean">false</property>
        <widget class="SwatFormField">
          <property name="title">Entry</property>
          <widget class="SwatEntry" id="entry">
          </widget>
        </widget>
      </widget>
    </widget>

    <widget class="SwatFrameDisclosure">
      <property name="title">Radio Buttons</property>
      <property name="open" type="boolean">true</property>
      <widget class="SwatFormField">
        <property name="title">Radio List</property>
        <widget class="SwatRadioList" id="radio_list">
          <property name="value" type="integer">5</property>
        </widget>
      </widget>
    </widget>

  </widget>
</swatml>

PHP for this demo:


<?php

/* vim: set noexpandtab tabstop=4 shiftwidth=4 foldmethod=marker: */

require_once 'Demo.php';

/**
 * A demo using disclosures
 *
 * @package   SwatDemo
 * @copyright 2005-2007 silverorange
 * @license   http://www.gnu.org/copyleft/lesser.html LGPL License 2.1
 */
class DisclosureDemo extends Demo
{
  
// {{{ public function buildDemoUI()

  
public function buildDemoUI(SwatUI $ui)
  {
    
$radiolist $ui->getWidget('radio_list');
    
$radiolist->addOptionsByArray(array(
      
=> 'Apple',
      
=> 'Orange',
      
=> 'Banana',
      
=> 'Pear',
      
=> 'Pineapple',
      
=> 'Kiwi',
      
=> 'Tangerine',
      
=> 'Grapefruit',
      
=> 'Strawberry'));

    
$message = new SwatMessage('Both disclosure types support '.
      
'progressive enhancement.');

    
$message->secondary_content 'Turn off JavaScript in your browser '.
      
'and reload the page for a demonstration.';

    
$ui->getWidget('note')->add($messageSwatMessageDisplay::DISMISS_OFF);
  }

  
// }}}
}

?>