trait AutosaveButtonClickedTrait in Autosave Form 8
Hierarchy
- trait \Drupal\autosave_form\Form\AutosaveButtonClickedTrait
File
- src/
Form/ AutosaveButtonClickedTrait.php, line 8
Namespace
Drupal\autosave_form\FormView source
trait AutosaveButtonClickedTrait {
/**
* Checks if the submission is triggered by autosave save.
*
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form.
*
* @return bool
* TRUE if the form submission is triggered by autosave, FALSE otherwise.
*/
protected function isAutosaveTriggered(FormStateInterface $form_state) {
$triggering_element = $form_state
->getTriggeringElement();
if (is_null($triggering_element)) {
$user_input = $form_state
->getUserInput();
$autosave = isset($user_input['_triggering_element_name']) && $user_input['_triggering_element_name'] == AutosaveFormInterface::AUTOSAVE_ELEMENT_NAME;
}
else {
$autosave = $triggering_element && !empty($triggering_element['#autosave_form']);
}
return $autosave;
}
/**
* Checks if autosave restore has been triggered.
*
* @param array $form
* The form array.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form.
*
* @return bool
* TRUE if autosave restore has been triggered, FALSE otherwise.
*/
protected function isRestoreTriggered($form, FormStateInterface $form_state) {
$input = $form_state
->getUserInput();
// The restore submit is a non-ajax element and therefore its name will be
// contained in the user input as a key.
$triggered = isset($input[AutosaveFormInterface::AUTOSAVE_RESTORE_ELEMENT_NAME]);
return $triggered;
}
/**
* Checks if autosave restore has been triggered.
*
* @param array $form
* The form array.
* @param \Drupal\Core\Form\FormStateInterface $form_state
* The current state of the form.
*
* @return bool
* TRUE if autosave restore has been triggered, FALSE otherwise.
*/
protected function isRejectTriggered($form, FormStateInterface $form_state) {
$user_input = $form_state
->getUserInput();
// The reject submit is an ajax element and therefore its name will not be
// contained in the user input as a key, but will be contained as a value
// under the key "_triggering_element_name".
$triggered = isset($user_input['_triggering_element_name']) && $user_input['_triggering_element_name'] == AutosaveFormInterface::AUTOSAVE_REJECT_ELEMENT_NAME;
return $triggered;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AutosaveButtonClickedTrait:: |
protected | function | Checks if the submission is triggered by autosave save. | |
AutosaveButtonClickedTrait:: |
protected | function | Checks if autosave restore has been triggered. | |
AutosaveButtonClickedTrait:: |
protected | function | Checks if autosave restore has been triggered. |