mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-23 10:38:45 +02:00
N°3524 Add keyboard shortcuts to global actions
This commit is contained in:
@@ -21,6 +21,7 @@ namespace Combodo\iTop\Application\UI\Base\Component\GlobalSearch;
|
||||
|
||||
|
||||
use Combodo\iTop\Application\UI\Base\UIBlock;
|
||||
use iKeyboardShortcut;
|
||||
use MetaModel;
|
||||
use utils;
|
||||
|
||||
@@ -32,7 +33,7 @@ use utils;
|
||||
* @internal
|
||||
* @since 3.0.0
|
||||
*/
|
||||
class GlobalSearch extends UIBlock
|
||||
class GlobalSearch extends UIBlock implements iKeyboardShortcut
|
||||
{
|
||||
// Overloaded constants
|
||||
public const BLOCK_CODE = 'ibo-global-search';
|
||||
@@ -172,4 +173,14 @@ class GlobalSearch extends UIBlock
|
||||
{
|
||||
return $this->iMaxHistoryResults;
|
||||
}
|
||||
|
||||
public static function GetShortcutKeys(): array
|
||||
{
|
||||
return [['id' => 'ibo-open-global-search', 'label' => 'UI:Component:GlobalSearch:KeyboardShortcut:OpenDrawer', 'key' => 'g', 'event' => 'open_drawer']];
|
||||
}
|
||||
|
||||
public static function GetShortcutTriggeredElementSelector(): string
|
||||
{
|
||||
return "[data-role='".static::BLOCK_CODE."']";
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,7 @@ namespace Combodo\iTop\Application\UI\Base\Component\QuickCreate;
|
||||
|
||||
|
||||
use Combodo\iTop\Application\UI\Base\UIBlock;
|
||||
use iKeyboardShortcut;
|
||||
use MetaModel;
|
||||
use UserRights;
|
||||
use utils;
|
||||
@@ -33,7 +34,7 @@ use utils;
|
||||
* @internal
|
||||
* @since 3.0.0
|
||||
*/
|
||||
class QuickCreate extends UIBlock
|
||||
class QuickCreate extends UIBlock implements iKeyboardShortcut
|
||||
{
|
||||
// Overloaded constants
|
||||
public const BLOCK_CODE = 'ibo-quick-create';
|
||||
@@ -201,4 +202,14 @@ class QuickCreate extends UIBlock
|
||||
{
|
||||
return $this->iMaxHistoryResults;
|
||||
}
|
||||
|
||||
public static function GetShortcutKeys(): array
|
||||
{
|
||||
return [['id' => 'ibo-open-quick-create', 'label' => 'UI:Component:QuickCreate:KeyboardShortcut:OpenDrawer', 'key' => 'c', 'event' => 'open_drawer']];
|
||||
}
|
||||
|
||||
public static function GetShortcutTriggeredElementSelector(): string
|
||||
{
|
||||
return "[data-role='".static::BLOCK_CODE."']";
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,7 @@ use Combodo\iTop\Application\UI\Base\Component\PopoverMenu\PopoverMenu;
|
||||
use Combodo\iTop\Application\UI\Base\UIBlock;
|
||||
use DBObjectSearch;
|
||||
use Dict;
|
||||
use iKeyboardShortcut;
|
||||
use MetaModel;
|
||||
use UIExtKeyWidget;
|
||||
use UserRights;
|
||||
@@ -43,7 +44,7 @@ use utils;
|
||||
* @internal
|
||||
* @since 3.0.0
|
||||
*/
|
||||
class NavigationMenu extends UIBlock
|
||||
class NavigationMenu extends UIBlock implements iKeyboardShortcut
|
||||
{
|
||||
// Overloaded constants
|
||||
public const BLOCK_CODE = 'ibo-navigation-menu';
|
||||
@@ -444,4 +445,14 @@ JS;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public static function GetShortcutKeys(): array
|
||||
{
|
||||
return [['id' => 'ibo-open-menu-filter', 'label' => 'UI:Layout:NavigationMenu:KeyboardShortcut:FocusFilter', 'key'=> 'alt+m', 'event' => 'filter_shortcut']];
|
||||
}
|
||||
|
||||
public static function GetShortcutTriggeredElementSelector(): string
|
||||
{
|
||||
return "[data-role='".static::BLOCK_CODE."']";
|
||||
}
|
||||
}
|
||||
@@ -11,13 +11,15 @@ use cmdbAbstractObject;
|
||||
use Combodo\iTop\Application\UI\Base\Component\Panel\Panel;
|
||||
use Combodo\iTop\Application\UI\Helper\UIHelper;
|
||||
use DBObject;
|
||||
use iKeyboardShortcut;
|
||||
use MetaModel;
|
||||
|
||||
class ObjectDetails extends Panel
|
||||
class ObjectDetails extends Panel implements iKeyboardShortcut
|
||||
{
|
||||
// Overloaded constants
|
||||
public const BLOCK_CODE = 'ibo-object-details';
|
||||
public const DEFAULT_HTML_TEMPLATE_REL_PATH = 'base/layouts/object/object-details/layout';
|
||||
public const DEFAULT_JS_TEMPLATE_REL_PATH = 'base/layouts/object/object-details/layout';
|
||||
|
||||
/** @var string Class name of the object (eg. "UserRequest") */
|
||||
protected $sClassName;
|
||||
@@ -197,4 +199,17 @@ class ObjectDetails extends Panel
|
||||
$this->sStatusColor = UIHelper::GetColorFromStatus($this->sClassName, $this->sStatusCode);
|
||||
}
|
||||
}
|
||||
|
||||
public static function GetShortcutKeys(): array
|
||||
{
|
||||
return [['id' => 'ibo-edit-object', 'label' => 'UI:Layout:ObjectDetails:KeyboardShortcut:EditObject', 'key' => 'e', 'event' => 'edit_object'],
|
||||
['id' => 'ibo-delete-object', 'label' => 'UI:Layout:ObjectDetails:KeyboardShortcut:DeleteObject', 'key' => 'd', 'event' => 'delete_object'],
|
||||
['id' => 'ibo-new-object', 'label' => 'UI:Layout:ObjectDetails:KeyboardShortcut:NewObject', 'key' => 'n', 'event' => 'new_object'],
|
||||
['id' => 'ibo-save-object', 'label' => 'UI:Layout:ObjectDetails:KeyboardShortcut:SaveObject', 'key' => 's', 'event' => 'save_object']];
|
||||
}
|
||||
|
||||
public static function GetShortcutTriggeredElementSelector(): string
|
||||
{
|
||||
return "[data-role='".static::BLOCK_CODE."']";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user