Skip to content

Commit 8401dee

Browse files
committed
refactor redux actions (noun + verb), minor fixes
1 parent 7942cfa commit 8401dee

File tree

119 files changed

+639
-488
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+639
-488
lines changed

lib/actions/_actions.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
"use strict";
2+
var alert_1 = require('./alert');
3+
exports.alertToggle = alert_1.alertToggle;
4+
exports.alertReplay = alert_1.alertReplay;
5+
var complete_1 = require('./complete');
6+
exports.completePage = complete_1.completePage;
7+
exports.completeChapter = complete_1.completeChapter;
8+
exports.completeTutorial = complete_1.completeTutorial;
9+
var globals_1 = require('./globals');
10+
exports.globalsSet = globals_1.globalsSet;
11+
var hint_1 = require('./hint');
12+
exports.hintShow = hint_1.hintShow;
13+
exports.hintPositionSet = hint_1.hintPositionSet;
14+
var page_1 = require('./page');
15+
exports.pageSet = page_1.pageSet;
16+
exports.pageNext = page_1.pageNext;
17+
var position_1 = require('./position');
18+
exports.positionSet = position_1.positionSet;
19+
var route_1 = require('./route');
20+
exports.setRoute = route_1.setRoute;
21+
var setup_1 = require('./setup');
22+
exports.setupVerify = setup_1.setupVerify;
23+
var test_1 = require('./test');
24+
exports.testRun = test_1.testRun;
25+
exports.testComplete = test_1.testComplete;
26+
exports.testResult = test_1.testResult;
27+
var tutorial_1 = require('./tutorial');
28+
exports.tutorialsFind = tutorial_1.tutorialsFind;
29+
exports.tutorialUpdate = tutorial_1.tutorialUpdate;
30+
exports.tutorialSet = tutorial_1.tutorialSet;

lib/actions/_types.js

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
"use strict";
2+
exports.ALERT_REPLAY = 'ALERT_REPLAY';
3+
exports.ALERT_TOGGLE = 'ALERT_TOGGLE';
4+
exports.COMPLETE_CHAPTER = 'COMPLETE_CHAPTER';
5+
exports.COMPLETE_PAGE = 'COMPLETE_PAGE';
6+
exports.COMPLETE_TUTORIAL = 'COMPLETE_TUTORIAL';
7+
exports.GLOBALS_SET = 'GLOBALS_SET';
8+
exports.HINT_POSITION_SET = 'HINT_POSITION_SET';
9+
exports.HINT_SHOW = 'HINT_SHOW';
10+
exports.PAGE_NEXT = 'PAGE_NEXT';
11+
exports.PAGE_SET = 'PAGE_SET';
12+
exports.POSITION_SET = 'POSITION_SET';
13+
exports.ROUTE_SET = 'ROUTE_SET';
14+
exports.SETUP_VERIFY = 'SETUP_VERIFY';
15+
exports.TEST_COMPLETE = 'TEST_COMPLETE';
16+
exports.TEST_RESULT = 'TEST_RESULT';
17+
exports.TEST_RUN = 'TEST_RUN';
18+
exports.TUTORIAL_SET = 'TUTORIAL_SET';
19+
exports.TUTORIAL_UPDATE = 'TUTORIAL_UPDATE';
20+
exports.TUTORIALS_FIND = 'TUTORIALS_FIND';

lib/actions/actionTypes.js

