Files
freeCodeCamp/common/app/routes/challenges/redux/actions.js

82 lines
2.4 KiB
JavaScript
Raw Normal View History

import { createAction } from 'redux-actions';
2016-05-13 20:36:54 -07:00
import { updateContents } from '../../../../utils/polyvinyl';
import { loggerToStr } from '../utils';
import types from './types';
// step
export const goToStep = createAction(types.goToStep);
2016-06-08 18:48:30 -07:00
export const completeAction = createAction(types.completeAction);
// challenges
2016-06-09 16:02:51 -07:00
export const fetchChallenge = createAction(
types.fetchChallenge,
(dashedName, block) => ({ dashedName, block })
);
export const fetchChallengeCompleted = createAction(
types.fetchChallengeCompleted,
(_, challenge) => challenge,
entities => ({ entities })
);
export const resetUi = createAction(types.resetUi);
export const fetchChallenges = createAction(types.fetchChallenges);
export const fetchChallengesCompleted = createAction(
types.fetchChallengesCompleted,
(_, superBlocks) => superBlocks,
entities => ({ entities })
);
export const updateCurrentChallenge = createAction(
types.updateCurrentChallenge
);
// map
export const updateFilter = createAction(
types.updateFilter,
e => e.target.value
);
export const clearFilter = createAction(types.clearFilter);
2016-05-11 18:38:08 -07:00
// files
2016-05-13 20:36:54 -07:00
export const updateFile = createAction(
types.updateFile,
(content, file) => updateContents(content, file)
);
2016-05-20 12:42:26 -07:00
2016-05-11 18:38:08 -07:00
export const updateFiles = createAction(types.updateFiles);
2016-05-20 12:42:26 -07:00
// rechallenge
export const executeChallenge = createAction(types.executeChallenge);
export const updateMain = createAction(types.updateMain);
2016-05-20 12:42:26 -07:00
export const frameMain = createAction(types.frameMain);
export const frameTests = createAction(types.frameTests);
export const runTests = createAction(types.runTests);
export const updateTests = createAction(types.updateTests);
export const initOutput = createAction(types.initOutput, loggerToStr);
export const updateOutput = createAction(types.updateOutput, loggerToStr);
2016-05-27 22:07:10 -07:00
export const checkChallenge = createAction(types.checkChallenge);
2016-06-07 20:41:42 -07:00
export const showProjectSubmit = createAction(types.showProjectSubmit);
2016-06-01 15:52:08 -07:00
let id = 0;
export const showChallengeComplete = createAction(
types.showChallengeComplete,
() => {
id += 1;
return id;
}
);
export const submitChallenge = createAction(types.submitChallenge);
export const moveToNextChallenge = createAction(types.moveToNextChallenge);
2016-05-27 22:07:10 -07:00
// code storage
export const saveCode = createAction(types.saveCode);
export const loadCode = createAction(types.loadCode);
export const savedCodeFound = createAction(types.savedCodeFound);