public function MediaForm::renderPreview in Lightning Media 8
Same name and namespace in other branches
- 8.4 src/Form/MediaForm.php \Drupal\lightning_media\Form\MediaForm::renderPreview()
- 8.2 src/Form/MediaForm.php \Drupal\lightning_media\Form\MediaForm::renderPreview()
- 8.3 src/Form/MediaForm.php \Drupal\lightning_media\Form\MediaForm::renderPreview()
Pre-render callback for the preview element.
You might wonder why this rinky-dink bit of logic cannot be done in ::form(). The reason is that, under some circumstances, the renderable preview element will contain unserializable dependencies (like such as the database connection), which will produce a 500 error when trying to cache the form for AJAX purposes.
By putting this logic in a pre-render callback, we ensure that the unserializable preview element will only exist during the rendering stage, and thus never be serialized for caching.
Parameters
array $element: The preview element.
Return value
array The renderable preview element.
File
- src/
Form/ MediaForm.php, line 79
Class
- MediaForm
- Adds dynamic preview support to the media entity form.
Namespace
Drupal\lightning_media\FormCode
public function renderPreview(array $element) {
$entity = $this
->getEntity();
return $element + Helper::getSourceField($entity)
->view('default');
}