From 018be662f4df89345b528382ab300269d4a88048 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julius=20H=C3=A4rtl?= Date: Tue, 4 Aug 2020 15:20:05 +0200 Subject: [PATCH] Refactor API to match the widget wording MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Julius Härtl --- .../lib/Controller/DashboardController.php | 20 ++++----- .../Bootstrap/RegistrationContext.php | 6 +-- lib/private/Dashboard/Manager.php | 42 +++++++++---------- .../Bootstrap/IRegistrationContext.php | 4 +- lib/public/Dashboard/IManager.php | 8 ++-- .../Dashboard/{IPanel.php => IWidget.php} | 14 +++---- ...PanelEvent.php => RegisterWidgetEvent.php} | 6 +-- 7 files changed, 50 insertions(+), 50 deletions(-) rename lib/public/Dashboard/{IPanel.php => IWidget.php} (79%) rename lib/public/Dashboard/{RegisterPanelEvent.php => RegisterWidgetEvent.php} (91%) diff --git a/apps/dashboard/lib/Controller/DashboardController.php b/apps/dashboard/lib/Controller/DashboardController.php index 06ce063b0a..07cfaf071e 100644 --- a/apps/dashboard/lib/Controller/DashboardController.php +++ b/apps/dashboard/lib/Controller/DashboardController.php @@ -32,8 +32,8 @@ use OCP\AppFramework\Controller; use OCP\AppFramework\Http\JSONResponse; use OCP\AppFramework\Http\TemplateResponse; use OCP\Dashboard\IManager; -use OCP\Dashboard\IPanel; -use OCP\Dashboard\RegisterPanelEvent; +use OCP\Dashboard\IWidget; +use OCP\Dashboard\RegisterWidgetEvent; use OCP\EventDispatcher\IEventDispatcher; use OCP\IConfig; use OCP\IInitialStateService; @@ -76,18 +76,18 @@ class DashboardController extends Controller { * @return TemplateResponse */ public function index(): TemplateResponse { - $this->eventDispatcher->dispatchTyped(new RegisterPanelEvent($this->dashboardManager)); + $this->eventDispatcher->dispatchTyped(new RegisterWidgetEvent($this->dashboardManager)); $userLayout = explode(',', $this->config->getUserValue($this->userId, 'dashboard', 'layout', 'recommendations,spreed,mail,calendar')); - $panels = array_map(function (IPanel $panel) { + $widgets = array_map(function (IWidget $widget) { return [ - 'id' => $panel->getId(), - 'title' => $panel->getTitle(), - 'iconClass' => $panel->getIconClass(), - 'url' => $panel->getUrl() + 'id' => $widget->getId(), + 'title' => $widget->getTitle(), + 'iconClass' => $widget->getIconClass(), + 'url' => $widget->getUrl() ]; - }, $this->dashboardManager->getPanels()); - $this->inititalStateService->provideInitialState('dashboard', 'panels', $panels); + }, $this->dashboardManager->getWidgets()); + $this->inititalStateService->provideInitialState('dashboard', 'panels', $widgets); $this->inititalStateService->provideInitialState('dashboard', 'layout', $userLayout); $this->inititalStateService->provideInitialState('dashboard', 'firstRun', $this->config->getUserValue($this->userId, 'dashboard', 'firstRun', '1') === '1'); $this->config->setUserValue($this->userId, 'dashboard', 'firstRun', '0'); diff --git a/lib/private/AppFramework/Bootstrap/RegistrationContext.php b/lib/private/AppFramework/Bootstrap/RegistrationContext.php index efcf9175b9..4c37209739 100644 --- a/lib/private/AppFramework/Bootstrap/RegistrationContext.php +++ b/lib/private/AppFramework/Bootstrap/RegistrationContext.php @@ -100,10 +100,10 @@ class RegistrationContext { ); } - public function registerDashboardPanel(string $panelClass): void { + public function registerDashboardWidget(string $widgetClass): void { $this->context->registerDashboardPanel( $this->appId, - $panelClass + $widgetClass ); } @@ -282,7 +282,7 @@ class RegistrationContext { public function delegateDashboardPanelRegistrations(array $apps, IManager $dashboardManager): void { foreach ($this->dashboardPanels as $panel) { try { - $dashboardManager->lazyRegisterPanel($panel['class']); + $dashboardManager->lazyRegisterWidget($panel['class']); } catch (Throwable $e) { $appId = $panel['appId']; $this->logger->logException($e, [ diff --git a/lib/private/Dashboard/Manager.php b/lib/private/Dashboard/Manager.php index 0c285a8b53..fda4c8b389 100644 --- a/lib/private/Dashboard/Manager.php +++ b/lib/private/Dashboard/Manager.php @@ -29,7 +29,7 @@ namespace OC\Dashboard; use InvalidArgumentException; use OCP\AppFramework\QueryException; use OCP\Dashboard\IManager; -use OCP\Dashboard\IPanel; +use OCP\Dashboard\IWidget; use OCP\ILogger; use OCP\IServerContainer; use Throwable; @@ -37,10 +37,10 @@ use Throwable; class Manager implements IManager { /** @var array */ - private $lazyPanels = []; + private $lazyWidgets = []; - /** @var IPanel[] */ - private $panels = []; + /** @var IWidget[] */ + private $widgets = []; /** @var IServerContainer */ private $serverContainer; @@ -49,31 +49,31 @@ class Manager implements IManager { $this->serverContainer = $serverContainer; } - 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'); + private function registerWidget(IWidget $widget): void { + if (array_key_exists($widget->getId(), $this->widgets)) { + throw new InvalidArgumentException('Dashboard widget with this id has already been registered'); } - $this->panels[$panel->getId()] = $panel; + $this->widgets[$widget->getId()] = $widget; } - public function lazyRegisterPanel(string $panelClass): void { - $this->lazyPanels[] = $panelClass; + public function lazyRegisterWidget(string $widgetClass): void { + $this->lazyWidgets[] = $widgetClass; } public function loadLazyPanels(): void { - $classes = $this->lazyPanels; + $classes = $this->lazyWidgets; foreach ($classes as $class) { try { - /** @var IPanel $panel */ - $panel = $this->serverContainer->query($class); + /** @var IWidget $widget */ + $widget = $this->serverContainer->query($class); } catch (QueryException $e) { /* * There is a circular dependency between the logger and the registry, so * we can not inject it. Thus the static call. */ \OC::$server->getLogger()->logException($e, [ - 'message' => 'Could not load lazy dashbaord panel: ' . $e->getMessage(), + 'message' => 'Could not load lazy dashbaord widget: ' . $e->getMessage(), 'level' => ILogger::FATAL, ]); } @@ -82,32 +82,32 @@ class Manager implements IManager { * type, so we might get a TypeError here that we should catch. */ try { - $this->registerPanel($panel); + $this->registerWidget($widget); } catch (Throwable $e) { /* * There is a circular dependency between the logger and the registry, so * we can not inject it. Thus the static call. */ \OC::$server->getLogger()->logException($e, [ - 'message' => 'Could not register lazy dashboard panel: ' . $e->getMessage(), + 'message' => 'Could not register lazy dashboard widget: ' . $e->getMessage(), 'level' => ILogger::FATAL, ]); } try { - $panel->load(); + $widget->load(); } catch (Throwable $e) { \OC::$server->getLogger()->logException($e, [ - 'message' => 'Error during dashboard panel loading: ' . $e->getMessage(), + 'message' => 'Error during dashboard widget loading: ' . $e->getMessage(), 'level' => ILogger::FATAL, ]); } } - $this->lazyPanels = []; + $this->lazyWidgets = []; } - public function getPanels(): array { + public function getWidgets(): array { $this->loadLazyPanels(); - return $this->panels; + return $this->widgets; } } diff --git a/lib/public/AppFramework/Bootstrap/IRegistrationContext.php b/lib/public/AppFramework/Bootstrap/IRegistrationContext.php index 94e3aed17e..0acf0c038b 100644 --- a/lib/public/AppFramework/Bootstrap/IRegistrationContext.php +++ b/lib/public/AppFramework/Bootstrap/IRegistrationContext.php @@ -59,11 +59,11 @@ interface IRegistrationContext { * Register an implementation of \OCP\Dashboard\IPanel that * will handle the implementation of a dashboard panel * - * @param string $panelClass + * @param string $widgetClass * @return void * @since 20.0.0 */ - public function registerDashboardPanel(string $panelClass): void; + public function registerDashboardWidget(string $widgetClass): void; /** * Register a service * diff --git a/lib/public/Dashboard/IManager.php b/lib/public/Dashboard/IManager.php index 985c8c7838..81b1bb0dff 100644 --- a/lib/public/Dashboard/IManager.php +++ b/lib/public/Dashboard/IManager.php @@ -35,15 +35,15 @@ namespace OCP\Dashboard; interface IManager { /** - * @param string $panelClass + * @param string $widgetClass * @since 20.0.0 */ - public function lazyRegisterPanel(string $panelClass): void; + public function lazyRegisterWidget(string $widgetClass): void; /** * @since 20.0.0 * - * @return IPanel[] + * @return IWidget[] */ - public function getPanels(): array; + public function getWidgets(): array; } diff --git a/lib/public/Dashboard/IPanel.php b/lib/public/Dashboard/IWidget.php similarity index 79% rename from lib/public/Dashboard/IPanel.php rename to lib/public/Dashboard/IWidget.php index 59d88f7a7e..42e2c7df5b 100644 --- a/lib/public/Dashboard/IPanel.php +++ b/lib/public/Dashboard/IWidget.php @@ -27,33 +27,33 @@ declare(strict_types=1); namespace OCP\Dashboard; /** - * Interface IPanel + * Interface IWidget * * @package OCP\Dashboard * @since 20.0.0 */ -interface IPanel { +interface IWidget { /** - * @return string Unique id that identifies the panel, e.g. the app id + * @return string Unique id that identifies the widget, e.g. the app id * @since 20.0.0 */ public function getId(): string; /** - * @return string User facing title of the panel + * @return string User facing title of the widget * @since 20.0.0 */ public function getTitle(): string; /** - * @return int Initial order for panel sorting + * @return int Initial order for widget sorting * @since 20.0.0 */ public function getOrder(): int; /** - * @return string css class that displays an icon next to the panel title + * @return string css class that displays an icon next to the widget title * @since 20.0.0 */ public function getIconClass(): string; @@ -65,7 +65,7 @@ interface IPanel { public function getUrl(): ?string; /** - * Execute panel bootstrap code like loading scripts and providing initial state + * Execute widget bootstrap code like loading scripts and providing initial state * @since 20.0.0 */ public function load(): void; diff --git a/lib/public/Dashboard/RegisterPanelEvent.php b/lib/public/Dashboard/RegisterWidgetEvent.php similarity index 91% rename from lib/public/Dashboard/RegisterPanelEvent.php rename to lib/public/Dashboard/RegisterWidgetEvent.php index 2bd157127f..0267a9e0d3 100644 --- a/lib/public/Dashboard/RegisterPanelEvent.php +++ b/lib/public/Dashboard/RegisterWidgetEvent.php @@ -40,7 +40,7 @@ use OCP\EventDispatcher\Event; * @since 20.0.0 * @deprecated 20.0.0 */ -class RegisterPanelEvent extends Event { +class RegisterWidgetEvent extends Event { private $manager; public function __construct(IManager $manager) { @@ -53,7 +53,7 @@ class RegisterPanelEvent extends Event { * @param string $panelClass * @since 20.0.0 */ - public function registerPanel(string $panelClass) { - $this->manager->lazyRegisterPanel($panelClass); + public function registerWidget(string $panelClass) { + $this->manager->lazyRegisterWidget($panelClass); } }