diff --git a/lib/AppInfo/Application.php b/lib/AppInfo/Application.php index 106856eb5..01257a875 100644 --- a/lib/AppInfo/Application.php +++ b/lib/AppInfo/Application.php @@ -60,6 +60,7 @@ use OCA\Deck\Search\DeckProvider; use OCA\Deck\Service\PermissionService; use OCA\Deck\Sharing\DeckShareProvider; use OCA\Deck\Sharing\Listener; +use OCA\Text\Event\LoadEditor; use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; @@ -84,6 +85,8 @@ class Application extends App implements IBootstrap { public const COMMENT_ENTITY_TYPE = 'deckCard'; + private $referenceLoaded = false; + public function __construct(array $urlParams = []) { parent::__construct(self::APP_ID, $urlParams); @@ -91,8 +94,12 @@ class Application extends App implements IBootstrap { // (and use a listener class) $container = $this->getContainer(); $eventDispatcher = $container->get(IEventDispatcher::class); - $eventDispatcher->addListener(RenderReferenceEvent::class, function () { + $eventDispatcher->addListener(RenderReferenceEvent::class, function (RenderReferenceEvent $e) use ($eventDispatcher) { Util::addScript(self::APP_ID, self::APP_ID . '-reference'); + if (!$this->referenceLoaded && class_exists(LoadEditor::class)) { + $this->referenceLoaded = true; + $eventDispatcher->dispatchTyped(new LoadEditor()); + } }); }