Rename key to path in actions and reducers for settings (tootsuite pr #6105)

signup-info-prompt
cwm 2018-01-09 09:48:14 -06:00
parent 7f4374d97d
commit 6d1c325167
7 changed files with 15 additions and 15 deletions

View File

@ -15,9 +15,9 @@ export {
register,
};
export function changeAlerts(key, value) {
export function changeAlerts(path, value) {
return dispatch => {
dispatch(setAlerts(key, value));
dispatch(setAlerts(path, value));
dispatch(saveSettings());
};
}

View File

@ -23,11 +23,11 @@ export function clearSubscription () {
};
}
export function setAlerts (key, value) {
export function setAlerts (path, value) {
return dispatch => {
dispatch({
type: SET_ALERTS,
key,
path,
value,
});
};

View File

@ -4,11 +4,11 @@ import { debounce } from 'lodash';
export const SETTING_CHANGE = 'SETTING_CHANGE';
export const SETTING_SAVE = 'SETTING_SAVE';
export function changeSetting(key, value) {
export function changeSetting(path, value) {
return dispatch => {
dispatch({
type: SETTING_CHANGE,
key,
path,
value,
});
@ -21,7 +21,7 @@ const debouncedSave = debounce((dispatch, getState) => {
return;
}
const data = getState().get('settings').filter((_, key) => key !== 'saved').toJS();
const data = getState().get('settings').filter((_, path) => path !== 'saved').toJS();
axios.put('/api/web/settings', { data }).then(() => dispatch({ type: SETTING_SAVE }));
}, 5000, { trailing: true });

View File

@ -14,8 +14,8 @@ export default class ColumnSettings extends React.PureComponent {
onClear: PropTypes.func.isRequired,
};
onPushChange = (key, checked) => {
this.props.onChange(['push', ...key], checked);
onPushChange = (path, checked) => {
this.props.onChange(['push', ...path], checked);
}
render () {

View File

@ -18,11 +18,11 @@ const mapStateToProps = state => ({
const mapDispatchToProps = (dispatch, { intl }) => ({
onChange (key, checked) {
if (key[0] === 'push') {
dispatch(changePushNotifications(key.slice(1), checked));
onChange (path, checked) {
if (path[0] === 'push') {
dispatch(changePushNotifications(path.slice(1), checked));
} else {
dispatch(changeSetting(['notifications', ...key], checked));
dispatch(changeSetting(['notifications', ...path], checked));
}
},

View File

@ -44,7 +44,7 @@ export default function push_subscriptions(state = initialState, action) {
case CLEAR_SUBSCRIPTION:
return initialState;
case SET_ALERTS:
return state.setIn(action.key, action.value);
return state.setIn(action.path, action.value);
default:
return state;
}

View File

@ -101,7 +101,7 @@ export default function settings(state = initialState, action) {
return hydrate(state, action.state.get('settings'));
case SETTING_CHANGE:
return state
.setIn(action.key, action.value)
.setIn(action.path, action.value)
.set('saved', false);
case COLUMN_ADD:
return state