|
|
@ -8,6 +8,9 @@ import { |
|
|
|
REPORT_COMMENT_CHANGE, |
|
|
|
REPORT_FORWARD_CHANGE, |
|
|
|
} from 'flavours/glitch/actions/reports'; |
|
|
|
import { |
|
|
|
TIMELINE_DELETE, |
|
|
|
} from 'flavours/glitch/actions/timelines'; |
|
|
|
import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable'; |
|
|
|
|
|
|
|
const initialState = ImmutableMap({ |
|
|
@ -20,6 +23,14 @@ const initialState = ImmutableMap({ |
|
|
|
}), |
|
|
|
}); |
|
|
|
|
|
|
|
const deleteStatus = (state, id, references) => { |
|
|
|
references.forEach(ref => { |
|
|
|
state = deleteStatus(state, ref[0], []); |
|
|
|
}); |
|
|
|
|
|
|
|
return state.updateIn(['new', 'status_ids'], ImmutableSet(), set => set.remove(id)); |
|
|
|
}; |
|
|
|
|
|
|
|
export default function reports(state = initialState, action) { |
|
|
|
switch(action.type) { |
|
|
|
case REPORT_INIT: |
|
|
@ -58,6 +69,8 @@ export default function reports(state = initialState, action) { |
|
|
|
map.setIn(['new', 'comment'], ''); |
|
|
|
map.setIn(['new', 'isSubmitting'], false); |
|
|
|
}); |
|
|
|
case TIMELINE_DELETE: |
|
|
|
return deleteStatus(state, action.id, action.references); |
|
|
|
default: |
|
|
|
return state; |
|
|
|
} |
|
|
|