CWIS Developer Documentation
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
HtmlOptionList Class Reference

Convenience class for generating an HTML select/option form element. More...

Public Member Functions

 __construct ($ResultVar, $Options, $SelectedValue=NULL)
 Class constructor. More...
 
 PrintHtml ()
 Print HTML for list. More...
 
 GetHtml ()
 Get HTML for list. More...
 
 DisabledOptions ($Options=NULL)
 Get/set disabled options. More...
 
 SelectedValue ($NewValue=NULL)
 Get/set currently selected value or array of currently selected values. More...
 
 Size ($NewValue=NULL)
 Get/set the list size (number of visible items). More...
 
 MultipleAllowed ($NewValue=NULL)
 Get/set whether multiple items may be selected. More...
 
 SubmitOnChange ($NewValue=NULL)
 Get/set whether to submit the form when the list value is changed. More...
 
 OnChangeAction ($NewValue=NULL)
 Get/set action to take if form is submitted on change. More...
 
 PrintIfEmpty ($NewValue=NULL)
 Get/set whether list should be output even if there are no items. More...
 
 Disabled ($NewValue=NULL)
 Get/set whether the whole option list is editable. More...
 
 ClassForList ($NewValue=NULL)
 Get/set CSS class(es) for the list. More...
 
 ClassForOptions ($NewValue=NULL)
 Get/set CSS class(es) for the options. More...
 
 DataForOptions ($NewValue=NULL)
 Get/set HTML data attributes for the options. More...
 
 MaxLabelLength ($NewValue=NULL)
 Get/set the maximum number of character a label will be displayed. More...
 
 AddAttribute ($Name, $Value)
 Add an attribute for the <select> tag for the list. More...
 

Protected Member Functions

 GetOptionTag ($Value, $Label)
 Get HTML for one option. More...
 
 GetSelectOpenTag ()
 Get HTML for tag to begin list. More...
 

Protected Attributes

 $AdditionalAttributes = array()
 
 $Disabled = FALSE
 
 $DisabledOptions = array()
 
 $ListClasses = NULL
 
 $MaxLabelLength = 0
 
 $MultipleAllowed = FALSE
 
 $OnChangeAction = "submit()"
 
 $Options
 
 $OptionClasses = NULL
 
 $OptionData = array()
 
 $PrintIfEmpty = TRUE
 
 $ResultVar
 
 $SelectedValue
 
 $Size = 1
 
 $SubmitOnChange = FALSE
 

Detailed Description

Convenience class for generating an HTML select/option form element.

Definition at line 13 of file HtmlOptionList.php.

Constructor & Destructor Documentation

HtmlOptionList::__construct (   $ResultVar,
  $Options,
  $SelectedValue = NULL 
)

Class constructor.

Parameters
string$ResultVarName of form variable for select element.
array$OptionsArray of options, with form values for the array index and labels for the array values. For grouping, any of the options may actually be an array of options, with a group label for the index, and the array for the value.
mixed$SelectedValueCurrently selected form value or array of currently selected form values. (OPTIONAL)

Definition at line 28 of file HtmlOptionList.php.

References $Options, $ResultVar, $SelectedValue, and SelectedValue().

Member Function Documentation

HtmlOptionList::AddAttribute (   $Name,
  $Value 
)

Add an attribute for the <select> tag for the list.

If this is called multiple times for the same attribute name, only the value from the last call will be used.

Parameters
string$NameAttribute name.
string$ValueAttribute value (should not be escaped).

Definition at line 318 of file HtmlOptionList.php.

HtmlOptionList::ClassForList (   $NewValue = NULL)

Get/set CSS class(es) for the list.

Parameters
string$NewValueString with class names, separated by spaces.
Returns
string Current classes, or NULL if no classes have been set.

Definition at line 248 of file HtmlOptionList.php.

References $ListClasses.

HtmlOptionList::ClassForOptions (   $NewValue = NULL)

Get/set CSS class(es) for the options.

If separate classes per option are supplied as an array, they do not have to be in the same order as the options originally supplied to the constructor, and not all options must be included.

Parameters
mixed$NewValueString with class names, separated by spaces, or array of class name strings, indexed by option value.
Returns
mixed String with class names, separated by spaces, or array of class name strings, indexed by option value, or NULL if no option classes have been set.

