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
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
TYPE_INPUT
public
mixed
TYPE_INPUT
= 'input'
TYPE_SELECT
public
mixed
TYPE_SELECT
= 'select'
Properties
$associatedName
Name of the associated select
protected
string
$associatedName
$associatedTitle
Title of the associated select
protected
string
$associatedTitle
$associatedValues
Values of the associated select
protected
array<string|int, mixed>
$associatedValues
$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
$form
Name of the associated form
protected
string
$form
$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
$nestingCount
Counts the nesting level of __call()
protected
static int
$nestingCount
= 0
$notAssociatedName
Name of the not associated select
protected
string
$notAssociatedName
$notAssociatedTitle
Title of the not associated select
protected
string
$notAssociatedTitle
$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
$stringRepresentationFields
List of fields that should be available in the string representation
protected
array<string|int, mixed>
$stringRepresentationFields
= array()
List of field names
Tags
$stringRepresentationFormat
Sprintf format for the string representation
protected
string
$stringRepresentationFormat
= ''
Sprintf format string
Tags
$type
protected
mixed
$type
$validator
protected
mixed
$validator
$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.
$wrapperName
Name of the wrapper to identify the MultiSelectElement
protected
string
$wrapperName
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
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
addChild()
public
addChild(HtmlElement $element[, HtmlElement $reference = null ][, mixed $before = false ]) : mixed
Parameters
- $element : HtmlElement
- $reference : HtmlElement = null
- $before : mixed = false
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
getAttributes()
public
getAttributes() : mixed
getChildren()
public
getChildren() : mixed
getClasses()
public
getClasses([mixed &$classes = array() ]) : mixed
Parameters
- $classes : mixed = array()
getComponentController()
Returns the component controller for this component
public
getComponentController() : SystemComponent
Return values
SystemComponentgetData()
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
getIdentifier()
public
getIdentifier() : mixed
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
getName()
public
getName() : mixed
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
getValidator()
public
getValidator() : mixed
hasClass()
public
hasClass(mixed $className) : mixed
Parameters
- $className : mixed
initChosen()
public
initChosen() : 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
initMultiSelect()
public
initMultiSelect() : mixed
isValid()
public
isValid() : mixed
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
render()
Load the JavaScript and CSS file for MultiSelectElement. JavaScript variables are set, which are necessary for JavaScript to work correctly.
public
render() : mixed
Tags
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
validate()
public
validate() : mixed
Tags
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
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
DataElementgetStringRepresentationBlank()
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