vikunja-frontend/src/directives/focus.ts

16 lines
543 B
TypeScript

import type {Directive} from 'vue'
const focus = <Directive<HTMLElement,string>>{
// When the bound element is inserted into the DOM...
mounted(el, {modifiers}) {
// Focus the element only if the viewport is big enough
// auto focusing elements on mobile can be annoying since in these cases the
// keyboard always pops up and takes half of the available space on the screen.
// The threshhold is the same as the breakpoints in css.
if (window.innerWidth > 769 || modifiers?.always) {
el.focus()
}
},
}
export default focus