plugin.js 778 Bytes
export default (store) => {
  setTimeout(() => {
    if (process.env.VUE_ENV !== 'server') {
      window.onresize = () => {
        const {clientWidth, clientHeight} = document.body;

        store.commit('SET_WINDOW_SIZE', {clientWidth, clientHeight});
      };
      const {clientWidth, clientHeight} = document.body;

      store.commit('SET_WINDOW_SIZE', {clientWidth, clientHeight});
      let supportsPassive = false;

      try {
        const opts = Object.defineProperty({}, 'passive', {
          get() {
            supportsPassive = true;
            return true;
          }
        });

        window.addEventListener('test', null, opts);
      } catch (e) {} //eslint-disable-line
      store.commit('SET_SUPPORT_PASSIVE', {supportsPassive});
    }
  }, 0);
};