diff options
author | Vinicius Reis <vinicius.reis@nextcloud.com> | 2022-07-29 18:34:46 +0300 |
---|---|---|
committer | Vinicius Reis (Rebase PR Action) <luiz.vinicius73@gmail.com> | 2022-08-01 14:56:13 +0300 |
commit | c1e9821002bb332c5ffd4c84a37501a25ccf8994 (patch) | |
tree | a6a86166de1193fb978c1e9a32f887e9d776b264 /src/components/Menu/utils.js | |
parent | 6b6af3cacd4f480b2aa0fa837e0fb3854a04461f (diff) |
♿️ (#2735): add aria-keyshortcuts to menu entries
Signed-off-by: Vinicius Reis <vinicius.reis@nextcloud.com>
Diffstat (limited to 'src/components/Menu/utils.js')
-rw-r--r-- | src/components/Menu/utils.js | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/components/Menu/utils.js b/src/components/Menu/utils.js index 6b23db0e7..5ac04c7d5 100644 --- a/src/components/Menu/utils.js +++ b/src/components/Menu/utils.js @@ -20,11 +20,10 @@ * */ -const translations = { - ctrl: t('text', 'Ctrl'), - alt: t('text', 'Alt'), - shift: t('text', 'Shift'), -} +import { + TRANSLATIONS, + MODIFIERS, +} from './keys.js' const getEntryClasses = (actionEntry, isActive) => { return { @@ -34,13 +33,19 @@ const getEntryClasses = (actionEntry, isActive) => { } const keysString = (keyChar, modifiers = []) => { - return Object.entries(translations) - .filter(([k, v]) => modifiers.includes(k)) - .map(([k, v]) => v) + return modifiers + .map(mod => TRANSLATIONS[mod]) .concat(keyChar.toUpperCase()) .join('+') } +const getKeyshortcuts = ({ keyChar, keyModifiers = [] }) => { + return keyModifiers + .map(mod => MODIFIERS[mod]) + .concat(keyChar) + .join('+') +} + const getKeys = (isMobile, { keyChar, keyModifiers }) => { return (!isMobile && keyChar) ? `(${keysString(keyChar, keyModifiers)})` @@ -78,6 +83,7 @@ export { isDisabled, getIsActive, getKeys, + getKeyshortcuts, getEntryClasses, getActionState, } |