p5.js-web-editor/client/modules/IDE/actions/ide.js
2019-10-31 17:27:23 -04:00

267 lines
4.8 KiB
JavaScript

import * as ActionTypes from '../../../constants';
import { clearConsole } from './console';
export function startVisualSketch() {
return {
type: ActionTypes.START_SKETCH
};
}
export function stopVisualSketch() {
return {
type: ActionTypes.STOP_SKETCH
};
}
export function startRefreshSketch() {
return {
type: ActionTypes.START_SKETCH_REFRESH
};
}
export function startSketchAndRefresh() {
return (dispatch) => {
dispatch(startVisualSketch());
dispatch(startRefreshSketch());
};
}
export function endSketchRefresh() {
return {
type: ActionTypes.END_SKETCH_REFRESH
};
}
export function startAccessibleOutput() {
return {
type: ActionTypes.START_ACCESSIBLE_OUTPUT
};
}
export function stopAccessibleOutput() {
return {
type: ActionTypes.STOP_ACCESSIBLE_OUTPUT
};
}
export function setSelectedFile(fileId) {
return {
type: ActionTypes.SET_SELECTED_FILE,
selectedFile: fileId
};
}
export function resetSelectedFile(previousId) {
return (dispatch, getState) => {
const state = getState();
const newId = state.files.find(file => file.name !== 'root' && file.id !== previousId).id;
dispatch({
type: ActionTypes.SET_SELECTED_FILE,
selectedFile: newId
});
};
}
export function newFile(parentId) {
return {
type: ActionTypes.SHOW_MODAL,
parentId
};
}
export function closeNewFileModal() {
return {
type: ActionTypes.HIDE_MODAL
};
}
export function expandSidebar() {
return {
type: ActionTypes.EXPAND_SIDEBAR
};
}
export function collapseSidebar() {
return {
type: ActionTypes.COLLAPSE_SIDEBAR
};
}
export function expandConsole() {
return {
type: ActionTypes.EXPAND_CONSOLE
};
}
export function collapseConsole() {
return {
type: ActionTypes.COLLAPSE_CONSOLE
};
}
export function openPreferences() {
return {
type: ActionTypes.OPEN_PREFERENCES
};
}
export function closePreferences() {
return {
type: ActionTypes.CLOSE_PREFERENCES
};
}
export function openProjectOptions() {
return {
type: ActionTypes.OPEN_PROJECT_OPTIONS
};
}
export function closeProjectOptions() {
return {
type: ActionTypes.CLOSE_PROJECT_OPTIONS
};
}
export function newFolder(parentId) {
return {
type: ActionTypes.SHOW_NEW_FOLDER_MODAL,
parentId
};
}
export function closeNewFolderModal() {
return {
type: ActionTypes.CLOSE_NEW_FOLDER_MODAL
};
}
export function showShareModal(projectId, projectName, ownerUsername) {
return (dispatch, getState) => {
const { project, user } = getState();
dispatch({
type: ActionTypes.SHOW_SHARE_MODAL,
payload: {
shareModalProjectId: projectId || project.id,
shareModalProjectName: projectName || project.name,
shareModalProjectUsername: ownerUsername || user.username
}
});
};
}
export function closeShareModal() {
return {
type: ActionTypes.CLOSE_SHARE_MODAL
};
}
export function showEditorOptions() {
return {
type: ActionTypes.SHOW_EDITOR_OPTIONS
};
}
export function closeEditorOptions() {
return {
type: ActionTypes.CLOSE_EDITOR_OPTIONS
};
}
export function showKeyboardShortcutModal() {
return {
type: ActionTypes.SHOW_KEYBOARD_SHORTCUT_MODAL
};
}
export function closeKeyboardShortcutModal() {
return {
type: ActionTypes.CLOSE_KEYBOARD_SHORTCUT_MODAL
};
}
export function setUnsavedChanges(value) {
return {
type: ActionTypes.SET_UNSAVED_CHANGES,
value
};
}
export function detectInfiniteLoops(message) {
return {
type: ActionTypes.DETECT_INFINITE_LOOPS,
message
};
}
export function resetInfiniteLoops() {
return {
type: ActionTypes.RESET_INFINITE_LOOPS
};
}
export function justOpenedProject() {
return {
type: ActionTypes.JUST_OPENED_PROJECT,
};
}
export function resetJustOpenedProject() {
return {
type: ActionTypes.RESET_JUST_OPENED_PROJECT
};
}
export function setPreviousPath(path) {
return {
type: ActionTypes.SET_PREVIOUS_PATH,
path
};
}
export function showErrorModal(modalType) {
return {
type: ActionTypes.SHOW_ERROR_MODAL,
modalType
};
}
export function hideErrorModal() {
return {
type: ActionTypes.HIDE_ERROR_MODAL
};
}
export function hideRuntimeErrorWarning() {
return {
type: ActionTypes.HIDE_RUNTIME_ERROR_WARNING
};
}
export function showRuntimeErrorWarning() {
return {
type: ActionTypes.SHOW_RUNTIME_ERROR_WARNING
};
}
export function startSketch() {
return (dispatch) => {
dispatch(clearConsole());
dispatch(startSketchAndRefresh());
};
}
export function startAccessibleSketch() {
return (dispatch) => {
dispatch(clearConsole());
dispatch(startAccessibleOutput());
dispatch(startSketchAndRefresh());
};
}
export function stopSketch() {
return (dispatch) => {
dispatch(stopAccessibleOutput());
dispatch(stopVisualSketch());
};
}