Cleanup public api methods

Signed-off-by: Julius Härtl <jus@bitgrid.net>
This commit is contained in:
Julius Härtl 2020-06-24 13:00:22 +02:00
parent 66ce9ede91
commit b71de68f43
No known key found for this signature in database
GPG Key ID: 4C614C6ED2CDE6DF
5 changed files with 17 additions and 25 deletions

View File

@ -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) {

View File

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

View File

@ -31,12 +31,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

View File

@ -55,12 +55,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

View File

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