2016-06-22 19:58:23 +00:00
|
|
|
import * as ActionTypes from '../../../constants';
|
2016-08-05 01:43:13 +00:00
|
|
|
import axios from 'axios';
|
2016-06-22 19:58:23 +00:00
|
|
|
|
2016-08-05 01:43:13 +00:00
|
|
|
const ROOT_URL = location.href.indexOf('localhost') > 0 ? 'http://localhost:8000/api' : '/api';
|
|
|
|
|
|
|
|
function updatePreferences(formParams, dispatch) {
|
|
|
|
axios.put(`${ROOT_URL}/preferences`, formParams, { withCredentials: true })
|
|
|
|
.then(() => {
|
|
|
|
})
|
|
|
|
.catch((response) => dispatch({
|
|
|
|
type: ActionTypes.ERROR,
|
|
|
|
error: response.data
|
|
|
|
}));
|
|
|
|
}
|
2016-07-06 15:27:39 +00:00
|
|
|
|
2016-08-04 03:45:49 +00:00
|
|
|
export function setFontSize(value) {
|
2016-08-05 01:43:13 +00:00
|
|
|
return (dispatch, getState) => { // eslint-disable-line
|
|
|
|
dispatch({
|
|
|
|
type: ActionTypes.SET_FONT_SIZE,
|
|
|
|
value
|
|
|
|
});
|
|
|
|
const state = getState();
|
|
|
|
if (state.user.authenticated) {
|
|
|
|
const formParams = {
|
|
|
|
preferences: {
|
2016-08-09 22:45:59 +00:00
|
|
|
fontSize: value
|
2016-08-05 01:43:13 +00:00
|
|
|
}
|
|
|
|
};
|
|
|
|
updatePreferences(formParams, dispatch);
|
|
|
|
}
|
2016-07-11 00:13:37 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2016-08-04 03:45:49 +00:00
|
|
|
export function setIndentation(value) {
|
2016-08-05 01:43:13 +00:00
|
|
|
return (dispatch, getState) => {
|
|
|
|
dispatch({
|
|
|
|
type: ActionTypes.SET_INDENTATION,
|
|
|
|
value
|
|
|
|
});
|
|
|
|
const state = getState();
|
|
|
|
if (state.user.authenticated) {
|
|
|
|
const formParams = {
|
|
|
|
preferences: {
|
|
|
|
indentationAmount: value
|
|
|
|
}
|
|
|
|
};
|
|
|
|
updatePreferences(formParams, dispatch);
|
|
|
|
}
|
2016-07-11 00:13:37 +00:00
|
|
|
};
|
|
|
|
}
|
2016-07-11 02:52:48 +00:00
|
|
|
|
|
|
|
export function indentWithTab() {
|
2016-08-05 01:43:13 +00:00
|
|
|
return (dispatch, getState) => {
|
|
|
|
dispatch({
|
|
|
|
type: ActionTypes.INDENT_WITH_TAB
|
|
|
|
});
|
|
|
|
const state = getState();
|
|
|
|
if (state.user.authenticated) {
|
|
|
|
const formParams = {
|
|
|
|
preferences: {
|
|
|
|
isTabIndent: true
|
|
|
|
}
|
|
|
|
};
|
|
|
|
updatePreferences(formParams, dispatch);
|
|
|
|
}
|
2016-07-11 02:52:48 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function indentWithSpace() {
|
2016-08-05 01:43:13 +00:00
|
|
|
return (dispatch, getState) => {
|
|
|
|
dispatch({
|
|
|
|
type: ActionTypes.INDENT_WITH_SPACE
|
|
|
|
});
|
|
|
|
const state = getState();
|
|
|
|
if (state.user.authenticated) {
|
|
|
|
const formParams = {
|
|
|
|
preferences: {
|
|
|
|
isTabIndent: false
|
|
|
|
}
|
|
|
|
};
|
|
|
|
updatePreferences(formParams, dispatch);
|
|
|
|
}
|
2016-07-11 02:52:48 +00:00
|
|
|
};
|
|
|
|
}
|
2016-08-09 18:20:54 +00:00
|
|
|
|
|
|
|
export function setAutosave(value) {
|
2016-08-09 20:15:28 +00:00
|
|
|
return (dispatch, getState) => {
|
|
|
|
dispatch({
|
|
|
|
type: ActionTypes.SET_AUTOSAVE,
|
|
|
|
value
|
|
|
|
});
|
|
|
|
const state = getState();
|
|
|
|
if (state.user.authenticated) {
|
|
|
|
const formParams = {
|
|
|
|
preferences: {
|
|
|
|
autosave: value
|
|
|
|
}
|
|
|
|
};
|
|
|
|
updatePreferences(formParams, dispatch);
|
|
|
|
}
|
2016-08-09 18:20:54 +00:00
|
|
|
};
|
|
|
|
}
|
2016-08-11 18:09:59 +00:00
|
|
|
|
|
|
|
export function setLintWarning(value) {
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
dispatch({
|
|
|
|
type: ActionTypes.SET_LINT_WARNING,
|
|
|
|
value
|
|
|
|
});
|
|
|
|
const state = getState();
|
|
|
|
if (state.user.authenticated) {
|
|
|
|
const formParams = {
|
|
|
|
preferences: {
|
|
|
|
lintWarning: value
|
|
|
|
}
|
|
|
|
};
|
|
|
|
updatePreferences(formParams, dispatch);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
2016-08-12 19:50:33 +00:00
|
|
|
|
|
|
|
export function setTextOutput(value) {
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
dispatch({
|
|
|
|
type: ActionTypes.SET_TEXT_OUTPUT,
|
|
|
|
value
|
|
|
|
});
|
|
|
|
const state = getState();
|
|
|
|
if (state.user.authenticated) {
|
|
|
|
const formParams = {
|
|
|
|
preferences: {
|
|
|
|
textOutput: value
|
|
|
|
}
|
|
|
|
};
|
|
|
|
updatePreferences(formParams, dispatch);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
2016-09-13 18:15:46 +00:00
|
|
|
|
|
|
|
export function setTheme(value) {
|
2016-09-28 18:12:01 +00:00
|
|
|
// return {
|
|
|
|
// type: ActionTypes.SET_THEME,
|
|
|
|
// value
|
|
|
|
// };
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
dispatch({
|
|
|
|
type: ActionTypes.SET_THEME,
|
|
|
|
value
|
|
|
|
});
|
|
|
|
const state = getState();
|
|
|
|
if (state.user.authenticated) {
|
|
|
|
const formParams = {
|
|
|
|
preferences: {
|
|
|
|
theme: value
|
|
|
|
}
|
|
|
|
};
|
|
|
|
updatePreferences(formParams, dispatch);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
|
|
|
export function setAutorefresh(value) {
|
|
|
|
// return {
|
|
|
|
// type: ActionTypes.SET_AUTOREFRESH,
|
|
|
|
// value
|
|
|
|
// };
|
|
|
|
return (dispatch, getState) => {
|
|
|
|
dispatch({
|
|
|
|
type: ActionTypes.SET_AUTOREFRESH,
|
|
|
|
value
|
|
|
|
});
|
|
|
|
const state = getState();
|
|
|
|
if (state.user.authenticated) {
|
|
|
|
const formParams = {
|
|
|
|
preferences: {
|
|
|
|
autorefresh: value
|
|
|
|
}
|
|
|
|
};
|
|
|
|
updatePreferences(formParams, dispatch);
|
|
|
|
}
|
2016-09-13 18:15:46 +00:00
|
|
|
};
|
|
|
|
}
|
|
|
|
|