in modules/quanthub_datasetexplorer/src/Controller/DatasetExplorer.php [88:120]
public function pivot(Request $request) {
$block_manager = $this->pluginManagerBlock;
// You can hard code configuration or you load from settings.
$config = [];
$plugin_block = $block_manager->createInstance('quanthub_datasetexplorer_block', $config);
// Some blocks might implement access check.
$access_result = $plugin_block->access($this->currentUser);
// Return empty render array if user doesn't have access.
// $access_result can be boolean or an AccessResult class.
if (is_object($access_result) && $access_result->isForbidden() || is_bool($access_result) && !$access_result) {
// You might need to add some cache tags/contexts.
return [];
}
$build = [
'#type' => 'container',
'#attributes' => [
'class' => ['datasetexplorer'],
],
'element-content' => $plugin_block->build(),
'#weight' => 0,
'#cache' => [
'max-age' => 0,
],
];
$build['element-content']['#attached']['drupalSettings']['mode'] = 'pivot';
$build['element-content']['#attached']['drupalSettings']['query'] = $request->query->all();
return $build;
}