You are here

public function WorkspaceBlock::build in Workspace 8

Builds and returns the renderable array for this block plugin.

If a block should not be rendered because it has no content, then this method must also ensure to return no content: it must then only return an empty array, or an empty array with #cache set (with cacheability metadata indicating the circumstances for it being empty).

Return value

array A renderable array representing the content of the block.

Overrides BlockPluginInterface::build

See also

\Drupal\block\BlockViewBuilder

File

src/Plugin/Block/WorkspaceBlock.php, line 54

Class

WorkspaceBlock
Plugin annotation @Block( id = "workspace_switcher_block", admin_label = @Translation("Workspace switcher"), category = @Translation("Workspace"), )

Namespace

Drupal\workspace\Plugin\Block

Code

public function build() {
  $build = [
    // @todo the block depending on the toolbar is obscure; find a better way to generate this form
    '#pre_render' => [
      'workspace.toolbar:preRenderWorkspaceSwitcherForms',
    ],
    // This wil get filled in via pre-render.
    'workspace_forms' => [],
    '#attached' => [
      'library' => [
        'workspace/drupal.workspace.switcher',
      ],
    ],
    '#cache' => [
      'contexts' => $this->entityTypeManager
        ->getDefinition('workspace')
        ->getListCacheContexts(),
      'tags' => $this->entityTypeManager
        ->getDefinition('workspace')
        ->getListCacheTags(),
    ],
  ];
  return $build;
}