Provides a render element for a paragraphs actions.
Paragraphs actions can have two type of actions
Usage example:
$form['actions'] = [
'#type' => 'paragraphs_actions',
'actions' => $actions,
'dropdown_actions' => $dropdown_actions,
];
$dropdown_actions['button'] = array(
'#type' => 'submit',
);
@FormElement("paragraphs_actions");
Expanded class hierarchy of ParagraphsActions
class ParagraphsActions extends RenderElement {
/**
* {@inheritdoc}
*/
public function getInfo() {
$class = get_class($this);
return [
'#pre_render' => [
[
$class,
'preRenderParagraphsActions',
],
],
'#theme' => 'paragraphs_actions',
];
}
/**
* Pre render callback for #type 'paragraphs_actions'.
*
* @param array $element
* Element arrar of a #type 'paragraphs_actions'.
*
* @return array
* The processed element.
*/
public static function preRenderParagraphsActions(array $element) {
$element['#attached']['library'][] = 'paragraphs/drupal.paragraphs.actions';
if (!empty($element['dropdown_actions'])) {
foreach (Element::children($element['dropdown_actions']) as $key) {
$dropdown_action =& $element['dropdown_actions'][$key];
if (isset($dropdown_action['#ajax'])) {
$dropdown_action = RenderElement::preRenderAjaxForm($dropdown_action);
}
if (empty($dropdown_action['#attributes'])) {
$dropdown_action['#attributes'] = [
'class' => [
'paragraphs-dropdown-action',
],
];
}
else {
$dropdown_action['#attributes']['class'][] = 'paragraphs-dropdown-action';
}
}
}
return $element;
}
}
Name | Modifiers | Type | Description |
Overrides![]() |
---|---|---|---|---|
ParagraphsActions:: |
public | function | ||
ParagraphsActions:: |
public static | function | Pre render callback for #type 'paragraphs_actions'. |