Documentation

MultiSelectElement extends DataElement
in package

With the MultiSelectElement element you get two multiple-select elements. This makes it easier to select entries and post multiple ones.

Tags
copyright

Cloudrexx AG

author

Sam Hawkes sam.hawkes@comvation.com

subpackage

core_html

since
5.0.3

Table of Contents

Constants

TYPE_INPUT  = 'input'
TYPE_SELECT  = 'select'

Properties

$associatedName  : string
Name of the associated select
$associatedTitle  : string
Title of the associated select
$associatedValues  : array<string|int, mixed>
Values of the associated select
$contentModelVoidTags  : array<string|int, mixed>
$delimiter  : string
Delimiter with which parents and child elements are separated
$enableChosen  : bool
Activate the "chosen" element. If the number of possible and selected values is less than or equal to a defined value (this can be changed in the Global Configuration), the "chosen" element is displayed, otherwise both selects are displayed.
$form  : string
Name of the associated form
$localeCodes  : array<string|int, mixed>
List of locale codes ordered by translation fallback order per Cx instance
$nestingCount  : int
Counts the nesting level of __call()
$notAssociatedName  : string
Name of the not associated select
$notAssociatedTitle  : string
Title of the not associated select
$notAssociatedValues  : array<string|int, mixed>
Values of the not associated select
$scopes  : array<string|int, mixed>
The scope of all registered MultiSelectElements
$stringRepresentationBlank  : bool
Whether blank string representations are valid
$stringRepresentationFields  : array<string|int, mixed>
List of fields that should be available in the string representation
$stringRepresentationFormat  : string
Sprintf format for the string representation
$type  : mixed
$validator  : mixed
$validators  : array<string|int, mixed>
Initialize this array as follows: array( 'columName' => Zend_Validate )
$virtual  : bool
Defines if an entity is virtual and therefore not persistable.
$wrapperName  : string
Name of the wrapper to identify the MultiSelectElement

Methods

__call()  : mixed
Route methods like getName(), getType(), getDirectory(), etc.
__construct()  : mixed
MultiSelectElement constructor
__get()  : mixed
This is an ugly solution to allow $this->cx to be available in all entity classes Since the entity's constructor is not called when an entity is loaded from DB this cannot be assigned there.
__toString()  : string
Returns this entity's identifying value
addChild()  : mixed
addChildren()  : mixed
addClass()  : mixed
addScope()  : mixed
Add a new scope to the registered scopes
allowDirectClose()  : mixed
getAttribute()  : mixed
getAttributes()  : mixed
getChildren()  : mixed
getClasses()  : mixed
getComponentController()  : SystemComponent
Returns the component controller for this component
getData()  : array<string|int, mixed>
Get the data of the MultiSelectElement in the following scheme:
getIdentifier()  : mixed
getKeyAsString()  : string
Returns this entity's key
getName()  : mixed
getScopes()  : array<string|int, mixed>
Get all registered MultiSelectElement scopes
getTranslatedFieldValue()  : mixed
Returns the value of a translatable field using fallback mechanisms
getValidator()  : mixed
hasClass()  : mixed
initChosen()  : mixed
initializeValidators()  : mixed
Set $this->validators
initMultiSelect()  : mixed
isValid()  : mixed
isVirtual()  : bool
Returns the virtuality of the entity
removeClass()  : mixed
render()  : mixed
Load the JavaScript and CSS file for MultiSelectElement. JavaScript variables are set, which are necessary for JavaScript to work correctly.
setAttribute()  : mixed
Sets an attribute
setAttributes()  : mixed
Sets a list of attributes
setClass()  : mixed
setData()  : mixed
Set data for the MultiSelectElement.
setDelimiter()  : mixed
Set delimiter with which parents and child elements are separated
setValidator()  : mixed
setVirtual()  : mixed
Set the virtuality of the entity
unsetAttribute()  : mixed
Unsets an attribute
validate()  : mixed
findSelectElements()  : array<string|int, mixed>
Find the associated and not associated select element
getControlElement()  : HtmlElement
Get an element, which consists of the element tag and a text.
getFallbackLocaleCodes()  : array<string|int, mixed>
Returns a list of all locale codes ordered by fallback order
getSelect()  : DataElement
Get a select element that has additional attributes
getStringRepresentationBlank()  : bool
Whether blank string representations are valid
getStringRepresentationFields()  : array<string|int, mixed>
Returns a list of fields available in the string representation
getStringRepresentationFormat()  : string
Returns the sprintf() format for the string representation
setName()  : mixed

Constants

Properties

$contentModelVoidTags

protected static array<string|int, mixed> $contentModelVoidTags = array('area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr')

List of element names without content https://www.w3.org/TR/html5/syntax.html#void-elements

$delimiter

Delimiter with which parents and child elements are separated

