Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6493 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6493 stevensc 1
const jsonToParams = (data = {}) => {
2
  if (!data) {
3
    return false
4
  }
6694 stevensc 5
  const formBody = []
6493 stevensc 6
 
6694 stevensc 7
  for (const property in data) {
8
    const encodedKey = encodeURIComponent(property)
9
 
10
    // @ts-ignore
11
    const encodedValue = encodeURIComponent(data[property])
12
    formBody.push(encodedKey + '=' + encodedValue)
13
  }
14
 
15
  const _formBody = formBody.join('&')
16
 
17
  return _formBody
6493 stevensc 18
}
19
 
20
const filterItems = (query = '', items = []) => {
21
  if (!query) {
22
    return items
23
  }
24
 
25
  return items.filter((conversation) =>
26
    conversation.name.toLowerCase().includes(query.toLowerCase())
27
  )
28
}
29
 
30
const debounce = (func, timeout = 300) => {
31
  let timer
32
  return (...args) => {
33
    clearTimeout(timer)
34
    timer = setTimeout(() => {
35
      func.apply(this, args)
36
    }, timeout)
37
  }
38
}
39
 
40
const scrollToBottom = (element) => {
41
  if (!element.current) {
42
    return false
43
  }
44
 
45
  element.scrollTop = element.scrollHeight * 9
46
}
47
 
6694 stevensc 48
export { jsonToParams, debounce, scrollToBottom, filterItems }