Definition at line 268 of file HtmlOptionList.php.

References $OptionClasses.

HtmlOptionList::DataForOptions (   $NewValue = NULL)

Get/set HTML data attributes for the options.

Parameters
array$NewValueTwo-dimensional array of data attribute values, first dimension keyed by option value, second keyed by data attribute name (e.g., 'field-id' for a 'data-field-id' attribute).
Returns
Array of current data attributes (empty if none currently set).

Definition at line 285 of file HtmlOptionList.php.

References $OptionData.

HtmlOptionList::Disabled (   $NewValue = NULL)

Get/set whether the whole option list is editable.

NOTE: When the list is not editable, values for it are not submitted with the form. This is distinct from whether individual options are disabled.

Parameters
bool$NewValueIf TRUE, list is not editable.
Returns
bool TRUE if list will not be editabled, otherwise FALSE.

Definition at line 234 of file HtmlOptionList.php.

References $Disabled.

Referenced by GetSelectOpenTag().

Here is the caller graph for this function:

HtmlOptionList::DisabledOptions (   $Options = NULL)

Get/set disabled options.

Parameters
mixed$OptionsOption or array of options to disable. If a single option then it should be the value and will be added to any existing disabled options, and if an array it should have the values for the index and will replace the current list of disabled options. (OPTIONAL)

Definition at line 100 of file HtmlOptionList.php.

References $DisabledOptions, and $Options.

Referenced by GetOptionTag().

Here is the caller graph for this function:

HtmlOptionList::GetHtml ( )

Get HTML for list.

Returns
string Generated HTML.

Definition at line 47 of file HtmlOptionList.php.

References GetOptionTag(), GetSelectOpenTag(), and PrintIfEmpty().

Referenced by PrintHtml().

Here is the caller graph for this function:

HtmlOptionList::GetOptionTag (   $Value,
  $Label 
)
protected

Get HTML for one option.

Parameters
string$ValueValue for option.
string$LabelLabel for option.

Definition at line 347 of file HtmlOptionList.php.

References DisabledOptions(), MaxLabelLength(), and SelectedValue().

Referenced by GetHtml().

Here is the caller graph for this function:

HtmlOptionList::GetSelectOpenTag ( )
protected

Get HTML for tag to begin list.

Returns
string HTML for select open tag.

Definition at line 410 of file HtmlOptionList.php.

References Disabled(), MultipleAllowed(), OnChangeAction(), Size(), and SubmitOnChange().

Referenced by GetHtml().

Here is the caller graph for this function:

HtmlOptionList::MaxLabelLength (   $NewValue = NULL)

Get/set the maximum number of character a label will be displayed.

If a label exceeds the limit, the extra characters will be taken off.

Parameters
int$NewValueMaximum number of characters a label will be displayed (OPTIONAL, defaults to no limit). If zero is passed in, limit will be reset to none.
Returns
Current maximum label length, or zero if there is no limit.

Definition at line 302 of file HtmlOptionList.php.

References $MaxLabelLength.

Referenced by GetOptionTag().

Here is the caller graph for this function:

HtmlOptionList::MultipleAllowed (   $NewValue = NULL)

Get/set whether multiple items may be selected.

Defaults to FALSE.

Parameters
bool$NewValueIf TRUE, users will be able to select multiple items. (OPTIONAL)
Returns
bool TRUE if users can select multiple items, otherwise FALSE.

Definition at line 151 of file HtmlOptionList.php.

References $MultipleAllowed.

Referenced by GetSelectOpenTag().

Here is the caller graph for this function:

HtmlOptionList::OnChangeAction (   $NewValue = NULL)

Get/set action to take if form is submitted on change.

Defaults to "submit()" (without the quotes). No character escaping or other processing is done to this value before it is added to the HTML, so whatever is passed in must be pre-sanitized if needed, including escaping any double quotation marks. This setting has no effect if SubmitOnChange() is set to FALSE.

Parameters
string$NewValueNew action. (OPTIONAL)
Returns
string Current action.
See also
HtmlOptionList::SubmitOnChange()

Definition at line 200 of file HtmlOptionList.php.

References $OnChangeAction.

Referenced by GetSelectOpenTag().

Here is the caller graph for this function:

HtmlOptionList::PrintHtml ( )

Print HTML for list.