+18-20
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,22 @@
11
"use strict";
2-
exports.VERIFY_SETUP = 'VERIFY_SETUP';
3-
exports.SET_GLOBALS = 'SET_GLOBALS';
4-
exports.SET_TUTORIAL_INFO = 'SET_TUTORIAL_INFO';
5-
exports.LOAD_TUTORIALS = 'LOAD_TUTORIALS';
6-
exports.UPDATE_TUTORIAL = 'UPDATE_TUTORIAL';
7-
exports.SET_ROUTE = 'SET_ROUTE';
8-
exports.SET_PAGE = 'SET_PAGE';
9-
exports.NEXT_PAGE = 'NEXT_PAGE';
10-
exports.SET_POSITION = 'SET_POSITION';
11-
exports.SET_PROGRESS = 'SET_PROGRESS';
12-
exports.PAGE_COMPLETE = 'PAGE_COMPLETE';
13-
exports.CHAPTER_COMPLETE = 'CHAPTER_COMPLETE';
14-
exports.PROJECT_COMPLETE = 'PROJECT_COMPLETE';
2+
exports.ALERT_REPLAY = 'ALERT_REPLAY';
3+
exports.ALERT_TOGGLE = 'ALERT_TOGGLE';
4+
exports.COMPLETE_CHAPTER = 'COMPLETE_CHAPTER';
5+
exports.COMPLETE_PAGE = 'COMPLETE_PAGE';
6+
exports.COMPLETE_TUTORIAL = 'COMPLETE_TUTORIAL';
157
exports.EDITOR_ACTIONS = 'EDITOR_ACTIONS';
16-
exports.SHOW_HINT = 'SHOW_HINT';
17-
exports.SHOW_SOLUTION = 'SHOW_SOLUTION';
18-
exports.SET_HINT_POSITION = 'SET_HINT_POSITION';
19-
exports.RUN_TESTS = 'RUN_TESTS';
8+
exports.GLOBALS_SET = 'GLOBALS_SET';
9+
exports.HINT_POSITION_SET = 'HINT_POSITION_SET';
10+
exports.HINT_SHOW = 'HINT_SHOW';
11+
exports.LOG_TOGGLE = 'LOG_TOGGLE';
12+
exports.PAGE_SET = 'PAGE_SET';
13+
exports.POSITION_SET = 'POSITION_SET';
14+
exports.PROGRESS_SET = 'PROGRESS_SET';
15+
exports.ROUTE_SET = 'ROUTE_SET';
16+
exports.SETUP_VERIFY = 'SETUP_VERIFY';
2017
exports.TEST_COMPLETE = 'TEST_COMPLETE';
2118
exports.TEST_RESULT = 'TEST_RESULT';
22-
exports.TOGGLE_LOG = 'CHECK_LOG';
23-
exports.TOGGLE_ALERT = 'TOGGLE_ALERT';
24-
exports.REPLAY_ALERT = 'SHOW_ALERT';
19+
exports.TEST_RUN = 'TEST_RUN';
20+
exports.TUTORIAL_INFO_SET = 'TUTORIAL_INFO_SET';
21+
exports.TUTORIALS_LOAD = 'TUTORIALS_LOAD';
22+
exports.TUTORIAL_UPDATE = 'TUTORIAL_UPDATE';

lib/actions/actions.js

