PreviewToggleTrait.php

Same filename in other branches
  1. 9 core/modules/layout_builder/src/Form/PreviewToggleTrait.php
  2. 8.9.x core/modules/layout_builder/src/Form/PreviewToggleTrait.php
  3. 11.x core/modules/layout_builder/src/Form/PreviewToggleTrait.php

Namespace

Drupal\layout_builder\Form

File

core/modules/layout_builder/src/Form/PreviewToggleTrait.php

View source
<?php

namespace Drupal\layout_builder\Form;


/**
 * Provides a trait that provides a toggle for the content preview.
 */
trait PreviewToggleTrait {
    
    /**
     * Builds the content preview toggle input.
     *
     * @return array
     *   The render array for the content preview toggle.
     */
    protected function buildContentPreviewToggle() {
        return [
            '#type' => 'container',
            '#attributes' => [
                'class' => [
                    'js-show',
                ],
            ],
            'toggle_content_preview' => [
                '#title' => $this->t('Show content preview'),
                '#type' => 'checkbox',
                '#value' => TRUE,
                '#attributes' => [
                    // Set attribute used by local storage to get content preview status.
'data-content-preview-id' => "Drupal.layout_builder.content_preview.{$this->currentUser()->id()}",
                ],
                '#id' => 'layout-builder-content-preview',
            ],
        ];
    }
    
    /**
     * Gets the current user.
     *
     * @return \Drupal\Core\Session\AccountInterface
     *   The current user.
     */
    protected abstract function currentUser();

}

Traits

Title Deprecated Summary
PreviewToggleTrait Provides a trait that provides a toggle for the content preview.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.