From 6ef7fa8090715b9ceb4693b588c270dfc6a7769b Mon Sep 17 00:00:00 2001 From: Andrew Watkins Date: Fri, 10 Nov 2017 11:10:19 -0800 Subject: [PATCH] Add timeShift actions + spec to kapa queryConfig --- ui/spec/kapacitor/reducers/queryConfigSpec.js | 14 ++++++++++++++ ui/src/kapacitor/actions/queryConfigs.js | 8 ++++++++ ui/src/kapacitor/reducers/queryConfigs.js | 7 +++++++ 3 files changed, 29 insertions(+) diff --git a/ui/spec/kapacitor/reducers/queryConfigSpec.js b/ui/spec/kapacitor/reducers/queryConfigSpec.js index ea6d560c66..16a02a2abc 100644 --- a/ui/spec/kapacitor/reducers/queryConfigSpec.js +++ b/ui/spec/kapacitor/reducers/queryConfigSpec.js @@ -325,4 +325,18 @@ describe('Chronograf.Reducers.Kapacitor.queryConfigs', () => { expect(nextState[queryID].groupBy.time).to.equal(time) }) }) + + describe('KAPA_TIME_SHIFT', () => { + it('can shift the time', () => { + const initialState = { + [queryID]: buildInitialState(queryID), + } + + const shift = {quantity: 1, unit: 'd', duration: '1d'} + const action = timeShift(queryID, shift) + const nextState = reducer(initialState, action) + + expect(nextState[queryID].shift).to.deep.equal([shift]) + }) + }) }) diff --git a/ui/src/kapacitor/actions/queryConfigs.js b/ui/src/kapacitor/actions/queryConfigs.js index e579b31c35..ddffb4f9ed 100644 --- a/ui/src/kapacitor/actions/queryConfigs.js +++ b/ui/src/kapacitor/actions/queryConfigs.js @@ -69,3 +69,11 @@ export const removeFuncs = (queryID, fields) => ({ fields, }, }) + +export const timeShift = (queryID, shift) => ({ + type: 'KAPA_TIME_SHIFT', + payload: { + queryID, + shift, + }, +}) diff --git a/ui/src/kapacitor/reducers/queryConfigs.js b/ui/src/kapacitor/reducers/queryConfigs.js index 1de4284bfc..8435e7d2a5 100644 --- a/ui/src/kapacitor/reducers/queryConfigs.js +++ b/ui/src/kapacitor/reducers/queryConfigs.js @@ -125,6 +125,13 @@ const queryConfigs = (state = {}, action) => { // fields with no functions cannot have a group by time return {...state, [queryID]: nextQuery} } + + case 'KAPA_TIME_SHIFT': { + const {queryID, shift} = action.payload + const nextQuery = timeShift(state[queryID], shift) + + return {...state, [queryID]: nextQuery} + } } return state }