public static function ParagraphsWidget::expandButton in Paragraphs 8
Expand button base array into a paragraph widget action button.
Parameters
array $button_base: Button base render array.
Return value
array Button render array.
5 calls to ParagraphsWidget::expandButton()
- ParagraphsWidget::buildButtonsAddMode in src/
Plugin/ Field/ FieldWidget/ ParagraphsWidget.php - Builds dropdown button for adding new paragraph.
- ParagraphsWidget::buildHeaderActions in src/
Plugin/ Field/ FieldWidget/ ParagraphsWidget.php - Builds header actions.
- ParagraphsWidget::formElement in src/
Plugin/ Field/ FieldWidget/ ParagraphsWidget.php - Uses a similar approach to populate a new translation.
- ParagraphsWidget::formMultipleElements in src/
Plugin/ Field/ FieldWidget/ ParagraphsWidget.php - Special handling to create form elements for multiple values.
- paragraphs_test_paragraphs_widget_actions_alter in tests/
modules/ paragraphs_test/ paragraphs_test.module - Implements hook_paragraphs_widget_actions_alter().
File
- src/
Plugin/ Field/ FieldWidget/ ParagraphsWidget.php, line 1495
Class
- ParagraphsWidget
- Plugin implementation of the 'entity_reference_revisions paragraphs' widget.
Namespace
Drupal\paragraphs\Plugin\Field\FieldWidgetCode
public static function expandButton(array $button_base) {
// Do not expand elements that do not have submit handler.
if (empty($button_base['#submit'])) {
return $button_base;
}
$button = $button_base + [
'#type' => 'submit',
'#theme_wrappers' => [
'input__submit__paragraph_action',
],
];
// Html::getId will give us '-' char in name but we want '_' for now so
// we use strtr to search&replace '-' to '_'.
$button['#name'] = strtr(Html::getId($button_base['#name']), '-', '_');
$button['#id'] = Html::getUniqueId($button['#name']);
if (isset($button['#ajax'])) {
$button['#ajax'] += [
'effect' => 'fade',
// Since a normal throbber is added inline, this has the potential to
// break a layout if the button is located in dropbuttons. Instead,
// it's safer to just show the fullscreen progress element instead.
'progress' => [
'type' => 'fullscreen',
],
];
}
return $button;
}