protected string $delimiter = '\\'

$enableChosen

Activate the "chosen" element. If the number of possible and selected values is less than or equal to a defined value (this can be changed in the Global Configuration), the "chosen" element is displayed, otherwise both selects are displayed.

protected bool $enableChosen = true

$localeCodes

List of locale codes ordered by translation fallback order per Cx instance

protected static array<string|int, mixed> $localeCodes = array()

Array in the form: array(<instanceId> => array(<localeCode>, ...))

Tags
see
getFallbackLocaleCodes()

$nestingCount

Counts the nesting level of __call()

protected static int $nestingCount = 0

$notAssociatedValues

Values of the not associated select

protected array<string|int, mixed> $notAssociatedValues

$scopes

The scope of all registered MultiSelectElements

protected static array<string|int, mixed> $scopes = array()

$stringRepresentationBlank

Whether blank string representations are valid

protected bool $stringRepresentationBlank = false

Whether blank string representations are valid

Tags
see
getStringRepresentationBlank()

$stringRepresentationFields

List of fields that should be available in the string representation

protected array<string|int, mixed> $stringRepresentationFields = array()

List of field names

Tags
see
getStringRepresentationFields()

$stringRepresentationFormat

Sprintf format for the string representation

protected string $stringRepresentationFormat = ''

Sprintf format string

Tags
see
getStringRepresentationFormat()

$validators

Initialize this array as follows: array( 'columName' => Zend_Validate )

protected array<string|int, mixed> $validators = array()

$virtual

Defines if an entity is virtual and therefore not persistable.

protected bool $virtual = false

Defaults to FALSE - not virtual.

Methods

__call()

Route methods like getName(), getType(), getDirectory(), etc.

public __call(string $methodName, array<string|int, mixed> $arguments) : mixed
Parameters
$methodName : string

Name of method to call

$arguments : array<string|int, mixed>

List of arguments for the method to call

Tags
throws
Exception

If __call() nesting level reaches 20

Attributes
#[ReturnTypeWillChange]
Return values
mixed

Return value of the method to call

__construct()

MultiSelectElement constructor

public __construct(string $wrapperName, string $associatedName, string $associatedTitle, string $notAssociatedName, string $notAssociatedTitle, array<string|int, mixed> $options, array<string|int, mixed> $selectedOptions, string $form[, mixed $enableChosen = true ][, Validator $validator = null ]) : mixed

The notAssociatedValues do not necessarily have to contain only the not assigned values. All possible entries can also be passed. The arrays notAssociatedValues and associatedValues are compared and values with the same key are removed from the array notAssociatedValues.

Parameters
$wrapperName : string

name of the wrapper to identify the MultiSelectElement

$associatedName : string

name for the associated select

$associatedTitle : string

to describe the select element

$notAssociatedName : string

name for the not associated select

$notAssociatedTitle : string

to describe the select element

$options : array<string|int, mixed>

all available options (associated and not-associated values together)

$selectedOptions : array<string|int, mixed>

the keys of the selected options

$form : string

name of the associated form

$enableChosen : mixed = true
$validator : Validator = null

to validate

__get()

This is an ugly solution to allow $this->cx to be available in all entity classes Since the entity's constructor is not called when an entity is loaded from DB this cannot be assigned there.

public __get(mixed $name) : mixed
Parameters
$name : mixed
Attributes
#[ReturnTypeWillChange]

__toString()

Returns this entity's identifying value

public __toString() : string

By default this returns the same as getKeyAsString(), but this method might get overridden by subclasses.

Return values
string

Identifying value for this entity

addChildren()

public addChildren(array<string|int, mixed> $elements[, HtmlElement $reference = null ][, mixed $before = false ]) : mixed
Parameters
$elements : array<string|int, mixed>
$reference : HtmlElement = null
$before : mixed = false

addClass()

public addClass(mixed $className) : mixed
Parameters
$className : mixed

addScope()

Add a new scope to the registered scopes

public static addScope(mixed $scope) : mixed
Parameters
$scope : mixed

allowDirectClose()

public allowDirectClose([mixed $allow = null ]) : mixed
Parameters
$allow : mixed = null

getAttribute()

public getAttribute(mixed $name) : mixed
Parameters
$name : mixed

getClasses()

public getClasses([mixed &$classes = array() ]) : mixed
Parameters
$classes : mixed = array()

getData()

Get the data of the MultiSelectElement in the following scheme:

public getData() : array<string|int, mixed>

array( 'selectedOptions' - the keys of the selected options, 'options' - all available options (associated and not-associated values together) )

Return values
array<string|int, mixed>

includes the data from the MultiSelect

getKeyAsString()

Returns this entity's key

public final getKeyAsString([string $separator = '/' ]) : string

If this entity has a composite key, the fields are separated by $separator.

