|
|
|
@@ -16,7 +16,7 @@ import { |
|
|
|
useSelectionInteractions, |
|
|
|
useWorkflow, |
|
|
|
} from '../hooks' |
|
|
|
import { isEventTargetInputArea } from '../utils' |
|
|
|
import { getKeyboardKeyCodeBySystem, isEventTargetInputArea } from '../utils' |
|
|
|
import { useStore } from '../store' |
|
|
|
import AddBlock from './add-block' |
|
|
|
import TipPopup from './tip-popup' |
|
|
|
@@ -78,6 +78,11 @@ const Control = () => { |
|
|
|
handleLayout() |
|
|
|
} |
|
|
|
|
|
|
|
useKeyPress(`${getKeyboardKeyCodeBySystem('ctrl')}.o`, (e) => { |
|
|
|
e.preventDefault() |
|
|
|
goLayout() |
|
|
|
}, { exactMatch: true, useCapture: true }) |
|
|
|
|
|
|
|
const addNote = (e: MouseEvent<HTMLDivElement>) => { |
|
|
|
if (getNodesReadOnly()) |
|
|
|
return |
|
|
|
@@ -101,7 +106,7 @@ const Control = () => { |
|
|
|
</div> |
|
|
|
</TipPopup> |
|
|
|
<div className='mx-[3px] w-[1px] h-3.5 bg-gray-200'></div> |
|
|
|
<TipPopup title={t('workflow.common.pointerMode')}> |
|
|
|
<TipPopup title={t('workflow.common.pointerMode')} shortcuts={['v']}> |
|
|
|
<div |
|
|
|
className={cn( |
|
|
|
'flex items-center justify-center mr-[1px] w-8 h-8 rounded-lg cursor-pointer', |
|
|
|
@@ -113,7 +118,7 @@ const Control = () => { |
|
|
|
<RiCursorLine className='w-4 h-4' /> |
|
|
|
</div> |
|
|
|
</TipPopup> |
|
|
|
<TipPopup title={t('workflow.common.handMode')}> |
|
|
|
<TipPopup title={t('workflow.common.handMode')} shortcuts={['h']}> |
|
|
|
<div |
|
|
|
className={cn( |
|
|
|
'flex items-center justify-center w-8 h-8 rounded-lg cursor-pointer', |
|
|
|
@@ -126,7 +131,7 @@ const Control = () => { |
|
|
|
</div> |
|
|
|
</TipPopup> |
|
|
|
<div className='mx-[3px] w-[1px] h-3.5 bg-gray-200'></div> |
|
|
|
<TipPopup title={t('workflow.panel.organizeBlocks')}> |
|
|
|
<TipPopup title={t('workflow.panel.organizeBlocks')} shortcuts={['ctrl', 'o']}> |
|
|
|
<div |
|
|
|
className={cn( |
|
|
|
'flex items-center justify-center w-8 h-8 rounded-lg hover:bg-black/5 hover:text-gray-700 cursor-pointer', |