Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6694 | | 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
 
6865 stevensc 40
const camalize = function camalize(str) {
41
  return str
42
    .toLowerCase()
43
    .replace(/[^a-zA-Z0-9]+(.)/g, (m, chr) => chr.toUpperCase())
44
}
45
 
6493 stevensc 46
const scrollToBottom = (element) => {
47
  if (!element.current) {
48
    return false
49
  }
50
 
51
  element.scrollTop = element.scrollHeight * 9
52
}
53
 
6865 stevensc 54
export { jsonToParams, debounce, scrollToBottom, filterItems, camalize }