Proyectos de Subversion LeadersLinked - Backend

Rev

Rev 11427 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
15767 stevensc 1
import React from "react";
11427 nelberth 2
const jsonToParams = (data = {}) => {
15767 stevensc 3
  if (!data) return false;
4
  else {
5
    let formBody = [];
6
    for (let property in data) {
7
      let encodedKey = encodeURIComponent(property);
8
      //@ts-ignore
9
      let encodedValue = encodeURIComponent(data[property]);
10
      formBody.push(encodedKey + "=" + encodedValue);
11427 nelberth 11
    }
15767 stevensc 12
    const _formBody = formBody.join("&");
13
    return _formBody;
14
  }
15
};
16
 
17
const debounce = (func, timeout = 300) => {
18
  let timer;
19
  return (...args) => {
20
    clearTimeout(timer);
21
    timer = setTimeout(() => {
22
      func.apply(this, args);
23
    }, timeout);
24
  };
25
};
26
 
11427 nelberth 27
const useWindowSize = () => {
15767 stevensc 28
  const [size, setSize] = React.useState([0, 0]);
29
  React.useLayoutEffect(() => {
30
    function updateSize() {
31
      setSize([window.innerWidth, window.innerHeight]);
32
    }
33
    window.addEventListener("resize", updateSize);
34
    updateSize();
35
    return () => window.removeEventListener("resize", updateSize);
36
  }, []);
37
  return size;
38
};
39
export { useWindowSize, jsonToParams, debounce };