Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
5 stevensc 1
const jsonToParams = (data = {}) => {
2
  if (!data) {
3
    return false
4
  }
5
  const formBody = []
6
 
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
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 camalize = function camalize(str) {
41
  return str
42
    .toLowerCase()
43
    .replace(/[^a-zA-Z0-9]+(.)/g, (m, chr) => chr.toUpperCase())
44
}
45
 
46
const scrollToBottom = (element) => {
47
  if (!element.current) {
48
    return false
49
  }
50
 
51
  element.scrollTop = element.scrollHeight * 9
52
}
53
 
1670 stevensc 54
function arrayDiff({ ref = [], newValue = [] }) {
55
  const set = new Set(arr1.map((obj) => JSON.stringify(obj)))
56
  const difference = arr2.filter((obj) => !set.has(JSON.stringify(obj)))
57
  return difference
1668 stevensc 58
}
59
 
60
export {
61
  jsonToParams,
62
  debounce,
63
  scrollToBottom,
64
  filterItems,
65
  camalize,
66
  arrayDiff
67
}