summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--apps/dashboard/lib/Controller/DashboardController.php12
-rw-r--r--lib/private/Dashboard/Manager.php8
-rw-r--r--lib/public/Dashboard/IManager.php6
-rw-r--r--lib/public/Dashboard/IPanel.php6
-rw-r--r--lib/public/Dashboard/RegisterPanelEvent.php (renamed from lib/public/Dashboard/IRegisterPanelEvent.php)10
5 files changed, 17 insertions, 25 deletions
diff --git a/apps/dashboard/lib/Controller/DashboardController.php b/apps/dashboard/lib/Controller/DashboardController.php
index 040f54a1f53..f753ad06f82 100644
--- a/apps/dashboard/lib/Controller/DashboardController.php
+++ b/apps/dashboard/lib/Controller/DashboardController.php
@@ -28,7 +28,7 @@ use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\Dashboard\IManager;
use OCP\Dashboard\IPanel;
-use OCP\Dashboard\IRegisterPanelEvent;
+use OCP\Dashboard\RegisterPanelEvent;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\IInitialStateService;
use OCP\IRequest;
@@ -42,7 +42,13 @@ class DashboardController extends Controller {
/** @var IManager */
private $dashboardManager;
- public function __construct($appName, IRequest $request, IInitialStateService $initialStateService, IEventDispatcher $eventDispatcher, IManager $dashboardManager) {
+ public function __construct(
+ $appName,
+ IRequest $request,
+ IInitialStateService $initialStateService,
+ IEventDispatcher $eventDispatcher,
+ IManager $dashboardManager
+ ) {
parent::__construct($appName, $request);
$this->inititalStateService = $initialStateService;
@@ -56,7 +62,7 @@ class DashboardController extends Controller {
* @return TemplateResponse
*/
public function index(): TemplateResponse {
- $this->eventDispatcher->dispatchTyped(new IRegisterPanelEvent($this->dashboardManager));
+ $this->eventDispatcher->dispatchTyped(new RegisterPanelEvent($this->dashboardManager));
$dashboardManager = $this->dashboardManager;
$panels = array_map(function (IPanel $panel) {
diff --git a/lib/private/Dashboard/Manager.php b/lib/private/Dashboard/Manager.php
index 0d149dc9a13..f9c857f831f 100644
--- a/lib/private/Dashboard/Manager.php
+++ b/lib/private/Dashboard/Manager.php
@@ -26,6 +26,7 @@ namespace OC\Dashboard;
use OCP\AppFramework\QueryException;
use OCP\Dashboard\IManager;
use OCP\Dashboard\IPanel;
+use OCP\ILogger;
use OCP\IServerContainer;
class Manager implements IManager {
@@ -43,10 +44,7 @@ class Manager implements IManager {
$this->serverContainer = $serverContainer;
}
- /**
- * @inheritDoc
- */
- public function registerPanel(IPanel $panel): void {
+ private function registerPanel(IPanel $panel): void {
if (array_key_exists($panel->getId(), $this->panels)) {
throw new \InvalidArgumentException('Dashboard panel with this id has already been registered');
}
@@ -86,7 +84,7 @@ class Manager implements IManager {
* we can not inject it. Thus the static call.
*/
\OC::$server->getLogger()->logException($e, [
- 'message' => 'Could not register lazy crash reporter: ' . $e->getMessage(),
+ 'message' => 'Could not register lazy dashboard panel: ' . $e->getMessage(),
'level' => ILogger::FATAL,
]);
}
diff --git a/lib/public/Dashboard/IManager.php b/lib/public/Dashboard/IManager.php
index 21d67407fb8..51ee7d2fbe5 100644
--- a/lib/public/Dashboard/IManager.php
+++ b/lib/public/Dashboard/IManager.php
@@ -32,12 +32,6 @@ namespace OCP\Dashboard;
interface IManager {
/**
- * @param IPanel $panel
- * @since 20.0.0
- */
- public function registerPanel(IPanel $panel): void;
-
- /**
* @param string $panelClass
* @since 20.0.0
*/
diff --git a/lib/public/Dashboard/IPanel.php b/lib/public/Dashboard/IPanel.php
index 1b0e3c11d1a..d7e7b157964 100644
--- a/lib/public/Dashboard/IPanel.php
+++ b/lib/public/Dashboard/IPanel.php
@@ -56,12 +56,6 @@ interface IPanel {
public function getIconClass(): string;
/**
- * @return string The absolute path to an icon in SVG
- * @since 20.0.0
- */
- public function getIconUrl(): string;
-
- /**
* @return string The absolute url to the apps own view
* @since 20.0.0
*/
diff --git a/lib/public/Dashboard/IRegisterPanelEvent.php b/lib/public/Dashboard/RegisterPanelEvent.php
index 1ca42a6f033..bc0028d5c0c 100644
--- a/lib/public/Dashboard/IRegisterPanelEvent.php
+++ b/lib/public/Dashboard/RegisterPanelEvent.php
@@ -26,7 +26,7 @@ namespace OCP\Dashboard;
use OCP\EventDispatcher\Event;
/**
- * Class IRegisterPanelEvent
+ * Class RegisterPanelEvent
*
* This event is dispatched to allow apps supporting older Nextcloud versions to
* still register their dashboard panels so that they are only constructed when
@@ -37,7 +37,7 @@ use OCP\EventDispatcher\Event;
* @since 20.0.0
* @deprecated 20.0.0
*/
-class IRegisterPanelEvent extends Event {
+class RegisterPanelEvent extends Event {
private $manager;
public function __construct(IManager $manager) {
@@ -47,10 +47,10 @@ class IRegisterPanelEvent extends Event {
}
/**
- * @param IPanel $panel
+ * @param string $panelClass
* @since 20.0.0
*/
- public function registerPanel(IPanel $panel) {
- $this->manager->registerPanel($panel);
+ public function registerPanel(string $panelClass) {
+ $this->manager->lazyRegisterPanel($panelClass);
}
}