Rev 5248 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react'const jsonToParams = (data = {}) => {if (!data) {return false} else {const formBody = []for (const property in data) {const encodedKey = encodeURIComponent(property)// @ts-ignoreconst encodedValue = encodeURIComponent(data[property])formBody.push(encodedKey + '=' + encodedValue)}const _formBody = formBody.join('&')return _formBody}}const useWindowSize = () => {const [size, setSize] = React.useState([0, 0])React.useLayoutEffect(() => {function updateSize() {setSize([window.innerWidth, window.innerHeight])}window.addEventListener('resize', updateSize)updateSize()return () => window.removeEventListener('resize', updateSize)}, [])return size}const filterItems = (query = '', items = []) => {if (!query) {return items}return items.filter((conversation) =>conversation.name.toLowerCase().includes(query.toLowerCase()))}const debounce = (func, timeout = 300) => {let timerreturn (...args) => {clearTimeout(timer)timer = setTimeout(() => {func.apply(this, args)}, timeout)}}const scrollToBottom = (element) => {if (!element.current) {return false}element.scrollTop = element.scrollHeight * 9}export { useWindowSize, jsonToParams, debounce, scrollToBottom, filterItems }