summaryrefslogtreecommitdiff
path: root/spec/frontend/issuable/helpers.js
blob: 632d69c2c88b5558d2a4d037bd6c454a006fc02b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
export function getSaveableFormChildren(form, exclude = ['input.js-toggle-draft']) {
  const children = Array.from(form.children);
  const saveable = children.filter((e) => {
    const isFiltered = exclude.reduce(
      ({ isFiltered: filtered, element }, selector) => {
        return {
          isFiltered: filtered || element.matches(selector),
          element,
        };
      },
      { isFiltered: false, element: e },
    );

    return !isFiltered.isFiltered;
  });

  return saveable;
}