You are here

abstract class ViewBlockBase in Content Planner 8

Class ViewBlockBase.

@package Drupal\content_planner\Plugin\DashboardBlock

Hierarchy

Expanded class hierarchy of ViewBlockBase

File

src/Plugin/DashboardBlock/ViewBlockBase.php, line 15

Namespace

Drupal\content_planner\Plugin\DashboardBlock
View source
abstract class ViewBlockBase extends DashboardBlockBase {

  /**
   * ID for the block.
   *
   * @var string
   */
  protected $blockID = 'ID-HERE';

  /*
   * Builds the content for the views block.
   *
   * @return array|null
   *   The render for the views block.
   */
  public function build() {
    $content = [];
    $config = $this
      ->getConfiguration();

    // Get view from config.
    $view_config = $this
      ->getCustomConfigByKey($config, $this->blockID);

    // Syntax is view_id.display_id.
    $view_array = explode('.', $view_config);
    if ($view_array && is_array($view_array) && isset($view_array[0]) && isset($view_array[1])) {
      $view_id = $view_array[0];
      $view_display_id = $view_array[1];
      $view = Views::getView($view_id);
      if (is_object($view)) {
        $content = $view
          ->render($view_display_id);
      }
    }
    return $content;
  }

  /**
   * {@inheritdoc}
   */
  public function getConfigSpecificFormFields(FormStateInterface &$form_state, Request &$request, array $block_configuration) {
    $form = [];

    // View.
    $view_default_value = $this
      ->getCustomConfigByKey($block_configuration, $this->blockID);
    $view_options = [];
    $views = Views::getAllViews();
    foreach ($views as $view) {
      $displays = $view
        ->get('display');
      if (is_array($displays)) {
        foreach ($displays as $display) {
          $view_options[$view
            ->id() . '.' . $display['id']] = $view
            ->label() . ' (' . $display['display_title'] . ')';
        }
      }
    }
    $form[$this->blockID] = [
      '#type' => 'select',
      '#title' => t('View'),
      '#options' => $view_options,
      '#required' => TRUE,
      '#default_value' => $view_default_value,
    ];
    return $form;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ConfigFormBaseTrait::config protected function Retrieves a configuration object.
DashboardBlockBase::$entityTypeManager protected property The route match.
DashboardBlockBase::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create 2
DashboardBlockBase::getBasicConfigStructure public static function Get basic configuration structure for the block configuration.
DashboardBlockBase::getConfiguration public function Get Configuration passed in by Plugin Manager. Overrides DashboardBlockInterface::getConfiguration
DashboardBlockBase::getCustomConfigByKey protected function Get custom config.
DashboardBlockBase::getEditableConfigNames protected function Gets the configuration names that will be editable. Overrides ConfigFormBaseTrait::getEditableConfigNames
DashboardBlockBase::getName public function Return the name of the block. Overrides DashboardBlockInterface::getName
DashboardBlockBase::isConfigurable public function Determines if the plugin is configurable. Overrides PluginBase::isConfigurable
DashboardBlockBase::submitSettingsForm public function Submit form handler. Overrides DashboardBlockInterface::submitSettingsForm
DashboardBlockBase::validateForm public function Validates teh plugin config form. Overrides DashboardBlockInterface::validateForm
DashboardBlockBase::__construct public function Constructs a new UserLoginBlock instance. Overrides PluginBase::__construct 2
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginDefinition public function Gets the definition of the plugin implementation. Overrides PluginInspectionInterface::getPluginDefinition 3
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
ViewBlockBase::$blockID protected property ID for the block. 10
ViewBlockBase::build public function Build the block and return a renderable array. Overrides DashboardBlockBase::build
ViewBlockBase::getConfigSpecificFormFields public function Add additonal form elements specific to the Plugin. Overrides DashboardBlockBase::getConfigSpecificFormFields