| 1 |
import { useEffect } from '@wordpress/element'; |
| 2 |
|
| 3 |
export const useCmdEnterSave = (onSave, enabled = true) => { |
| 4 |
useEffect(() => { |
| 5 |
if (!enabled) return undefined; |
| 6 |
const handler = (e) => { |
| 7 |
if (e.key !== 'Enter') return; |
| 8 |
if (!(e.metaKey || e.ctrlKey)) return; |
| 9 |
e.preventDefault(); |
| 10 |
e.stopPropagation(); |
| 11 |
onSave?.(); |
| 12 |
}; |
| 13 |
window.addEventListener('keydown', handler, true); |
| 14 |
return () => window.removeEventListener('keydown', handler, true); |
| 15 |
}, [onSave, enabled]); |
| 16 |
}; |
| 17 |
|