+5-5
Original file line numberDiff line numberDiff line change
@@ -26,19 +26,19 @@ exports.replayAlert = alert_1.replayAlert;
2626
var routes_1 = require('./routes');
2727
exports.setRoute = routes_1.setRoute;
2828
function setGlobals(packageJson) {
29-
return { type: actionTypes_1.SET_GLOBALS, payload: { packageJson: packageJson } };
29+
return { type: actionTypes_1.GLOBALS_SET, payload: { packageJson: packageJson } };
3030
}
3131
exports.setGlobals = setGlobals;
3232
function verifySetup() {
33-
return { type: actionTypes_1.VERIFY_SETUP };
33+
return { type: actionTypes_1.SETUP_VERIFY };
3434
}
3535
exports.verifySetup = verifySetup;
3636
function setProgress() {
37-
return { type: actionTypes_1.SET_PROGRESS };
37+
return { type: actionTypes_1.PROGRESS_SET };
3838
}
3939
exports.setProgress = setProgress;
4040
function setPosition(position) {
41-
return { type: actionTypes_1.SET_POSITION, payload: { position: position } };
41+
return { type: actionTypes_1.POSITION_SET, payload: { position: position } };
4242
}
4343
exports.setPosition = setPosition;
4444
function loadTutorial(tutorial) {
@@ -50,6 +50,6 @@ function loadTutorial(tutorial) {
5050
exports.loadTutorial = loadTutorial;
5151
function toggleLog() {
5252
var open = !store_1.store.getState().log.open;
53-
return { type: actionTypes_1.TOGGLE_LOG, payload: { open: open } };
53+
return { type: actionTypes_1.LOG_TOGGLE, payload: { open: open } };
5454
}
5555
exports.toggleLog = toggleLog;

lib/actions/alert.js

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
"use strict";
22
var store_1 = require('../store/store');
3-
var actionTypes_1 = require('./actionTypes');
4-
function toggleAlert(alert) {
3+
var _types_1 = require('./_types');
4+
function alertToggle(alert) {
55
var isOpen = store_1.store.getState().alert.open;
66
if (!alert) {
77
alert = { message: '', action: '', open: false };
88
}
99
else {
1010
alert = Object.assign({}, { open: !isOpen }, alert);
1111
}
12-
return { type: actionTypes_1.TOGGLE_ALERT, payload: { alert: alert } };
12+
return { type: _types_1.ALERT_TOGGLE, payload: { alert: alert } };
1313
}
14-
exports.toggleAlert = toggleAlert;
15-
function replayAlert() {
16-
return { type: actionTypes_1.REPLAY_ALERT };
14+
exports.alertToggle = alertToggle;
15+
function alertReplay() {
16+
return { type: _types_1.ALERT_REPLAY };
1717
}
18-
exports.replayAlert = replayAlert;
18+
exports.alertReplay = alertReplay;

lib/actions/complete.js

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
"use strict";
2+
var _types_1 = require('./_types');
3+
var store_1 = require('../store/store');
4+
function completePage() {
5+
var position = store_1.store.getState().position;
6+
var pageLength = store_1.store.getState().progress.chapters[position.chapter].pages.length;
7+
if (position.page >= pageLength - 1) {
8+
return completeChapter();
9+
}
10+
return { type: _types_1.COMPLETE_PAGE, payload: { position: position } };
11+
}
12+
exports.completePage = completePage;
13+
function completeChapter() {
14+
var chapter = store_1.store.getState().position.chapter;
15+
var chapterLength = store_1.store.getState().progress.chapters.length;
16+
if (chapter >= chapterLength - 1) {
17+
return completeTutorial();
18+
}
19+
return { type: _types_1.COMPLETE_CHAPTER, payload: { chapter: chapter } };
20+
}
21+
exports.completeChapter = completeChapter;
22+
function completeTutorial() {
23+
return { type: _types_1.COMPLETE_TUTORIAL };
24+
}
25+
exports.completeTutorial = completeTutorial;

lib/actions/globals.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
"use strict";
2+
var _types_1 = require('./_types');
3+
function globalsSet(packageJson) {
4+
return { type: _types_1.GLOBALS_SET, payload: { packageJson: packageJson } };
5+
}
6+
exports.globalsSet = globalsSet;

lib/actions/hint.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
"use strict";
2+
var _types_1 = require('./_types');
3+
function hintPositionSet(hintPosition) {
4+
return { type: _types_1.HINT_POSITION_SET, payload: { hintPosition: hintPosition } };
5+
}
6+
exports.hintPositionSet = hintPositionSet;
7+
function hintShow() {
8+
return { type: _types_1.HINT_SHOW };
9+
}
10+
exports.hintShow = hintShow;

lib/actions/page-actions.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ var tutorial_package_1 = require('../services/tutorial-package');
55
function setPage(selectedPosition) {
66
if (selectedPosition === void 0) { selectedPosition = { chapter: 0, page: 0 }; }
77
if (selectedPosition.completed) {
8-
return { type: actionTypes_1.SET_ROUTE, payload: { route: 'final' } };
8+
return { type: actionTypes_1.ROUTE_SET, payload: { route: 'final' } };
99
}
1010
var page = tutorial_package_1.default.getPage(selectedPosition);
1111
var tasks = tutorial_package_1.default.getTasks(selectedPosition);
1212
var taskTests = [].concat.apply([], tasks.map(function (task) { return task.tests || []; }));
1313
var actions = tasks.map(function (task) { return task.actions || []; });
14-
return { type: actionTypes_1.SET_PAGE, payload: { page: page, tasks: tasks, position: selectedPosition, taskTests: taskTests, actions: actions } };
14+
return { type: actionTypes_1.PAGE_SET, payload: { page: page, tasks: tasks, position: selectedPosition, taskTests: taskTests, actions: actions } };
1515
}
1616
exports.setPage = setPage;
1717
function nextPage() {

lib/actions/page.js

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"use strict";
2+
var _types_1 = require('./_types');
3+
var store_1 = require('../store/store');
4+
var tutorial_package_1 = require('../services/tutorial-package');
5+
function pageNext() {
6+
var position = store_1.store.getState().position;
7+
var nextPosition = tutorial_package_1.default.getNextPosition(position);
8+
return pageSet(nextPosition);
9+
}
10+
exports.pageNext = pageNext;
11+
function pageSet(selectedPosition) {
12+
if (selectedPosition === void 0) { selectedPosition = { chapter: 0, page: 0 }; }
13+
if (selectedPosition.completed) {
14+
return { type: _types_1.ROUTE_SET, payload: { route: 'final' } };
15+
}
16+
var page = tutorial_package_1.default.getPage(selectedPosition);
17+
var tasks = tutorial_package_1.default.getTasks(selectedPosition);
18+
var taskTests = [].concat.apply([], tasks.map(function (task) { return task.tests || []; }));
19+
var actions = tasks.map(function (task) { return task.actions || []; });
20+
return { type: _types_1.PAGE_SET, payload: { page: page, tasks: tasks, position: selectedPosition, taskTests: taskTests, actions: actions } };
21+
}
22+
exports.pageSet = pageSet;

lib/actions/position.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
"use strict";
2+
var _types_1 = require('./_types');
3+
function positionSet(position) {
4+
return { type: _types_1.POSITION_SET, payload: { position: position } };
5+
}
6+
exports.positionSet = positionSet;

lib/actions/progress-actions.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ function pageComplete() {
77
if (position.page >= pageLength - 1) {
88
return chapterComplete();
99
}
10-
return { type: actionTypes_1.PAGE_COMPLETE, payload: { position: position } };
10+
return { type: actionTypes_1.COMPLETE_PAGE, payload: { position: position } };
1111
}
1212
exports.pageComplete = pageComplete;
1313
function chapterComplete() {
@@ -16,10 +16,10 @@ function chapterComplete() {
1616
if (chapter >= chapterLength - 1) {
1717
return projectComplete();
1818
}
19-
return { type: actionTypes_1.CHAPTER_COMPLETE, payload: { chapter: chapter } };
19+
return { type: actionTypes_1.COMPLETE_CHAPTER, payload: { chapter: chapter } };
2020
}
2121
exports.chapterComplete = chapterComplete;
2222
function projectComplete() {
23-
return { type: actionTypes_1.PROJECT_COMPLETE };
23+
return { type: actionTypes_1.COMPLETE_TUTORIAL };
2424
}
2525
exports.projectComplete = projectComplete;

lib/actions/route.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use strict";
2+
var store_1 = require('../store/store');
3+
var _types_1 = require('./_types');
4+
var _actions_1 = require('./_actions');
5+
var previous = null;
6+
function setRoute(route) {
7+
if (route && route !== previous) {
8+
switch (route) {
9+
case 'tutorials':
10+
store_1.store.dispatch(_actions_1.tutorialsFind());
11+
}
12+
previous = route;
13+
return { type: _types_1.ROUTE_SET, payload: { route: route } };
14+
}
15+
}
16+
exports.setRoute = setRoute;

lib/actions/routes.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ function setRoute(route) {
1010
store_1.store.dispatch(actions_1.loadTutorials());
1111
}
1212
previous = route;
13-
return { type: actionTypes_1.SET_ROUTE, payload: { route: route } };
13+
return { type: actionTypes_1.ROUTE_SET, payload: { route: route } };
1414
}
1515
}
1616
exports.setRoute = setRoute;

lib/actions/setup.js

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
"use strict";
2+
var _types_1 = require('./_types');
3+
function setupVerify() {
4+
return { type: _types_1.SETUP_VERIFY };
5+
}
6+
exports.setupVerify = setupVerify;

lib/actions/task-actions.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
var actionTypes_1 = require('./actionTypes');
33
var store_1 = require('../store/store');
44
function showHint() {
5-
return { type: actionTypes_1.SHOW_HINT };
5+
return { type: actionTypes_1.HINT_SHOW };
66
}
77
exports.showHint = showHint;
88
function runTests() {
9-
return { type: actionTypes_1.RUN_TESTS };
9+
return { type: actionTypes_1.TEST_RUN };
1010
}
1111
exports.runTests = runTests;
1212
function testResult(result) {
@@ -19,6 +19,6 @@ function testComplete() {
1919
}
2020
exports.testComplete = testComplete;
2121
function setHintPosition(hintPosition) {
22-
return { type: actionTypes_1.SET_HINT_POSITION, payload: { hintPosition: hintPosition } };
22+
return { type: actionTypes_1.HINT_POSITION_SET, payload: { hintPosition: hintPosition } };
2323
}
2424
exports.setHintPosition = setHintPosition;

lib/actions/test.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use strict";
2+
var _types_1 = require('./_types');
3+
var store_1 = require('../store/store');
4+
function testRun() {
5+
return { type: _types_1.TEST_RUN };
6+
}
7+
exports.testRun = testRun;
8+
function testResult(result) {
9+
var actions = store_1.store.getState().editorActions;
10+
return { type: _types_1.TEST_RESULT, payload: { result: result, actions: actions } };
11+
}
12+
exports.testResult = testResult;
13+
function testComplete() {
14+
return { type: _types_1.TEST_COMPLETE };
15+
}
16+
exports.testComplete = testComplete;

lib/actions/tutorial.js

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
"use strict";
2+
var _types_1 = require('./_types');
3+
function tutorialSet() {
4+
return { type: _types_1.TUTORIAL_SET };
5+
}
6+
exports.tutorialSet = tutorialSet;
7+
function tutorialUpdate(name) {
8+
return { type: _types_1.TUTORIAL_UPDATE, payload: { name: name } };
9+
}
10+
exports.tutorialUpdate = tutorialUpdate;
11+
function tutorialsFind() {
12+
return { type: _types_1.TUTORIALS_FIND };
13+
}
14+
exports.tutorialsFind = tutorialsFind;

lib/actions/tutorials.js

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
"use strict";
22
var actionTypes_1 = require('./actionTypes');
33
function setTutorialInfo() {
4-
return { type: actionTypes_1.SET_TUTORIAL_INFO };
4+
return { type: actionTypes_1.TUTORIAL_INFO_SET };
55
}
66
exports.setTutorialInfo = setTutorialInfo;
77
function loadTutorials() {
8-
return { type: actionTypes_1.LOAD_TUTORIALS };
8+
return { type: actionTypes_1.TUTORIALS_LOAD };
99
}
1010
exports.loadTutorials = loadTutorials;
1111
function updateTutorial(name) {
12-
return { type: actionTypes_1.UPDATE_TUTORIAL, payload: { name: name } };
12+
return { type: actionTypes_1.TUTORIAL_UPDATE, payload: { name: name } };
1313
}
1414
exports.updateTutorial = updateTutorial;

lib/atom/main.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ var render_1 = require('../components/render');
33
var polyfills_1 = require('../services/polyfills');
44
var subscriptions_1 = require('./subscriptions');
55
var store_1 = require('../store/store');
6-
var actions_1 = require('../actions/actions');
6+
var _actions_1 = require('../actions/_actions');
77
function setDir() {
88
if (atom.project.rootDirectories.length > 0) {
99
return atom.project.rootDirectories[0].path;
@@ -22,7 +22,7 @@ var Main = (function () {
2222
dir: setDir(),
2323
win: setWin()
2424
};
25-
store_1.store.dispatch(actions_1.verifySetup());
25+
store_1.store.dispatch(_actions_1.setupVerify());
2626
this.root = render_1.initRoot();
2727
}
2828
Main.prototype.activate = function () {

0 commit comments

Comments
 (0)