Parameters
$separator : string = '/'

(optional) Separator for composite key fields, default "/"

Return values
string

Entity key as string

getScopes()

Get all registered MultiSelectElement scopes

public static getScopes() : array<string|int, mixed>
Return values
array<string|int, mixed>

registered scopes

getTranslatedFieldValue()

Returns the value of a translatable field using fallback mechanisms

public getTranslatedFieldValue(string $fieldName) : mixed

If the field is not translatable its value is returned anyway. Tries to return the value in the following locales (if non-empty):

  • Current locale
  • Default locale
  • All other locales
Parameters
$fieldName : string

Name of a translatable field

hasClass()

public hasClass(mixed $className) : mixed
Parameters
$className : mixed

initializeValidators()

Set $this->validators

public initializeValidators() : mixed

Validators can be found in lib/FRAMEWORK/Validator.class.php These will be executed if validate() is called

isVirtual()

Returns the virtuality of the entity

public isVirtual() : bool
Return values
bool

TRUE if the entity is virtual, otherwise FALSE

removeClass()

public removeClass(mixed $className) : mixed
Parameters
$className : mixed

setAttribute()

Sets an attribute

public setAttribute(string $name[, string $value = null ]) : mixed

If value is not specified, value will be the same as $name (for cases like checked="checked"). If you want to unset an attribute, use unsetAttribute() or setAttributes(..., true)

Parameters
$name : string

Name of the attribute

$value : string = null

(optional) Value of the attribute

setAttributes()

Sets a list of attributes

public setAttributes(array<string|int, mixed> $attributes[, bool $removeOthers = false ]) : mixed

Provide an array with attribute name as key and attribute value as value (see setAttribute() for possibilities).

Parameters
$attributes : array<string|int, mixed>

List of attributes to set

$removeOthers : bool = false

Wheter to remove all not specified attributes or not

setClass()

public setClass(mixed $string) : mixed
Parameters
$string : mixed

setData()

Set data for the MultiSelectElement.

public setData(array<string|int, mixed> $data) : mixed

Submit the data as follows to replace the data of the MultiSelectElement: array( 'selectedOptions' - the keys of the selected options, 'options' - all available options (associated and not-associated values together) )

Parameters
$data : array<string|int, mixed>

new data as an array

setDelimiter()

Set delimiter with which parents and child elements are separated

public setDelimiter(string $delimiter) : mixed
Parameters
$delimiter : string

defined delimiter

setValidator()

public setValidator(mixed $validator) : mixed
Parameters
$validator : mixed

setVirtual()

Set the virtuality of the entity

public setVirtual(bool $virtual) : mixed
Parameters
$virtual : bool

TRUE to set the entity as virtual or otherwise to FALSE

unsetAttribute()

Unsets an attribute

public unsetAttribute(string $name) : mixed
Parameters
$name : string

Name of the attribute

findSelectElements()

Find the associated and not associated select element

protected findSelectElements() : array<string|int, mixed>
Return values
array<string|int, mixed>

associated and not associated select element

getControlElement()

Get an element, which consists of the element tag and a text.

protected getControlElement(string $tag, string $name, string $text) : HtmlElement

The defined text is also set as the title.

Used to get the control elements for MultiSelectElement

Parameters
$tag : string

the tag name of the element (e.g. button)

$name : string

to set the class name for the element

$text : string

text and title of the element

Return values
HtmlElement

element to control actions

getFallbackLocaleCodes()

Returns a list of all locale codes ordered by fallback order

protected getFallbackLocaleCodes() : array<string|int, mixed>
  • First entry is the current locale
  • Second entry is the default locale (if different from current, it's omitted otherwise)
  • Then all other locales follow (in no particular order)
Tags
todo

Order the array by the fallback order (same as in ContentManager)

Return values
array<string|int, mixed>

List of locale codes

getSelect()

Get a select element that has additional attributes

protected getSelect(string $name, array<string|int, mixed> $values[, array<string|int, mixed> $selectedValues = array() ]) : DataElement
Parameters
$name : string

name of the select element

$values : array<string|int, mixed>

values for select

$selectedValues : array<string|int, mixed> = array()

the selected values

Return values
DataElement

getStringRepresentationBlank()

Whether blank string representations are valid

protected getStringRepresentationBlank() : bool
Return values
bool

Whether blank string representations are valid

getStringRepresentationFields()

Returns a list of fields available in the string representation

protected getStringRepresentationFields() : array<string|int, mixed>
Return values
array<string|int, mixed>

List of field names

getStringRepresentationFormat()

Returns the sprintf() format for the string representation

protected getStringRepresentationFormat() : string
Return values
string

sprintf() format string

setName()

protected setName(mixed $elementName) : mixed
Parameters
$elementName : mixed

        
On this page

Search results