You are here

public function QuickTabsController::ajaxContent in Quick Tabs 8.3

1 string reference to 'QuickTabsController::ajaxContent'
quicktabs.routing.yml in ./quicktabs.routing.yml
quicktabs.routing.yml

File

src/Controller/QuickTabsController.php, line 57

Class

QuickTabsController
Provides a controller for content retrieved through AJAX.

Namespace

Drupal\quicktabs\Controller

Code

public function ajaxContent($js, $instance, $tab) {
  if ($js === 'nojs') {
    return [];
  }
  else {
    $qt = $this->entityTypeManager
      ->getStorage('quicktabs_instance')
      ->load($instance);
    $configuration_data = $qt
      ->getConfigurationData();
    $object = $this->tabTypeManager
      ->createInstance($configuration_data[$tab]['type']);
    $render = $object
      ->render($configuration_data[$tab]);
    $element_id = '#quicktabs-tabpage-' . $instance . '-' . $tab;
    $ajax_response = new AjaxResponse();
    $ajax_response
      ->addCommand(new HtmlCommand($element_id, $render));
    return $ajax_response;
  }
}