View source
<?php
namespace Drupal\pagerer\Plugin\pagerer;
use Drupal\Component\Utility\NestedArray;
class Scrollpane extends PagererStyleBase {
protected function buildEmptyPager() {
return $this
->buildPagerItems();
}
protected function buildPagerItems() {
$state_settings = [
'quantity' => $this
->getOption('quantity'),
'pageTag' => [
'page_title' => $this
->getTag($this
->getOption('display') . '.page_title'),
'first_title' => $this
->getTag($this
->getOption('display') . '.first_title'),
'last_title' => $this
->getTag($this
->getOption('display') . '.last_title'),
],
];
$pagerer_widget_id = $this
->prepareJsState($state_settings);
$items = [];
$vars = $this
->getNavigationItem('first', FALSE);
$items[] = [
'widget' => [
'#theme' => 'pagerer_scrollpane_button',
'#scope' => 'first',
'#text' => $vars['text'],
'#title' => $vars['title'],
],
];
$vars = $this
->getNavigationItem('previous', FALSE);
$items[] = [
'widget' => [
'#theme' => 'pagerer_scrollpane_button',
'#scope' => 'previous',
'#text' => $vars['text'],
'#title' => $vars['title'],
],
];
$embed_pager_config = NestedArray::mergeDeep($this->configuration, [
'prefix_display' => FALSE,
'display_mode' => 'normal',
'suffix_display' => FALSE,
'first_link' => 'never',
'previous_link' => 'never',
'next_link' => 'never',
'last_link' => 'never',
'fl_breakers' => FALSE,
]);
$items[] = [
'widget' => [
'#id' => $pagerer_widget_id,
'#type' => 'pager',
'#theme' => 'pagerer_base',
'#style' => 'standard',
'#element' => $this->pager
->getElement(),
'#parameters' => $this->parameters,
'#route_name' => $this->pager
->getRouteName(),
'#route_parameters' => $this->pager
->getRouteParameters(),
'#config' => $embed_pager_config,
'#embedded' => TRUE,
'#state' => $state_settings,
],
];
$vars = $this
->getNavigationItem('next', FALSE);
$items[] = [
'widget' => [
'#theme' => 'pagerer_scrollpane_button',
'#scope' => 'next',
'#text' => $vars['text'],
'#title' => $vars['title'],
],
];
$vars = $this
->getNavigationItem('last', FALSE);
$items[] = [
'widget' => [
'#theme' => 'pagerer_scrollpane_button',
'#scope' => 'last',
'#text' => $vars['text'],
'#title' => $vars['title'],
],
];
return $items;
}
}