fleet/frontend/redux/nodes/components/QueryPages/reducer.js
Mike Stone 995d86e902 Get targets from API (#459)
* API client getTargets

* change label to display_text

* filters options

* send selected targets to server

* get targets when selected targets are added or removed

* show 0 unique hosts when no targets have been selected
2016-11-09 13:08:00 -05:00

43 lines
1,013 B
JavaScript

import {
defaultSelectedOsqueryTable,
SELECT_OSQUERY_TABLE,
SET_QUERY_TEXT,
SET_SELECTED_TARGETS,
SET_SELECTED_TARGETS_QUERY,
} from './actions';
export const initialState = {
queryText: 'SELECT * FROM users u JOIN groups g WHERE u.gid = g.gid',
selectedOsqueryTable: defaultSelectedOsqueryTable,
selectedTargets: [],
selectedTargetsQuery: '',
};
const reducer = (state = initialState, { type, payload }) => {
switch (type) {
case SELECT_OSQUERY_TABLE:
return {
...state,
selectedOsqueryTable: payload.selectedOsqueryTable,
};
case SET_QUERY_TEXT:
return {
...state,
queryText: payload.queryText,
};
case SET_SELECTED_TARGETS:
return {
...state,
selectedTargets: payload.selectedTargets,
};
case SET_SELECTED_TARGETS_QUERY:
return {
...state,
selectedTargetsQuery: payload.selectedTargetsQuery,
};
default:
return state;
}
};
export default reducer;