class JsAssetController

Same name and namespace in other branches
  1. 10 core/modules/system/src/Controller/JsAssetController.php \Drupal\system\Controller\JsAssetController

Defines a controller to serve Javascript aggregates.

Hierarchy

Expanded class hierarchy of JsAssetController

File

core/modules/system/src/Controller/JsAssetController.php, line 14

Namespace

Drupal\system\Controller
View source
class JsAssetController extends AssetControllerBase {
    use AssetGroupSetHashTrait;
    
    /**
     * {@inheritdoc}
     */
    protected string $contentType = 'text/javascript';
    
    /**
     * {@inheritdoc}
     */
    protected string $assetType = 'js';
    
    /**
     * {@inheritdoc}
     */
    public static function create(ContainerInterface $container) {
        return new static($container->get('stream_wrapper_manager'), $container->get('library.dependency_resolver'), $container->get('asset.resolver'), $container->get('theme.initialization'), $container->get('theme.manager'), $container->get('asset.js.collection_grouper'), $container->get('asset.js.collection_optimizer'), $container->get('asset.js.dumper'));
    }
    
    /**
     * {@inheritdoc}
     */
    protected function getGroups(AttachedAssetsInterface $attached_assets, Request $request) : array {
        // The header and footer scripts are two distinct sets of asset groups. The
        // $group_key is not sufficient to find the group, we also need to locate it
        // within either the header or footer set.
        $language = $this->languageManager()
            ->getLanguage($request->get('language'));
        [
            $js_assets_header,
            $js_assets_footer,
        ] = $this->assetResolver
            ->getJsAssets($attached_assets, FALSE, $language);
        $scope = $request->get('scope');
        if (!isset($scope)) {
            throw new BadRequestHttpException('The URL must have a scope query argument.');
        }
        $assets = $scope === 'header' ? $js_assets_header : $js_assets_footer;
        // While the asset resolver will find settings, these are never aggregated,
        // so filter them out.
        unset($assets['drupalSettings']);
        return $this->grouper
            ->group($assets);
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
AssetControllerBase::$fileExtension protected property The aggregate file extension.
AssetControllerBase::CACHE_CONTROL protected constant The cache control header to use.
AssetControllerBase::deliver public function Generates an aggregate, given a filename.
AssetControllerBase::getGroup protected function Gets a group.
AssetControllerBase::__construct public function Constructs an object derived from AssetControllerBase. Overrides FileDownloadController::__construct
AssetGroupSetHashTrait::generateHash protected function Generates a hash for an array of asset groups.
ControllerBase::$configFactory protected property The configuration factory.
ControllerBase::$currentUser protected property The current user service. 2
ControllerBase::$entityFormBuilder protected property The entity form builder.
ControllerBase::$entityTypeManager protected property The entity type manager.
ControllerBase::$formBuilder protected property The form builder. 1
ControllerBase::$keyValue protected property The key-value storage. 1
ControllerBase::$languageManager protected property The language manager. 1
ControllerBase::$moduleHandler protected property The module handler. 1
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. 2
ControllerBase::entityFormBuilder protected function Retrieves the entity form builder.
ControllerBase::entityTypeManager protected function Retrieves the entity type manager.
ControllerBase::formBuilder protected function Returns the form builder service. 1
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. 1
ControllerBase::redirect protected function Returns a redirect response object for the specified route.
ControllerBase::state protected function Returns the state storage service.
FileDownloadController::$streamWrapperManager protected property The stream wrapper manager.
FileDownloadController::download public function Handles private file transfers.
JsAssetController::$assetType protected property The asset type. Overrides AssetControllerBase::$assetType
JsAssetController::$contentType protected property The asset aggregate content type to send as Content-Type header. Overrides AssetControllerBase::$contentType
JsAssetController::create public static function Instantiates a new instance of the implementing class using autowiring. Overrides AutowireTrait::create
JsAssetController::getGroups protected function Get grouped assets. Overrides AssetControllerBase::getGroups
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. 16
MessengerTrait::messenger public function Gets the messenger. 16
MessengerTrait::setMessenger public function Sets the messenger.
RedirectDestinationTrait::$redirectDestination protected property The redirect destination service. 2
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. 3
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.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.