mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 04:50:36 +03:00
Add Command key detection logic for Mac
This commit is contained in:
parent
cfd886e107
commit
291ded8286
|
@ -17,10 +17,11 @@ function Navigation() {
|
|||
const router = useConceptNavigation();
|
||||
const { noNavigationAnimation } = useConceptOptions();
|
||||
|
||||
const navigateHome = (event: CProps.EventMouse) => router.push(urls.home, event.ctrlKey);
|
||||
const navigateLibrary = (event: CProps.EventMouse) => router.push(urls.library, event.ctrlKey);
|
||||
const navigateHelp = (event: CProps.EventMouse) => router.push(urls.manuals, event.ctrlKey);
|
||||
const navigateCreateNew = (event: CProps.EventMouse) => router.push(urls.create_schema, event.ctrlKey);
|
||||
const navigateHome = (event: CProps.EventMouse) => router.push(urls.home, event.ctrlKey || event.metaKey);
|
||||
const navigateLibrary = (event: CProps.EventMouse) => router.push(urls.library, event.ctrlKey || event.metaKey);
|
||||
const navigateHelp = (event: CProps.EventMouse) => router.push(urls.manuals, event.ctrlKey || event.metaKey);
|
||||
const navigateCreateNew = (event: CProps.EventMouse) =>
|
||||
router.push(urls.create_schema, event.ctrlKey || event.metaKey);
|
||||
|
||||
return (
|
||||
<nav
|
||||
|
|
|
@ -30,7 +30,7 @@ function UserDropdown({ isOpen, hideDropdown }: UserDropdownProps) {
|
|||
|
||||
function navigateProfile(event: CProps.EventMouse) {
|
||||
hideDropdown();
|
||||
router.push(urls.profile, event.ctrlKey);
|
||||
router.push(urls.profile, event.ctrlKey || event.metaKey);
|
||||
}
|
||||
|
||||
function logoutAndRedirect() {
|
||||
|
|
|
@ -106,7 +106,7 @@ const RSInput = forwardRef<ReactCodeMirrorRef, RSInputProps>(
|
|||
return;
|
||||
}
|
||||
const text = new RSTextWrapper(thisRef.current as Required<ReactCodeMirrorRef>);
|
||||
if (event.ctrlKey && event.code === 'Space') {
|
||||
if ((event.ctrlKey || event.metaKey) && event.code === 'Space') {
|
||||
const selection = text.getSelection();
|
||||
if (!selection.empty || !schema) {
|
||||
return;
|
||||
|
@ -126,14 +126,14 @@ const RSInput = forwardRef<ReactCodeMirrorRef, RSInputProps>(
|
|||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
} else if (!event.ctrlKey) {
|
||||
} else if (!(event.ctrlKey || event.metaKey)) {
|
||||
const newSymbol = getSymbolSubstitute(event.code, event.shiftKey);
|
||||
if (newSymbol) {
|
||||
text.replaceWith(newSymbol);
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
}
|
||||
} else if (event.ctrlKey && event.code === 'KeyQ' && onAnalyze) {
|
||||
} else if (event.code === 'KeyQ' && onAnalyze) {
|
||||
onAnalyze();
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
|
|
@ -139,7 +139,7 @@ const RefsInput = forwardRef<ReactCodeMirrorRef, RefsInputInputProps>(
|
|||
event.preventDefault();
|
||||
return;
|
||||
}
|
||||
if (event.ctrlKey && event.code === 'Space') {
|
||||
if ((event.ctrlKey || event.metaKey) && event.code === 'Space') {
|
||||
const wrap = new CodeMirrorWrapper(thisRef.current as Required<ReactCodeMirrorRef>);
|
||||
wrap.fixSelection(ReferenceTokens);
|
||||
const nodes = wrap.getEnvelopingNodes(ReferenceTokens);
|
||||
|
|
|
@ -36,7 +36,7 @@ function ViewLibrary({ items, resetQuery }: ViewLibraryProps) {
|
|||
const [itemsPerPage, setItemsPerPage] = useLocalStorage<number>(storage.libraryPagination, 50);
|
||||
|
||||
function handleOpenItem(item: ILibraryItem, event: CProps.EventMouse) {
|
||||
router.push(urls.schema(item.id), event.ctrlKey);
|
||||
router.push(urls.schema(item.id), event.ctrlKey || event.metaKey);
|
||||
}
|
||||
|
||||
const windowSize = useWindowSize();
|
||||
|
|
|
@ -42,7 +42,7 @@ function EditorConstituenta({ activeCst, isModified, setIsModified, onOpenEdit }
|
|||
if (disabled) {
|
||||
return;
|
||||
}
|
||||
if (event.ctrlKey && event.code === 'KeyS') {
|
||||
if ((event.ctrlKey || event.metaKey) && event.code === 'KeyS') {
|
||||
if (isModified) {
|
||||
initiateSubmit();
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ function EditorRSForm({ isModified, onDestroy, setIsModified }: EditorRSFormProp
|
|||
}
|
||||
|
||||
function handleInput(event: React.KeyboardEvent<HTMLDivElement>) {
|
||||
if (event.ctrlKey && event.code === 'KeyS') {
|
||||
if ((event.ctrlKey || event.metaKey) && event.code === 'KeyS') {
|
||||
if (isModified) {
|
||||
initiateSubmit();
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@ function TermGraph({
|
|||
|
||||
const handleNodeClick = useCallback(
|
||||
(node: GraphNode, _?: CollapseProps, event?: GraphMouseEvent) => {
|
||||
if (event?.ctrlKey) {
|
||||
if (event?.ctrlKey || event?.metaKey) {
|
||||
onSelectCentral(Number(node.id));
|
||||
} else if (selections.includes(node.id)) {
|
||||
onDeselect(Number(node.id));
|
||||
|
|
|
@ -37,7 +37,7 @@ function ViewHidden({ items, selected, toggleSelection, setFocus, schema, colori
|
|||
|
||||
const handleClick = useCallback(
|
||||
(cstID: ConstituentaID, event: CProps.EventMouse) => {
|
||||
if (event.ctrlKey) {
|
||||
if (event.ctrlKey || event.metaKey) {
|
||||
setFocus(cstID);
|
||||
} else {
|
||||
toggleSelection(cstID);
|
||||
|
|
|
@ -268,7 +268,7 @@ function RSTabsMenu({ onDestroy }: RSTabsMenuProps) {
|
|||
hideTitle={accessMenu.isOpen}
|
||||
className='h-full px-2'
|
||||
icon={<IconArchive size='1.25rem' className='icon-primary' />}
|
||||
onClick={event => controller.viewVersion(undefined, event.ctrlKey)}
|
||||
onClick={event => controller.viewVersion(undefined, event.ctrlKey || event.metaKey)}
|
||||
/>
|
||||
) : null}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user