Skip to content

Commit f1888cc

Browse files
committed
refactoring progress
1 parent f151c06 commit f1888cc

File tree

22 files changed

+61
-84
lines changed

22 files changed

+61
-84
lines changed

lib/modules/page/Continue/index.js renamed to lib/components/Page/Continue/index.js

+4-6
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
1616
var React = require('react');
1717
var react_redux_1 = require('react-redux');
1818
var RaisedButton_1 = require('material-ui/RaisedButton');
19-
var actions_1 = require('../actions');
19+
var actions_1 = require('../../../actions');
2020
var styles = {
2121
zIndex: '10000',
2222
border: '0px',
@@ -34,11 +34,9 @@ var Continue = (function (_super) {
3434
return (React.createElement(RaisedButton_1.default, {style: { styles: styles }, label: 'Continue', primary: true, onTouchTap: this.props.callNextPage}));
3535
};
3636
Continue = __decorate([
37-
react_redux_1.connect(null, function (dispatch, state) {
38-
return {
39-
callNextPage: function () { return dispatch(actions_1.pageNext()); }
40-
};
41-
}),
37+
react_redux_1.connect(null, function (dispatch) { return ({
38+
callNextPage: function () { return dispatch(actions_1.pageNext()); }
39+
}); }),
4240
__metadata('design:paramtypes', [])
4341
], Continue);
4442
return Continue;

lib/components/Page/PageToolbar/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
var React = require('react');
33
var Toolbar_1 = require('material-ui/Toolbar');
44
var index_1 = require('../../index');
5+
var Continue_1 = require('../Continue');
56
var styles = {
67
zIndex: '5',
78
position: 'relative',
@@ -14,7 +15,7 @@ var styles = {
1415
exports.PageToolbar = function (_a) {
1516
var tasks = _a.tasks, taskPosition = _a.taskPosition, children = _a.children;
1617
return (React.createElement("section", {styles: styles}, children, React.createElement(Toolbar_1.Toolbar, null, React.createElement(Toolbar_1.ToolbarGroup, {float: 'left'}, React.createElement(index_1.ToggleDevTools, null)), React.createElement(Toolbar_1.ToolbarGroup, {float: 'right'}, taskPosition >= tasks.length ?
17-
React.createElement(index_1.Continue, null) : React.createElement(index_1.Save, null)))));
18+
React.createElement(Continue_1.default, null) : React.createElement(index_1.Save, null)))));
1819
};
1920
Object.defineProperty(exports, "__esModule", { value: true });
2021
exports.default = exports.PageToolbar;

