43 private $bundleConfig;
57 \
Magento\RequireJs\Model\FileManager $fileManager,
59 \
Magento\Framework\View\Asset\ConfigInterface $bundleConfig,
63 parent::__construct($context,
$data);
65 $this->fileManager = $fileManager;
67 $this->bundleConfig = $bundleConfig;
78 $after = RequireJsConfig::REQUIRE_JS_FILE_NAME;
79 $assetCollection = $this->pageConfig->getAssetCollection();
80 if ($this->minification->isEnabled(
'js')) {
81 $minResolver = $this->fileManager->createMinResolverAsset();
82 $assetCollection->insert(
83 $minResolver->getFilePath(),
87 $after = $minResolver->getFilePath();
89 $requireJsMapConfig = $this->fileManager->createRequireJsMapConfigAsset();
90 if ($requireJsMapConfig) {
91 $urlResolverAsset = $this->fileManager->createUrlResolverAsset();
92 $assetCollection->insert(
93 $urlResolverAsset->getFilePath(),
97 $after = $urlResolverAsset->getFilePath();
98 $assetCollection->insert(
99 $requireJsMapConfig->getFilePath(),
103 $after = $requireJsMapConfig->getFilePath();
105 if ($this->bundleConfig->isBundlingJsFiles()) {
106 $bundleAssets = $this->fileManager->createBundleJsPool();
107 $staticAsset = $this->fileManager->createStaticJsAsset();
109 if (!empty($bundleAssets) && $staticAsset !==
false) {
110 $bundleAssets = array_reverse($bundleAssets);
111 foreach ($bundleAssets as $bundleAsset) {
112 $assetCollection->insert(
113 $bundleAsset->getFilePath(),
118 $assetCollection->insert(
119 $staticAsset->getFilePath(),
121 reset($bundleAssets)->getFilePath()
123 $after = $staticAsset->getFilePath();
126 $requireJsConfig = $this->fileManager->createRequireJsConfigAsset();
127 $assetCollection->insert(
128 $requireJsConfig->getFilePath(),
132 $requireJsMixinsConfig = $this->fileManager->createRequireJsMixinsAsset();
133 $assetCollection->insert(
134 $requireJsMixinsConfig->getFilePath(),
135 $requireJsMixinsConfig,
138 return parent::_prepareLayout();
__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=[])