Skip to content

Commit

Permalink
Merge #254 [backport25] Dependency injection of JSResourceLocator
Browse files Browse the repository at this point in the history
  • Loading branch information
memurats committed Jun 26, 2024
2 parents 8211b9b + 3b3c05d commit 82b3f34
Showing 1 changed file with 22 additions and 9 deletions.
31 changes: 22 additions & 9 deletions lib/private/TemplateLayout.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,11 @@
namespace OC;

use bantu\IniGetWrapper\IniGetWrapper;
use OC\AppFramework\Utility\QueryNotFoundException;
use OC\Search\SearchQuery;
use OC\Template\JSCombiner;
use OC\Template\JSConfigHelper;
use OC\Template\JSResourceLocator;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\Defaults;
use OCP\IConfig;
Expand All @@ -68,6 +70,9 @@ class TemplateLayout extends \OC_Template {
/** @var INavigationManager */
private $navigationManager;

/** @var JSResourceLocator|null */
public static $jsLocator = null;

/**
* @param string $renderAs
* @param string $appId application id
Expand Down Expand Up @@ -374,16 +379,24 @@ public function getAppNamefromPath($path) {
public static function findJavascriptFiles($scripts) {
// Read the selected theme from the config file
$theme = \OC_Util::getTheme();

$locator = new \OC\Template\JSResourceLocator(
\OC::$server->get(LoggerInterface::class),
$theme,
[ \OC::$SERVERROOT => \OC::$WEBROOT ],
[ \OC::$SERVERROOT => \OC::$WEBROOT ],
\OC::$server->query(JSCombiner::class)
try {
// we need the injected form coming with stable26
if (self::$jsLocator === null) {
self::$jsLocator = \OCP\Server::get(JSResourceLocator::class);
}
} catch (QueryNotFoundException $eInject) {
// but keep the old version just in case theming is not available
self::$jsLocator = new JSResourceLocator(
\OC::$server->get(LoggerInterface::class),
$theme,
[ \OC::$SERVERROOT => \OC::$WEBROOT ],
[ \OC::$SERVERROOT => \OC::$WEBROOT ],
\OC::$server->query(JSCombiner::class)
);
$locator->find($scripts);
return $locator->getResources();
}

self::$jsLocator->find($scripts);
return self::$jsLocator->getResources();
}

/**
Expand Down

0 comments on commit 82b3f34

Please sign in to comment.