lib/components/Page/Tasks/index.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,6 @@ var Subheader_1 = require('material-ui/Subheader');
1212
var Task_1 = require('../Task');
1313
var colors_1 = require('material-ui/styles/colors');
1414
var TasksComplete_1 = require('../TasksComplete');
15-
function visibleTasks(tasks, taskPosition) {
16-
return tasks.slice(0, taskPosition + 1);
17-
}
1815
var margin = '10px 5px';
1916
var Tasks = (function (_super) {
2017
__extends(Tasks, _super);
@@ -24,9 +21,12 @@ var Tasks = (function (_super) {
2421
Tasks.prototype.componentDidUpdate = function () {
2522
ReactDOM.findDOMNode(this.refs.listEnd).scrollIntoView();
2623
};
24+
Tasks.prototype.visibleTasks = function (tasks, taskPosition) {
25+
return tasks.slice(0, taskPosition + 1);
26+
};
2727
Tasks.prototype.render = function () {
2828
var _a = this.props, tasks = _a.tasks, taskPosition = _a.taskPosition, testRun = _a.testRun, completed = _a.completed, page = _a.page;
29-
var visTasks = visibleTasks(tasks, taskPosition);
29+
var visTasks = this.visibleTasks(tasks, taskPosition);
3030
var backgroundColor = completed ? colors_1.lightGreen200 : 'white';
3131
return (React.createElement("div", null, React.createElement(Card_1.Card, {style: { backgroundColor: backgroundColor, margin: margin }}, React.createElement(List_1.List, null, React.createElement(Subheader_1.default, null, "Tasks"), visTasks.map(function (task, index) { return (React.createElement(Task_1.default, {key: index, index: index, task: task, taskPosition: taskPosition, testRun: testRun})); }))), React.createElement(TasksComplete_1.default, {page: page, completed: completed}), React.createElement("div", {ref: 'listEnd'})));
3232
};

lib/components/Page/index.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ var Tasks_1 = require('./Tasks');
2020
var Hints_1 = require('./Hints');
2121
var PageToolbar_1 = require('./PageToolbar');
2222
var ProgressBar_1 = require('./ProgressBar');
23+
var selectors_1 = require('../../selectors');
2324
var styles = {
2425
width: '100%',
2526
overflowY: 'scroll',
@@ -37,12 +38,12 @@ var Page = (function (_super) {
3738
};
3839
Page = __decorate([
3940
react_redux_1.connect(function (state) { return ({
40-
page: state.page,
41-
tasks: state.tasks,
42-
taskPosition: state.taskPosition,
43-
hintPosition: state.hintPosition,
41+
page: selectors_1.pageSelector(state),
42+
tasks: selectors_1.tasksSelector(state),
4443
testRun: state.testRun,
4544
progress: state.progress,
45+
taskPosition: state.taskPosition,
46+
hintPosition: state.hintPosition,
4647
pagePosition: state.pagePosition,
4748
}); }),
4849
__metadata('design:paramtypes', [])

lib/components/index.js

-2
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,3 @@ var Save_1 = require('./common/Save');
2727
exports.Save = Save_1.default;
2828
var ToggleDevTools_1 = require('./common/ToggleDevTools');
2929
exports.ToggleDevTools = ToggleDevTools_1.default;
30-
var page_1 = require('../modules/page');
31-
exports.Continue = page_1.Continue;

lib/modules/package-json/actions.js

Whitespace-only changes.

lib/modules/package-json/index.js

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
"use strict";
2+
var reducer_1 = require('./reducer');
3+
exports.reducer = reducer_1.default;

lib/modules/package-json/reducer.js

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
"use strict";
2+
var _pj = null;
3+
function packageJson(p, action) {
4+
if (p === void 0) { p = _pj; }
5+
switch (action.type) {
6+
default:
7+
return p;
8+
}
9+
}
10+
Object.defineProperty(exports, "__esModule", { value: true });
11+
exports.default = packageJson;

lib/modules/package-json/types.js

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
"use strict";
2+
var path_1 = require('path');
3+
var fs_1 = require('fs');
4+
var node_file_exists_1 = require('node-file-exists');
5+
function readPackageJson(dir) {
6+
var pathToPJ = path_1.join(dir, './package.json');
7+
if (!node_file_exists_1.default(pathToPJ)) {
8+
return false;
9+
}
10+
try {
11+
return JSON.parse(fs_1.readFileSync(pathToPJ, 'utf8'));
12+
}
13+
catch (e) {
14+
return null;
15+
}
16+
}
17+
exports.readPackageJson = readPackageJson;

lib/modules/page/index.js

-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
"use strict";
2-
var page_1 = require('./page');
3-
exports.page = page_1.default;
42
var page_position_1 = require('./page-position');
53
exports.pagePosition = page_position_1.default;
64
var task_actions_1 = require('./task-actions');
75
exports.taskActions = task_actions_1.default;
86
var task_tests_1 = require('./task-tests');
97
exports.taskTests = task_tests_1.default;
10-
var tasks_1 = require('./tasks');
11-
exports.tasks = tasks_1.default;
12-
var Continue_1 = require('./Continue');
13-
exports.Continue = Continue_1.default;

lib/modules/page/page/index.js

-23
This file was deleted.

lib/modules/page/tasks/index.js

-20
This file was deleted.

lib/modules/tutorials/reducer.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
"use strict";
22
var coderoad_cli_1 = require('coderoad-cli');
33
var types_1 = require('./types');
4-
function tutorials(t, action) {
4+
function tutorialsReducer(t, action) {
55
if (t === void 0) { t = []; }
66
switch (action.type) {
77
case types_1.TUTORIALS_FIND:
8-
var dir = action.payload.dir;
9-
var tuts = coderoad_cli_1.tutorials(dir);
8+
var tuts = coderoad_cli_1.tutorials(action.payload.dir);
109
return tuts ? tuts : t;
1110
default:
1211
return t;
1312
}
1413
}
1514
Object.defineProperty(exports, "__esModule", { value: true });
16-
exports.default = tutorials;
15+
exports.default = tutorialsReducer;

lib/reducers.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ var window_1 = require('core-coderoad/lib/window');
1414
Object.defineProperty(exports, "__esModule", { value: true });
1515
exports.default = redux_1.combineReducers({
1616
alert: alert_1.reducer, checks: setup_1.checks, editor: editor_1.reducer, dir: editor_1.dir, hintPosition: hints_1.reducer,
17-
packageJson: setup_1.packageJson, page: page_1.page, pagePosition: page_1.pagePosition, progress: progress_1.reducer, route: route_1.reducer, tasks: page_1.tasks,
17+
packageJson: setup_1.packageJson, pagePosition: page_1.pagePosition, progress: progress_1.reducer, route: route_1.reducer,
1818
tutorial: tutorial_1.reducer, tutorials: tutorials_1.reducer,
1919
taskActions: page_1.taskActions, taskPosition: tests_1.taskPosition, taskTests: page_1.taskTests, testRun: tests_1.testRun, windowToggle: window_1.reducer
2020
});

lib/selectors.js

+4
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
11
"use strict";
2+
var reselect_1 = require('reselect');
3+
exports.pageSelector = function (state) { return state.tutorial.pages[state.pagePosition]; };
4+
exports.tasksSelector = reselect_1.createSelector(exports.pageSelector, function (page) { return page.tasks; });
5+
exports.configSelector = function (state) { return state.packageJson.config; };

src/components/Page/PageToolbar/index.tsx

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import * as React from 'react';
22
import {Toolbar, ToolbarGroup} from 'material-ui/Toolbar';
3-
import {ToggleDevTools, Save, Continue} from '../../index';
3+
import {ToggleDevTools, Save} from '../../index';
4+
import Continue from '../Continue';
45

56
const styles = {
67
zIndex: '5',

src/components/index.ts

-2
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,3 @@ export {default as ContentCard} from './common/ContentCard';
1313
export {default as RouteButton} from './common/RouteButton';
1414
export {default as Save} from './common/Save';
1515
export {default as ToggleDevTools} from './common/ToggleDevTools';
16-
17-
export {Continue} from '../modules/page';

src/modules/package-json/reducer.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import {PJ_SAVE} from './types';
2-
import {readPackageJson, writePackageJson} from './utils/packageJson';
3-
import {sortPackageJson} from 'sort-package-json';
1+
import {readPackageJson} from './utils/packageJson';
42

53
const _pj = null;
64

src/modules/page/index.ts

-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
11
export {default as pagePosition} from './page-position';
22
export {default as taskActions} from './task-actions';
33
export {default as taskTests} from './task-tests';
4-
5-
export {default as Continue} from './Continue';

src/modules/tutorials/reducer.ts

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import {tutorials} from 'coderoad-cli';
33
import {TUTORIALS_FIND} from './types';
44

5-
export default function tutorials(
5+
export default function tutorialsReducer(
66
t = [], action: Action
77
): Tutorial.Info[] {
88
switch (action.type) {
@@ -12,8 +12,7 @@ export default function tutorials(
1212
/* falls through */
1313

1414
case TUTORIALS_FIND:
15-
const {dir} = action.payload;
16-
const tuts: Tutorial.Info[] = tutorials(dir);
15+
const tuts = tutorials(action.payload.dir);
1716
return tuts ? tuts : t;
1817

1918
default:

src/reducers.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import {combineReducers} from 'redux';
22

33
// module reducers
44
import {reducer as hintPosition} from './modules/hints';
5-
import {page, pagePosition, tasks, taskActions, taskTests} from './modules/page';
5+
import {pagePosition, taskActions, taskTests} from './modules/page';
66
import {reducer as progress} from './modules/progress';
77
import {checks, packageJson} from './modules/setup';
88
import {testRun, taskPosition} from './modules/tests';
@@ -16,7 +16,7 @@ import {reducer as windowToggle} from 'core-coderoad/lib/window';
1616

1717
export default combineReducers({
1818
alert, checks, editor, dir, hintPosition,
19-
packageJson, page, pagePosition, progress, route, tasks,
19+
packageJson, pagePosition, progress, route,
2020
tutorial, tutorials,
2121
taskActions, taskPosition, taskTests, testRun, windowToggle
2222
});

0 commit comments

Comments
 (0)