protected function WebformDialogFormTrait::buildDialogDeleteAction in Webform 6.x
Same name and namespace in other branches
- 8.5 src/Form/WebformDialogFormTrait.php \Drupal\webform\Form\WebformDialogFormTrait::buildDialogDeleteAction()
Build webform dialog delete link.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
\Drupal\Core\Url $url: The delete URL.
3 calls to WebformDialogFormTrait::buildDialogDeleteAction()
- WebformHandlerEditForm::buildForm in src/
Form/ WebformHandlerEditForm.php - Form constructor.
- WebformUiElementEditForm::buildForm in modules/
webform_ui/ src/ Form/ WebformUiElementEditForm.php - Form constructor.
- WebformVariantEditForm::buildForm in src/
Form/ WebformVariantEditForm.php - Form constructor.
File
- src/
Form/ WebformDialogFormTrait.php, line 85
Class
- WebformDialogFormTrait
- Trait for webform dialog support.
Namespace
Drupal\webform\FormCode
protected function buildDialogDeleteAction(array &$form, FormStateInterface $form_state, Url $url) {
// WORKAROUND:
// Create a hidden link that is clicked using jQuery.
if ($this
->isDialog()) {
$form['delete'] = [
'#type' => 'link',
'#title' => $this
->t('Delete'),
'#url' => $url,
'#attributes' => [
'style' => 'display:none',
] + WebformDialogHelper::getModalDialogAttributes(WebformDialogHelper::DIALOG_NARROW, [
'webform-dialog-delete-link',
]),
];
$form['actions']['delete'] = [
'#type' => 'submit',
'#value' => $this
->t('Delete'),
'#attributes' => [
'class' => [
'button',
'button--danger',
],
'onclick' => "jQuery('.webform-dialog-delete-link').click(); return false;",
],
];
}
else {
$form['actions']['delete'] = [
'#type' => 'link',
'#title' => $this
->t('Delete'),
'#url' => $url,
'#attributes' => WebformDialogHelper::getModalDialogAttributes(WebformDialogHelper::DIALOG_NARROW, [
'button',
'button--danger',
]),
];
}
WebformDialogHelper::attachLibraries($form);
}