SpeciesFileGroup/taxonworks

View on GitHub
app/javascript/vue/composables/useWindowSize.js

Summary

Maintainability
A
0 mins
Test Coverage
import { onMounted, onUnmounted, reactive, toRefs } from 'vue'

export function useWindowSize () {
  const windowSize = reactive({ width: 0, height: 0 })
  const resizeListener = () => {
    ({ innerWidth: windowSize.width, innerHeight: windowSize.height } = window)
  }

  onMounted(() => window.addEventListener('resize', resizeListener))
  onUnmounted(() => window.removeEventListener('resize', resizeListener))
  resizeListener()

  return toRefs(windowSize)
}