Stud.IP  6.1
ActionMenu Class Reference
Inheritance diagram for ActionMenu:
AvatarMenu

Public Member Functions

 condition ($state)
 
 conditionAll ($state)
 
 addLink ($url, $label="", ?Icon $icon=null, array $attributes=[], $index=null, $before=null)
 
 removeLink ($index)
 
 addButton ($name, $label, ?Icon $icon=null, array $attributes=[])
 
 addCheckbox ($name, $label, bool $checked, array $attributes=[])
 
 addRadioButton ($name, $label, bool $checked, array $attributes=[])
 
 addMultiPersonSearch (MultiPersonSearch $mp)
 
 addSeparator ()
 
 addCSSClass ($class)
 
 addAttribute ($key, $value, $append=false)
 
 __toString ()
 
 setContext (string $context)
 
 setRenderingMode (?string $mode)
 
 getRenderingMode ()
 
 setTitle (string $title)
 
 generateTitle ()
 
 setAriaLabel ($label)
 

Static Public Member Functions

static get ()
 

Data Fields

const RENDERING_MODE_ICONS = 'icons'
 
const RENDERING_MODE_MENU = 'menu'
 

Protected Member Functions

 checkCondition ()
 
 countActions ()
 
 getKeyForIndex ($index)
 

Protected Attributes

array $actions = []
 
array $attributes = []
 
string $title
 
string $aria_label
 
string $image = '<span></span><span></span><span></span>'
 
array $image_attributes = []
 
bool $condition_all = null
 
bool $condition = true
 
string $context = ''
 
string $rendering_mode = null
 

Detailed Description

This class represents the action menu used to group actions.

Author
Jan-Hendrik Willms tleil.nosp@m.ax+s.nosp@m.tudip.nosp@m.@gma.nosp@m.il.co.nosp@m.m GPL2 or any later version
Since
Stud.IP 3.5

Member Function Documentation

◆ __toString()

__toString ( )

Magic method to render the menu as a string.

Returns
String containing the html representation of the action menu
See also
ActionMenu::render()

◆ addAttribute()

addAttribute (   $key,
  $value,
  $append = false 
)

Adds an attribute to the root element in html.

Parameters
string$keyName of the attribute
string$valueValue of the attribute
boolean$appendWhether a current value should be append or not.

◆ addButton()

addButton (   $name,
  $label,
?Icon  $icon = null,
array  $attributes = [] 
)

Adds a button to the list of actions.

Parameters
String$nameButton name
String$labelTextual representation of the name
mixed$iconOptional icon (as Icon object)
array$attributesOptional attributes to add to the tag
Returns
static instance to allow chaining

◆ addCheckbox()

addCheckbox (   $name,
  $label,
bool  $checked,
array  $attributes = [] 
)

Adds a checkbox to the list of actions.

Parameters
String$nameInput name
String$labelLabel displayed in the menu
bool$checkedChecked state of the action
array$attributesOptional attributes to add to the button
Returns
static instance to allow chaining

◆ addCSSClass()

addCSSClass (   $class)

Adds a css classs to the root element in html.

Parameters
string$className of the css class
Returns
static instance to allow chaining

◆ addLink()

addLink (   $url,
  $label = "",
?Icon  $icon = null,
array  $attributes = [],
  $index = null,
  $before = null 
)

Adds a link to the list of actions.

Parameters
String | StudipLink$urlLink target, eithe as string or Stud.IP link. In the latter case, all other parameters are ignored.
String | array$labelTextual representation of the link
mixed$iconOptional icon (as Icon object)
array$attributesOptional attributes to add to the tag
mixed$indexOptional index to access this link (remove for example) afterwards
mixed$beforeOptional index to insert this link before the link with given index.
Returns
static instance to allow chaining

◆ addMultiPersonSearch()

addMultiPersonSearch ( MultiPersonSearch  $mp)

Adds a MultiPersonSearch object to the list of actions.

Parameters
MultiPersonSearch$mpMultiPersonSearch object
Returns
static instance to allow chaining

◆ addRadioButton()

addRadioButton (   $name,
  $label,
bool  $checked,
array  $attributes = [] 
)

Adds a radio button to the list of actions.

Parameters
String$nameInput name
String$labelLabel displayed in the menu
bool$checkedChecked state of the action
array$attributesOptional attributes to add to the button
Returns
static instance to allow chaining

◆ addSeparator()

addSeparator ( )

Adds a separator line to the list of actions.

Returns
static instance to allow chaining

◆ checkCondition()

checkCondition ( )
protected

Checks the condition. Takes global and local (conditionAll() & condition()) conditions into account.

Returns
bool indicating whether the condition is met or not

◆ condition()

condition (   $state)

Set condition for the next added item. If condition is false, the item will not be added.

Parameters
bool$stateState of the condition
Returns
static instance to allow chaining

◆ conditionAll()

conditionAll (   $state)

Set condition for all the next added items. If condition is false, no items will be added.

Parameters
bool$stateState of the condition
Returns
static instance to allow chaining

◆ countActions()

countActions ( )
protected

Returns the number of action menu items (not counting separators).

Returns
int count

◆ generateTitle()

generateTitle ( )

Generates the title of the action menu, including its context, if the context has been set.

Returns
string The title of the action menu.

◆ get()

static get ( )
static

Returns an instance.

◆ getKeyForIndex()

getKeyForIndex (   $index)
protected

◆ getRenderingMode()

getRenderingMode ( )

Returns the rendering mode for this action menu. This is set by either calling setRenderingMode or automatically determined by the configured threshold.

Returns
string

◆ removeLink()

removeLink (   $index)

Tries to remove the link with the given index and returns true on success (else false)

Parameters
$index: the index of the link. If the link had no special index it's md5($url.json_encode($ttributes)).
Returns
bool : true if link was removed, false if index didn't exist

◆ setAriaLabel()

setAriaLabel (   $label)

Sets the label of the menu.

Parameters
string$labellabel for the menu

◆ setContext()

setContext ( string  $context)

Sets the context for the menu.

Parameters
string$contextThe context to be set.
Returns
static The action menu instance (to allow chaining).

◆ setRenderingMode()

setRenderingMode ( ?string  $mode)

Forces an explicit rendering mode.

Parameters
string | null$modeThe desired rendering mode or null for automatic detection
Returns
static The action menu instance to allow chaining
Exceptions
Exception

◆ setTitle()

setTitle ( string  $title)

Sets the title for the action menu.

Parameters
string$titledisplay title
Returns
static instance to allow chaining

Field Documentation

◆ $actions

array $actions = []
protected

◆ $aria_label

string $aria_label
protected

◆ $attributes

array $attributes = []
protected

◆ $condition

bool $condition = true
protected

◆ $condition_all

bool $condition_all = null
protected

◆ $context

string $context = ''
protected

◆ $image

string $image = '<span></span><span></span><span></span>'
protected

◆ $image_attributes

array $image_attributes = []
protected

◆ $rendering_mode

string $rendering_mode = null
protected

◆ $title

string $title
protected

◆ RENDERING_MODE_ICONS

const RENDERING_MODE_ICONS = 'icons'

◆ RENDERING_MODE_MENU

const RENDERING_MODE_MENU = 'menu'

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