2017-11-07 14:32:31 +01:00
|
|
|
/*
|
|
|
|
*
|
|
|
|
* EditPage reducer
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2017-11-07 16:33:15 +01:00
|
|
|
import { fromJS, List, Map } from 'immutable';
|
2017-11-07 14:32:31 +01:00
|
|
|
import {
|
2017-11-07 16:33:15 +01:00
|
|
|
ON_CANCEL,
|
|
|
|
ON_CHANGE_INPUT,
|
2017-11-07 14:32:31 +01:00
|
|
|
} from './constants';
|
|
|
|
|
2017-11-07 16:33:15 +01:00
|
|
|
const initialState = fromJS({
|
|
|
|
initialData: Map({
|
|
|
|
name: '',
|
|
|
|
description: '',
|
|
|
|
users: List([]),
|
|
|
|
}),
|
|
|
|
modifiedData: Map({
|
|
|
|
name: '',
|
|
|
|
description: '',
|
|
|
|
users: List([]),
|
|
|
|
}),
|
|
|
|
showButtons: false,
|
|
|
|
});
|
2017-11-07 14:32:31 +01:00
|
|
|
|
|
|
|
function editPageReducer(state = initialState, action) {
|
|
|
|
switch (action.type) {
|
2017-11-07 16:33:15 +01:00
|
|
|
case ON_CANCEL:
|
|
|
|
return state
|
|
|
|
.set('showButtons', false)
|
|
|
|
.set('modifiedData', state.get('initialData'));
|
|
|
|
case ON_CHANGE_INPUT:
|
|
|
|
return state
|
|
|
|
.set('showButtons', true)
|
|
|
|
.setIn(['modifiedData', action.key], action.value);
|
2017-11-07 14:32:31 +01:00
|
|
|
default:
|
|
|
|
return state;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export default editPageReducer;
|