fix: Load editor on reference pickers for card create dialog

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl
2023-08-09 13:24:45 +02:00
parent 5910d8a964
commit 16063af045

View File

@@ -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());
}
});
}