![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/cartforge.co/vendor/magento/module-require-js/Block/Html/Head/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\RequireJs\Block\Html\Head; use Magento\Framework\RequireJs\Config as RequireJsConfig; use Magento\Framework\View\Asset\Minification; /** * Block responsible for including RequireJs config on the page * * @api * @since 100.0.2 */ class Config extends \Magento\Framework\View\Element\AbstractBlock { /** * @var RequireJsConfig */ private $config; /** * @var \Magento\RequireJs\Model\FileManager */ private $fileManager; /** * @var \Magento\Framework\View\Page\Config */ protected $pageConfig; /** * @var Minification */ protected $minification; /** * @var \Magento\Framework\View\Asset\ConfigInterface */ private $bundleConfig; /** * @param \Magento\Framework\View\Element\Context $context * @param RequireJsConfig $config * @param \Magento\RequireJs\Model\FileManager $fileManager * @param \Magento\Framework\View\Page\Config $pageConfig * @param \Magento\Framework\View\Asset\ConfigInterface $bundleConfig * @param Minification $minification * @param array $data */ public function __construct( \Magento\Framework\View\Element\Context $context, RequireJsConfig $config, \Magento\RequireJs\Model\FileManager $fileManager, \Magento\Framework\View\Page\Config $pageConfig, \Magento\Framework\View\Asset\ConfigInterface $bundleConfig, Minification $minification, array $data = [] ) { parent::__construct($context, $data); $this->config = $config; $this->fileManager = $fileManager; $this->pageConfig = $pageConfig; $this->bundleConfig = $bundleConfig; $this->minification = $minification; } /** * Include RequireJs configuration as an asset on the page * * @return $this */ protected function _prepareLayout() { $after = RequireJsConfig::REQUIRE_JS_FILE_NAME; $assetCollection = $this->pageConfig->getAssetCollection(); if ($this->minification->isEnabled('js')) { $minResolver = $this->fileManager->createMinResolverAsset(); $assetCollection->insert( $minResolver->getFilePath(), $minResolver, $after ); $after = $minResolver->getFilePath(); } $requireJsMapConfig = $this->fileManager->createRequireJsMapConfigAsset(); if ($requireJsMapConfig) { $urlResolverAsset = $this->fileManager->createUrlResolverAsset(); $assetCollection->insert( $urlResolverAsset->getFilePath(), $urlResolverAsset, $after ); $after = $urlResolverAsset->getFilePath(); $assetCollection->insert( $requireJsMapConfig->getFilePath(), $requireJsMapConfig, $after ); $after = $requireJsMapConfig->getFilePath(); } if ($this->bundleConfig->isBundlingJsFiles()) { $bundleAssets = $this->fileManager->createBundleJsPool(); $staticAsset = $this->fileManager->createStaticJsAsset(); /** @var \Magento\Framework\View\Asset\File $bundleAsset */ if (!empty($bundleAssets) && $staticAsset !== false) { $bundleAssets = array_reverse($bundleAssets); foreach ($bundleAssets as $bundleAsset) { $assetCollection->insert( $bundleAsset->getFilePath(), $bundleAsset, $after ); } $assetCollection->insert( $staticAsset->getFilePath(), $staticAsset, reset($bundleAssets)->getFilePath() ); $after = $staticAsset->getFilePath(); } } $requireJsConfig = $this->fileManager->createRequireJsConfigAsset(); $assetCollection->insert( $requireJsConfig->getFilePath(), $requireJsConfig, $after ); $requireJsMixinsConfig = $this->fileManager->createRequireJsMixinsAsset(); $assetCollection->insert( $requireJsMixinsConfig->getFilePath(), $requireJsMixinsConfig, $after ); return parent::_prepareLayout(); } }