Browse Source
			
			
			fix!: Remove deprecated `RegisterWidgetEvent`
			
				
		fix!: Remove deprecated `RegisterWidgetEvent`
	
		
	
			
				Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>pull/43439/head
				
				  
				  No known key found for this signature in database
				  
				  	
						GPG Key ID: 45FAE7268762B400
				  	
				  
				
			
		
		
		
	
				 8 changed files with 60 additions and 75 deletions
			
			
		- 
					3apps/dashboard/lib/Controller/DashboardController.php
- 
					1apps/weather_status/composer/composer/autoload_classmap.php
- 
					1apps/weather_status/composer/composer/autoload_static.php
- 
					12apps/weather_status/lib/AppInfo/Application.php
- 
					55apps/weather_status/lib/Listeners/BeforeTemplateRenderedListener.php
- 
					1lib/composer/composer/autoload_classmap.php
- 
					1lib/composer/composer/autoload_static.php
- 
					61lib/public/Dashboard/RegisterWidgetEvent.php
| @ -0,0 +1,55 @@ | |||
| <?php | |||
| 
 | |||
| declare(strict_types=1); | |||
| 
 | |||
| /** | |||
|  * @copyright Copyright (c) 2024 Ferdinand Thiessen <opensource@fthiessen.de> | |||
|  * | |||
|  * @author Ferdinand Thiessen <opensource@fthiessen.de> | |||
|  * | |||
|  * @license AGPL-3.0-or-later | |||
|  * | |||
|  * This program is free software: you can redistribute it and/or modify | |||
|  * it under the terms of the GNU Affero General Public License as | |||
|  * published by the Free Software Foundation, either version 3 of the | |||
|  * License, or (at your option) any later version. | |||
|  * | |||
|  * This program is distributed in the hope that it will be useful, | |||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|  * GNU Affero General Public License for more details. | |||
|  * | |||
|  * You should have received a copy of the GNU Affero General Public License | |||
|  * along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
|  * | |||
|  */ | |||
| 
 | |||
| namespace OCA\WeatherStatus\Listeners; | |||
| 
 | |||
| use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; | |||
| use OCP\EventDispatcher\Event; | |||
| use OCP\EventDispatcher\IEventListener; | |||
| use OCP\Util; | |||
| 
 | |||
| /** | |||
|  * @template-implements IEventListener<BeforeTemplateRenderedEvent> | |||
|  */ | |||
| class BeforeTemplateRenderedListener implements IEventListener { | |||
| 
 | |||
| 	/** | |||
| 	 * Inject our status widget script when the dashboard is loaded | |||
| 	 * We need to do it like this because there is currently no PHP API for registering "status widgets" | |||
| 	 */ | |||
| 	public function handle(Event $event): void { | |||
| 		if (!($event instanceof BeforeTemplateRenderedEvent)) { | |||
| 			return; | |||
| 		} | |||
| 
 | |||
| 		// Only handle the dashboard
 | |||
| 		if ($event->getResponse()->getApp() !== 'dashboard') { | |||
| 			return; | |||
| 		} | |||
| 
 | |||
| 		Util::addScript('weather_status', 'weather-status'); | |||
| 	} | |||
| } | |||
| @ -1,61 +0,0 @@ | |||
| <?php | |||
| 
 | |||
| declare(strict_types=1); | |||
| 
 | |||
| /** | |||
|  * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net> | |||
|  * | |||
|  * @author Julius Härtl <jus@bitgrid.net> | |||
|  * | |||
|  * @license GNU AGPL version 3 or any later version | |||
|  * | |||
|  * This program is free software: you can redistribute it and/or modify | |||
|  * it under the terms of the GNU Affero General Public License as | |||
|  * published by the Free Software Foundation, either version 3 of the | |||
|  * License, or (at your option) any later version. | |||
|  * | |||
|  * This program is distributed in the hope that it will be useful, | |||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
|  * GNU Affero General Public License for more details. | |||
|  * | |||
|  * You should have received a copy of the GNU Affero General Public License | |||
|  * along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
|  * | |||
|  */ | |||
| namespace OCP\Dashboard; | |||
| 
 | |||
| use OCP\EventDispatcher\Event; | |||
| 
 | |||
| /** | |||
|  * 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 | |||
|  * they are needed. Deprecated right away so we can drop it again after 19 is EOL | |||
|  * and backward compatible apps can use OCP\AppFramework\Bootstrap\IBootstrap | |||
|  * | |||
|  * @since 20.0.0 | |||
|  * @deprecated 20.0.0 | |||
|  */ | |||
| class RegisterWidgetEvent extends Event { | |||
| 	private $manager; | |||
| 
 | |||
| 	/** | |||
| 	 * @param IManager $manager | |||
| 	 * @since 20.0.0 | |||
| 	 */ | |||
| 	public function __construct(IManager $manager) { | |||
| 		parent::__construct(); | |||
| 
 | |||
| 		$this->manager = $manager; | |||
| 	} | |||
| 
 | |||
| 	/** | |||
| 	 * @param string $panelClass | |||
| 	 * @since 20.0.0 | |||
| 	 */ | |||
| 	public function registerWidget(string $panelClass) { | |||
| 		$this->manager->lazyRegisterWidget($panelClass); | |||
| 	} | |||
| } | |||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue