You are here

class AnimateListController in Animate Any 8

Hierarchy

Expanded class hierarchy of AnimateListController

File

src/Controller/AnimateListController.php, line 16
Contains \Drupal\animate_any\Controller\AnimateListController.

Namespace

Drupal\animate_any\Controller
View source
class AnimateListController extends ControllerBase {

  /**
   * @var \Drupal\Core\Render\RendererInterface
   */
  private $renderer;
  public static function create(ContainerInterface $container) {
    return new static($container
      ->get('renderer'));
  }

  /**
   * Class constructor.
   */
  public function __construct(RendererInterface $render) {
    $this->renderer = $render;
  }
  public function animate_list() {
    $header = [];
    $header[] = [
      'data' => $this
        ->t('ID'),
    ];
    $header[] = [
      'data' => $this
        ->t('Parent element'),
    ];
    $header[] = [
      'data' => $this
        ->t('Identifiers'),
    ];
    $header[] = [
      'data' => $this
        ->t('Operation'),
    ];

    // Fetch Animate Data.
    $fetch = \Drupal::database()
      ->select("animate_any_settings", "a");
    $fetch
      ->fields('a');
    $fetch
      ->orderBy('aid', 'DESC');
    $table_sort = $fetch
      ->extend('Drupal\\Core\\Database\\Query\\TableSortExtender')
      ->orderByHeader($header);
    $pager = $table_sort
      ->extend('Drupal\\Core\\Database\\Query\\PagerSelectExtender')
      ->limit(10);
    $fetch_results = $pager
      ->execute()
      ->fetchAll();
    foreach ($fetch_results as $items) {
      $mini_header = [];
      $mini_header[] = [
        'data' => $this
          ->t('Section'),
      ];
      $mini_header[] = [
        'data' => $this
          ->t('Event'),
      ];
      $mini_header[] = [
        'data' => $this
          ->t('Animation'),
      ];
      $mini_rows = [];
      $data = \json_decode($items->identifier);
      foreach ($data as $value) {
        $mini_rows[] = [
          $value->section_identity,
          $value->section_event,
          $value->section_animation,
        ];
      }
      $mini_output = [];
      $mini_output['mini_list'] = [
        '#theme' => 'table',
        '#header' => $mini_header,
        '#rows' => $mini_rows,
      ];
      $identifiers = $this->renderer
        ->render($mini_output);
      $links = [];
      $links['edit'] = [
        'title' => $this
          ->t('Edit'),
        'url' => Url::fromUri('internal:/admin/config/animate_any/edit/' . $items->aid, [
          'query' => [
            'destination' => 'admin/config/animate_any/list',
          ],
        ]),
      ];
      $links['delete'] = [
        'title' => $this
          ->t('Delete'),
        'url' => Url::fromUri('internal:/admin/config/animate_any/delete/' . $items->aid, [
          'query' => [
            'destination' => 'admin/config/animate_any/list',
          ],
        ]),
      ];
      $operation = [
        'data' => [
          '#type' => 'operations',
          '#links' => $links,
        ],
      ];
      $rows[] = [
        $items->aid,
        $items->parent,
        $identifiers,
        $operation,
      ];
    }
    $url = Url::fromUri('internal:/admin/config/animate_any', [
      'attributes' => [
        'class' => [
          'button',
        ],
      ],
    ]);
    $add = Link::fromTextAndUrl($this
      ->t('Add Animation'), $url)
      ->toString();
    $add_link = '<ul class="action-links"><li>' . $add . '</li></ul>';
    $empty = '<div role="contentinfo" aria-label="Status message" class="messages messages--warning">No record found.</div>';
    $output['animate_list'] = [
      '#theme' => 'table',
      '#header' => $header,
      '#rows' => $rows,
      '#empty' => $this
        ->t($empty),
      '#prefix' => $add_link,
    ];
    $output['pager'] = [
      '#type' => 'pager',
    ];
    return $output;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
AnimateListController::$renderer private property
AnimateListController::animate_list public function
AnimateListController::create public static function Instantiates a new instance of this class. Overrides ControllerBase::create
AnimateListController::__construct public function Class constructor.
ControllerBase::$configFactory protected property The configuration factory.
ControllerBase::$currentUser protected property The current user service. 1
ControllerBase::$entityFormBuilder protected property The entity form builder.
ControllerBase::$entityManager protected property The entity manager.
ControllerBase::$entityTypeManager protected property The entity type manager.
ControllerBase::$formBuilder protected property The form builder. 2
ControllerBase::$keyValue protected property The key-value storage. 1
ControllerBase::$languageManager protected property The language manager. 1
ControllerBase::$moduleHandler protected property The module handler. 2
ControllerBase::$stateService protected property The state service.
ControllerBase::cache protected function Returns the requested cache bin.
ControllerBase::config protected function Retrieves a configuration object.
ControllerBase::container private function Returns the service container.
ControllerBase::currentUser protected function Returns the current user. 1
ControllerBase::entityFormBuilder protected function Retrieves the entity form builder.
ControllerBase::entityManager Deprecated protected function Retrieves the entity manager service.
ControllerBase::entityTypeManager protected function Retrieves the entity type manager.
ControllerBase::formBuilder protected function Returns the form builder service. 2
ControllerBase::keyValue protected function Returns a key/value storage collection. 1
ControllerBase::languageManager protected function Returns the language manager service. 1
ControllerBase::moduleHandler protected function Returns the module handler. 2
ControllerBase::redirect protected function Returns a redirect response object for the specified route. Overrides UrlGeneratorTrait::redirect
ControllerBase::state protected function Returns the state storage service.
LinkGeneratorTrait::$linkGenerator protected property The link generator. 1
LinkGeneratorTrait::getLinkGenerator Deprecated protected function Returns the link generator.
LinkGeneratorTrait::l Deprecated protected function Renders a link to a route given a route name and its parameters.
LinkGeneratorTrait::setLinkGenerator Deprecated public function Sets the link generator service.
LoggerChannelTrait::$loggerFactory protected property The logger channel factory service.
LoggerChannelTrait::getLogger protected function Gets the logger for a specific channel.
LoggerChannelTrait::setLoggerFactory public function Injects the logger channel factory.
MessengerTrait::$messenger protected property The messenger. 29
MessengerTrait::messenger public function Gets the messenger. 29
MessengerTrait::setMessenger public function Sets the messenger.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 1
RedirectDestinationTrait::getDestinationArray protected function Prepares a 'destination' URL query parameter for use with \Drupal\Core\Url.
RedirectDestinationTrait::getRedirectDestination protected function Returns the redirect destination service.
RedirectDestinationTrait::setRedirectDestination public function Sets the redirect destination service.
StringTranslationTrait::$stringTranslation protected property The string translation service. 1
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
UrlGeneratorTrait::$urlGenerator protected property The url generator.
UrlGeneratorTrait::getUrlGenerator Deprecated protected function Returns the URL generator service.
UrlGeneratorTrait::setUrlGenerator Deprecated public function Sets the URL generator service.
UrlGeneratorTrait::url Deprecated protected function Generates a URL or path for a specific route based on the given parameters.