/** * Presents a list of selection conditions to add to the page entity. * * @param \Drupal\page_manager\PageInterface $page * The page entity. * @param string $display_variant_id * The display variant ID. * * @return array * The selection condition selection page. */ public function selectSelectionCondition(PageInterface $page, $display_variant_id) { $build = ['#theme' => 'links', '#links' => []]; $available_plugins = $this->conditionManager->getDefinitionsForContexts($page->getContexts()); foreach ($available_plugins as $selection_id => $selection_condition) { $build['#links'][$selection_id] = ['title' => $selection_condition['label'], 'url' => Url::fromRoute('page_manager.selection_condition_add', ['page' => $page->id(), 'display_variant_id' => $display_variant_id, 'condition_id' => $selection_id]), 'attributes' => ['class' => ['use-ajax'], 'data-dialog-type' => 'modal', 'data-dialog-options' => Json::encode(['width' => 'auto'])]]; } return $build; }