summaryrefslogtreecommitdiffstats
path: root/devtools/client/debugger/src/reducers/quick-open.js
blob: 459e530e7be3fc531756ecaad440288f311e610a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at <http://mozilla.org/MPL/2.0/>. */

/**
 * Quick Open reducer
 * @module reducers/quick-open
 */

import { parseQuickOpenQuery } from "../utils/quick-open";

export const initialQuickOpenState = () => ({
  enabled: false,
  query: "",
  searchType: "sources",
});

export default function update(state = initialQuickOpenState(), action) {
  switch (action.type) {
    case "OPEN_QUICK_OPEN":
      if (action.query != null) {
        return {
          ...state,
          enabled: true,
          query: action.query,
          searchType: parseQuickOpenQuery(action.query),
        };
      }
      return { ...state, enabled: true };
    case "CLOSE_QUICK_OPEN":
      return initialQuickOpenState();
    case "SET_QUICK_OPEN_QUERY":
      return {
        ...state,
        query: action.query,
        searchType: parseQuickOpenQuery(action.query),
      };
    default:
      return state;
  }
}