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