Definition at line 38 of file HtmlOptionList.php.

References GetHtml().

HtmlOptionList::PrintIfEmpty (   $NewValue = NULL)

Get/set whether list should be output even if there are no items.

If this is set to FALSE and there are no items in the list, GetHtml() will return an empty string and PrintHtml() will print nothing. Defaults to TRUE.

Parameters
bool$NewValueIf TRUE, HTML will be returned/printed even if there are no items in the list. (OPTIONAL)
Returns
bool TRUE if empty list will be printed, otherwise FALSE.

Definition at line 218 of file HtmlOptionList.php.

References $PrintIfEmpty.

Referenced by GetHtml().

Here is the caller graph for this function:

HtmlOptionList::SelectedValue (   $NewValue = NULL)

Get/set currently selected value or array of currently selected values.

Parameters
mixed$NewValueCurrently selected form value or array of currently selected form values. (OPTIONAL)
Returns
mixed Selected value or array of currently selected values.

Definition at line 122 of file HtmlOptionList.php.

References $SelectedValue.

Referenced by __construct(), and GetOptionTag().

Here is the caller graph for this function:

HtmlOptionList::Size (   $NewValue = NULL)

Get/set the list size (number of visible items).

Defaults to 1.

Parameters
int$NewValueCurrent size. (OPTIONAL)
Returns
int Current size.

Definition at line 136 of file HtmlOptionList.php.

References $Size.

Referenced by GetSelectOpenTag().

Here is the caller graph for this function:

HtmlOptionList::SubmitOnChange (   $NewValue = NULL)

Get/set whether to submit the form when the list value is changed.

Defaults to FALSE.

Parameters
bool$NewValueIf TRUE, form will be submitted on change. (OPTIONAL)
Returns
bool TRUE if form will be submitted, otherwise FALSE.
See also
HtmlOptionList::OnChangeAction()

Definition at line 180 of file HtmlOptionList.php.

References $SubmitOnChange.

Referenced by GetSelectOpenTag().

Here is the caller graph for this function:

Member Data Documentation

HtmlOptionList::$AdditionalAttributes = array()
protected

Definition at line 326 of file HtmlOptionList.php.

HtmlOptionList::$Disabled = FALSE
protected

Definition at line 327 of file HtmlOptionList.php.

Referenced by Disabled().

HtmlOptionList::$DisabledOptions = array()
protected

Definition at line 328 of file HtmlOptionList.php.

Referenced by DisabledOptions().

HtmlOptionList::$ListClasses = NULL
protected

Definition at line 329 of file HtmlOptionList.php.

Referenced by ClassForList().

HtmlOptionList::$MaxLabelLength = 0
protected

Definition at line 330 of file HtmlOptionList.php.

Referenced by MaxLabelLength().

HtmlOptionList::$MultipleAllowed = FALSE
protected

Definition at line 331 of file HtmlOptionList.php.

Referenced by MultipleAllowed().

HtmlOptionList::$OnChangeAction = "submit()"
protected

Definition at line 332 of file HtmlOptionList.php.

Referenced by OnChangeAction().

HtmlOptionList::$OptionClasses = NULL
protected

Definition at line 334 of file HtmlOptionList.php.

Referenced by ClassForOptions().

HtmlOptionList::$OptionData = array()
protected

Definition at line 335 of file HtmlOptionList.php.

Referenced by DataForOptions().

HtmlOptionList::$Options
protected

Definition at line 333 of file HtmlOptionList.php.

Referenced by __construct(), and DisabledOptions().

HtmlOptionList::$PrintIfEmpty = TRUE
protected

Definition at line 336 of file HtmlOptionList.php.

Referenced by PrintIfEmpty().

HtmlOptionList::$ResultVar
protected

Definition at line 337 of file HtmlOptionList.php.

Referenced by __construct().

HtmlOptionList::$SelectedValue
protected

Definition at line 338 of file HtmlOptionList.php.

Referenced by __construct(), and SelectedValue().

HtmlOptionList::$Size = 1
protected

Definition at line 339 of file HtmlOptionList.php.

Referenced by Size().

HtmlOptionList::$SubmitOnChange = FALSE
protected

Definition at line 340 of file HtmlOptionList.php.

Referenced by SubmitOnChange().


The documentation for this class was generated from the following file: