summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/boards/utils/query_data.js
blob: 65315979df7eba716c175ff3cae0625ce14ed0ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
export default (path, extraData) => path.split('&').reduce((dataParam, filterParam) => {
  if (filterParam === '') return dataParam;

  const data = dataParam;
  const paramSplit = filterParam.split('=');
  const paramKeyNormalized = paramSplit[0].replace('[]', '');
  const isArray = paramSplit[0].indexOf('[]');
  const value = decodeURIComponent(paramSplit[1].replace(/\+/g, ' '));

  if (isArray !== -1) {
    if (!data[paramKeyNormalized]) {
      data[paramKeyNormalized] = [];
    }

    data[paramKeyNormalized].push(value);
  } else {
    data[paramKeyNormalized] = value;
  }

  return data;
}, extraData);