Skip to content

Commit ef3ad37

Browse files
authored
Improve System - Keyboard Shortcuts plugin code (#44855)
1 parent ff587b7 commit ef3ad37

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

plugins/system/shortcut/src/Extension/Shortcut.php

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010

1111
namespace Joomla\Plugin\System\Shortcut\Extension;
1212

13+
use Joomla\CMS\Event\Application\BeforeCompileHeadEvent;
1314
use Joomla\CMS\Event\GenericEvent;
1415
use Joomla\CMS\Language\Text;
1516
use Joomla\CMS\Plugin\CMSPlugin;
@@ -57,20 +58,23 @@ public static function getSubscribedEvents(): array
5758
/**
5859
* Add the javascript for the shortcuts
5960
*
61+
* @param BeforeCompileHeadEvent $event The event instance.
62+
*
6063
* @return void
6164
*
6265
* @since 4.2.0
6366
*/
64-
public function initialize()
67+
public function initialize(BeforeCompileHeadEvent $event): void
6568
{
66-
if (!$this->getApplication()->isClient('administrator')) {
69+
$app = $event->getApplication();
70+
if (!$app->isClient('administrator')) {
6771
return;
6872
}
6973

7074
// Load translations
7175
$this->loadLanguage();
7276

73-
$context = $this->getApplication()->getInput()->get('option') . '.' . $this->getApplication()->getInput()->get('view');
77+
$context = $app->getInput()->get('option') . '.' . $app->getInput()->get('view');
7478

7579
$shortcuts = [];
7680

@@ -92,7 +96,7 @@ public function initialize()
9296
Text::script('PLG_SYSTEM_SHORTCUT_THEN');
9397
Text::script('JCLOSE');
9498

95-
$document = $this->getApplication()->getDocument();
99+
$document = $app->getDocument();
96100
$wa = $document->getWebAssetManager();
97101
$wa->registerAndUseScript(
98102
'plg_system_shortcut.shortcut',
@@ -111,28 +115,29 @@ public function initialize()
111115
/**
112116
* Add default shortcuts to the document
113117
*
114-
* @param Event $event The event
118+
* @param Event $event The event instance.
115119
*
116120
* @return void
117121
*
118122
* @since 4.2.0
119123
*/
120-
public function addShortcuts(Event $event)
124+
public function addShortcuts(Event $event): void
121125
{
122126
$shortcuts = $event->getArgument('shortcuts', []);
123127

128+
$language = $this->getApplication()->getLanguage();
124129
$shortcuts = array_merge(
125130
$shortcuts,
126131
[
127-
'applyKey' => (object) ['selector' => 'joomla-toolbar-button .button-apply', 'shortcut' => 'A', 'title' => $this->getApplication()->getLanguage()->_('JAPPLY')],
128-
'saveKey' => (object) ['selector' => 'joomla-toolbar-button .button-save', 'shortcut' => 'S', 'title' => $this->getApplication()->getLanguage()->_('JTOOLBAR_SAVE')],
129-
'cancelKey' => (object) ['selector' => 'joomla-toolbar-button .button-cancel', 'shortcut' => 'Q', 'title' => $this->getApplication()->getLanguage()->_('JCANCEL')],
130-
'newKey' => (object) ['selector' => 'joomla-toolbar-button .button-new', 'shortcut' => 'N', 'title' => $this->getApplication()->getLanguage()->_('JTOOLBAR_NEW')],
131-
'searchKey' => (object) ['selector' => 'input[placeholder=' . $this->getApplication()->getLanguage()->_('JSEARCH_FILTER') . ']', 'shortcut' => 'F', 'title' => $this->getApplication()->getLanguage()->_('JSEARCH_FILTER')],
132-
'optionKey' => (object) ['selector' => 'joomla-toolbar-button .button-options', 'shortcut' => 'O', 'title' => $this->getApplication()->getLanguage()->_('JOPTIONS')],
133-
'helpKey' => (object) ['selector' => 'joomla-toolbar-button .button-help', 'shortcut' => 'H', 'title' => $this->getApplication()->getLanguage()->_('JHELP')],
134-
'toggleMenu' => (object) ['selector' => '#menu-collapse', 'shortcut' => 'M', 'title' => $this->getApplication()->getLanguage()->_('JTOGGLE_SIDEBAR_MENU')],
135-
'dashboard' => (object) ['selector' => (string) new Uri(Route::_('index.php?')), 'shortcut' => 'D', 'title' => $this->getApplication()->getLanguage()->_('JHOMEDASHBOARD')],
132+
'applyKey' => (object) ['selector' => 'joomla-toolbar-button .button-apply', 'shortcut' => 'A', 'title' => $language->_('JAPPLY')],
133+
'saveKey' => (object) ['selector' => 'joomla-toolbar-button .button-save', 'shortcut' => 'S', 'title' => $language->_('JTOOLBAR_SAVE')],
134+
'cancelKey' => (object) ['selector' => 'joomla-toolbar-button .button-cancel', 'shortcut' => 'Q', 'title' => $language->_('JCANCEL')],
135+
'newKey' => (object) ['selector' => 'joomla-toolbar-button .button-new', 'shortcut' => 'N', 'title' => $language->_('JTOOLBAR_NEW')],
136+
'searchKey' => (object) ['selector' => 'input[placeholder=' . $language->_('JSEARCH_FILTER') . ']', 'shortcut' => 'F', 'title' => $language->_('JSEARCH_FILTER')],
137+
'optionKey' => (object) ['selector' => 'joomla-toolbar-button .button-options', 'shortcut' => 'O', 'title' => $language->_('JOPTIONS')],
138+
'helpKey' => (object) ['selector' => 'joomla-toolbar-button .button-help', 'shortcut' => 'H', 'title' => $language->_('JHELP')],
139+
'toggleMenu' => (object) ['selector' => '#menu-collapse', 'shortcut' => 'M', 'title' => $language->_('JTOGGLE_SIDEBAR_MENU')],
140+
'dashboard' => (object) ['selector' => (string) new Uri(Route::_('index.php?')), 'shortcut' => 'D', 'title' => $language->_('JHOMEDASHBOARD')],
136141
]
137142
);
138143

0 commit comments

Comments
 (0)