diff options
author | Roeland Jago Douma <rullzer@users.noreply.github.com> | 2019-09-24 21:56:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-24 21:56:50 +0200 |
commit | 88b2d8f2200c856bb0bbef61cbf4539436142ee7 (patch) | |
tree | 6a0a08fe69c497442dcb72be8d7d6f60303e8d09 /apps/comments | |
parent | 61d22ff6cf54af0250a9917ab1b30a5dff1cb236 (diff) | |
parent | 5694a04b700114fbf617d068a3a5ba9a4a8a1ca2 (diff) | |
download | nextcloud-server-88b2d8f2200c856bb0bbef61cbf4539436142ee7.tar.gz nextcloud-server-88b2d8f2200c856bb0bbef61cbf4539436142ee7.zip |
Merge pull request #16641 from nextcloud/enh/files_additionalscripts
Files additionalscripts to real event
Diffstat (limited to 'apps/comments')
4 files changed, 51 insertions, 9 deletions
diff --git a/apps/comments/composer/composer/autoload_classmap.php b/apps/comments/composer/composer/autoload_classmap.php index 580d38a8439..4f2cfaebde5 100644 --- a/apps/comments/composer/composer/autoload_classmap.php +++ b/apps/comments/composer/composer/autoload_classmap.php @@ -15,6 +15,7 @@ return array( 'OCA\\Comments\\Controller\\Notifications' => $baseDir . '/../lib/Controller/Notifications.php', 'OCA\\Comments\\EventHandler' => $baseDir . '/../lib/EventHandler.php', 'OCA\\Comments\\JSSettingsHelper' => $baseDir . '/../lib/JSSettingsHelper.php', + 'OCA\\Comments\\Listener\\LoadAdditionalScripts' => $baseDir . '/../lib/Listener/LoadAdditionalScripts.php', 'OCA\\Comments\\Notification\\Listener' => $baseDir . '/../lib/Notification/Listener.php', 'OCA\\Comments\\Notification\\Notifier' => $baseDir . '/../lib/Notification/Notifier.php', 'OCA\\Comments\\Search\\Provider' => $baseDir . '/../lib/Search/Provider.php', diff --git a/apps/comments/composer/composer/autoload_static.php b/apps/comments/composer/composer/autoload_static.php index 46074d6ab80..685a2d3296b 100644 --- a/apps/comments/composer/composer/autoload_static.php +++ b/apps/comments/composer/composer/autoload_static.php @@ -30,6 +30,7 @@ class ComposerStaticInitComments 'OCA\\Comments\\Controller\\Notifications' => __DIR__ . '/..' . '/../lib/Controller/Notifications.php', 'OCA\\Comments\\EventHandler' => __DIR__ . '/..' . '/../lib/EventHandler.php', 'OCA\\Comments\\JSSettingsHelper' => __DIR__ . '/..' . '/../lib/JSSettingsHelper.php', + 'OCA\\Comments\\Listener\\LoadAdditionalScripts' => __DIR__ . '/..' . '/../lib/Listener/LoadAdditionalScripts.php', 'OCA\\Comments\\Notification\\Listener' => __DIR__ . '/..' . '/../lib/Notification/Listener.php', 'OCA\\Comments\\Notification\\Notifier' => __DIR__ . '/..' . '/../lib/Notification/Notifier.php', 'OCA\\Comments\\Search\\Provider' => __DIR__ . '/..' . '/../lib/Search/Provider.php', diff --git a/apps/comments/lib/AppInfo/Application.php b/apps/comments/lib/AppInfo/Application.php index 916345e4a5f..793d1e9f7be 100644 --- a/apps/comments/lib/AppInfo/Application.php +++ b/apps/comments/lib/AppInfo/Application.php @@ -26,10 +26,13 @@ namespace OCA\Comments\AppInfo; use OCA\Comments\Controller\Notifications; use OCA\Comments\EventHandler; use OCA\Comments\JSSettingsHelper; +use OCA\Comments\Listener\LoadAdditionalScripts; use OCA\Comments\Notification\Notifier; use OCA\Comments\Search\Provider; +use OCA\Files\Event\LoadAdditionalScriptsEvent; use OCP\AppFramework\App; use OCP\Comments\CommentsEntityEvent; +use OCP\EventDispatcher\IEventDispatcher; use OCP\Util; use Symfony\Component\EventDispatcher\EventDispatcherInterface; @@ -48,7 +51,8 @@ class Application extends App { public function register() { $server = $this->getContainer()->getServer(); - $dispatcher = $server->getEventDispatcher(); + /** @var IEventDispatcher $newDispatcher */ + $dispatcher = $server->query(IEventDispatcher::class); $this->registerSidebarScripts($dispatcher); $this->registerDavEntity($dispatcher); $this->registerNotifier(); @@ -57,16 +61,11 @@ class Application extends App { $server->getSearch()->registerProvider(Provider::class, ['apps' => ['files']]); } - protected function registerSidebarScripts(EventDispatcherInterface $dispatcher) { - $dispatcher->addListener( - 'OCA\Files::loadAdditionalScripts', - function() { - Util::addScript('comments', 'comments'); - } - ); + protected function registerSidebarScripts(IEventDispatcher $dispatcher) { + $dispatcher->addServiceListener(LoadAdditionalScriptsEvent::class, LoadAdditionalScripts::class); } - protected function registerDavEntity(EventDispatcherInterface $dispatcher) { + protected function registerDavEntity(IEventDispatcher $dispatcher) { $dispatcher->addListener(CommentsEntityEvent::EVENT_ENTITY, function(CommentsEntityEvent $event) { $event->addEntityCollection('files', function($name) { $nodes = \OC::$server->getUserFolder()->getById((int)$name); diff --git a/apps/comments/lib/Listener/LoadAdditionalScripts.php b/apps/comments/lib/Listener/LoadAdditionalScripts.php new file mode 100644 index 00000000000..b1e9447beab --- /dev/null +++ b/apps/comments/lib/Listener/LoadAdditionalScripts.php @@ -0,0 +1,41 @@ +<?php +declare(strict_types=1); +/** + * @copyright Copyright (c) 2019, Roeland Jago Douma <roeland@famdouma.nl> + * + * @author Roeland Jago Douma <roeland@famdouma.nl> + * + * @license GNU AGPL version 3 or any later version + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +namespace OCA\Comments\Listener; + +use OCA\Files\Event\LoadAdditionalScriptsEvent; +use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IEventListener; +use OCP\Util; + +class LoadAdditionalScripts implements IEventListener { + public function handle(Event $event): void { + if (!($event instanceof LoadAdditionalScriptsEvent)) { + return; + } + + Util::addScript('comments', 'comments'); + } + +} |