Skip to content

Commit 94aeb5c

Browse files
committed
create tutorial reducer, pjSave action
1 parent c1f729c commit 94aeb5c

File tree

22 files changed

+98
-37
lines changed

22 files changed

+98
-37
lines changed

lib/actions.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,12 @@ var actions_1 = require('./modules/page/actions');
33
exports.pageSet = actions_1.pageSet;
44
exports.pageNext = actions_1.pageNext;
55
var package_json_1 = require('./modules/package-json');
6-
exports.tutorialConfigSave = package_json_1.tutorialConfigSave;
6+
exports.pjSave = package_json_1.pjSave;
77
var setup_1 = require('./modules/setup');
88
exports.setupVerify = setup_1.setupVerify;
99
exports.setupPackage = setup_1.setupPackage;
10+
var tutorial_1 = require('./modules/tutorial');
11+
exports.tutorialInit = tutorial_1.tutorialInit;
1012
var alert_1 = require('core-coderoad/lib/alert');
1113
exports.alertOpen = alert_1.alertOpen;
1214
exports.alertClose = alert_1.alertClose;
@@ -19,7 +21,5 @@ exports.editorSave = editor_1.editorSave;
1921
exports.editorSet = editor_1.editorSet;
2022
var route_1 = require('core-coderoad/lib/route');
2123
exports.routeSet = route_1.routeSet;
22-
var tutorial_1 = require('core-coderoad/lib/tutorial');
23-
exports.tutorialSet = tutorial_1.tutorialSet;
2424
var window_1 = require('core-coderoad/lib/window');
2525
exports.windowToggle = window_1.windowToggle;

lib/components/TutorialConfig/index.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,16 @@ var TutorialConfig = (function (_super) {
8080
};
8181
TutorialConfig.prototype.render = function () {
8282
var pj = this.state.pj;
83-
return (React.createElement(Card_1.Card, {style: styles.card}, React.createElement(Card_1.CardHeader, {title: 'Tutorial Configuration'}), React.createElement(TextField_1.default, {floatingLabelText: 'Tutorial Package Name', defaultValue: pj.name, onChange: this.handleText.bind(this, 'name')}), React.createElement("br", null), React.createElement(SelectField_1.default, {floatingLabelText: 'Language', value: pj.config.language, onChange: this.handleSelect.bind(this, 'language')}, languageItems_1.default()), React.createElement("br", null), React.createElement(SelectField_1.default, {floatingLabelText: 'Test Runner', value: pj.config.runner, onChange: this.handleSelect.bind(this, 'runner')}, runnerItems_1.default(pj.config.language)), React.createElement("br", null), React.createElement(RaisedButton_1.default, {style: styles.button, label: 'Save', primary: true, onTouchTap: this.save.bind(this)}), React.createElement(RaisedButton_1.default, {style: styles.button, label: 'Continue', secondary: true, onTouchTap: this.props.routeToInfo.bind(this)})));
83+
return (React.createElement(Card_1.Card, {style: styles.card}, React.createElement(Card_1.CardHeader, {title: 'Tutorial Configuration'}), React.createElement(TextField_1.default, {floatingLabelText: 'Tutorial Package Name', defaultValue: pj.name, onChange: this.handleText.bind(this, 'name')}), React.createElement("br", null), React.createElement(SelectField_1.default, {floatingLabelText: 'Language', value: pj.config.language, onChange: this.handleSelect.bind(this, 'language')}, languageItems_1.default()), React.createElement("br", null), React.createElement(SelectField_1.default, {floatingLabelText: 'Test Runner', value: pj.config.runner, onChange: this.handleSelect.bind(this, 'runner')}, runnerItems_1.default(pj.config.language)), React.createElement("br", null), React.createElement(RaisedButton_1.default, {style: styles.button, label: 'Save', primary: true, onTouchTap: this.save.bind(this)}), React.createElement(RaisedButton_1.default, {style: styles.button, label: 'Continue', secondary: true, onTouchTap: this.props.routeToPage.bind(this)})));
8484
};
8585
TutorialConfig = __decorate([
8686
react_redux_1.connect(null, function (dispatch) {
8787
return {
88-
save: function (pj) { return dispatch(actions_1.tutorialConfigSave(pj)); },
89-
routeToPage: function () { return dispatch(actions_1.routeSet('page')); }
88+
save: function (pj) { return dispatch(actions_1.pjSave(pj)); },
89+
routeToPage: function () {
90+
dispatch(actions_1.tutorialInit());
91+
dispatch(actions_1.routeSet('page'));
92+
}
9093
};
9194
}),
9295
__metadata('design:paramtypes', [Object])

lib/components/TutorialInfo/index.js

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ var TutorialInfo = (function (_super) {
3131
__extends(TutorialInfo, _super);
3232
function TutorialInfo(props) {
3333
_super.call(this, props);
34-
this.state = this.props.packageJson;
34+
this.state = {
35+
pj: this.props.packageJson
36+
};
3537
}
3638
TutorialInfo.prototype.handleText = function (prop, event) {
3739
this.handleChange(prop, event.target.value);
@@ -42,18 +44,18 @@ var TutorialInfo = (function (_super) {
4244
TutorialInfo.prototype.handleChange = function (prop, val) {
4345
var obj = {};
4446
obj[prop] = val;
45-
this.setState(Object.assign({}, this.state, obj));
47+
this.setState({ pj: Object.assign({}, this.state, obj) });
4648
};
4749
TutorialInfo.prototype.save = function () {
48-
this.props.save(this.state);
50+
this.props.save(this.state.pj);
4951
};
5052
TutorialInfo.prototype.render = function () {
51-
return (React.createElement(Card_1.Card, {style: styles}, React.createElement(Card_1.CardHeader, {title: 'Tutorial Info'}), React.createElement(TextField_1.default, {floatingLabelText: 'Title', defaultValue: this.state.name, onChange: this.handleText.bind(this, 'name')}), React.createElement("br", null), React.createElement(TextField_1.default, {floatingLabelText: 'Description', defaultValue: this.state.description, onChange: this.handleText.bind(this, 'description')}), React.createElement("br", null), React.createElement(TextField_1.default, {floatingLabelText: 'Version', defaultValue: this.state.version.join('.'), disabled: true, onChange: this.handleText.bind(this, 'version')}), React.createElement("br", null), React.createElement(TextField_1.default, {floatingLabelText: 'Keywords', defaultValue: this.state.keywords.join(', '), multiLine: true, onChange: this.handleText.bind(this, 'keywords')}), React.createElement("br", null), React.createElement(RaisedButton_1.default, {style: buttonStyles, label: 'Save', primary: true, onTouchTap: this.save.bind(this)}), React.createElement(RaisedButton_1.default, {style: buttonStyles, label: 'Continue', secondary: true, onTouchTap: this.props.routeToTutorial.bind(this)})));
53+
return (React.createElement(Card_1.Card, {style: styles}, React.createElement(Card_1.CardHeader, {title: 'Tutorial Info'}), React.createElement(TextField_1.default, {floatingLabelText: 'Title', defaultValue: this.state.pj.name, onChange: this.handleText.bind(this, 'name')}), React.createElement("br", null), React.createElement(TextField_1.default, {floatingLabelText: 'Description', defaultValue: this.state.pj.description, onChange: this.handleText.bind(this, 'description')}), React.createElement("br", null), React.createElement(TextField_1.default, {floatingLabelText: 'Version', defaultValue: this.state.pj.version, disabled: true, onChange: this.handleText.bind(this, 'version')}), React.createElement("br", null), React.createElement(TextField_1.default, {floatingLabelText: 'Keywords', defaultValue: this.state.pj.keywords.join(', '), multiLine: true, onChange: this.handleText.bind(this, 'keywords')}), React.createElement("br", null), React.createElement(RaisedButton_1.default, {style: buttonStyles, label: 'Save', primary: true, onTouchTap: this.save.bind(this)}), React.createElement(RaisedButton_1.default, {style: buttonStyles, label: 'Continue', secondary: true, onTouchTap: this.props.routeToTutorial.bind(this)})));
5254
};
5355
TutorialInfo = __decorate([
5456
react_redux_1.connect(null, function (dispatch) {
5557
return {
56-
save: function (config) { return dispatch(tutorialConfigSave(config)); },
58+
save: function (pj) { return dispatch(actions_1.pjSave(pj)); },
5759
routeToTutorial: function () { return dispatch(actions_1.routeSet('page')); }
5860
};
5961
}),

lib/modules/package-json/actions.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
"use strict";
22
var types_1 = require('./types');
3-
function tutorialConfigSave(pj) {
3+
function pjSave(pj) {
44
return function (dispatch, getState) {
55
var dir = getState().dir;
66
dispatch({ type: types_1.PJ_SAVE, payload: { pj: pj, dir: dir } });
77
};
88
}
9-
exports.tutorialConfigSave = tutorialConfigSave;
9+
exports.pjSave = pjSave;

lib/modules/package-json/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
"use strict";
22
var actions_1 = require('./actions');
3-
exports.tutorialConfigSave = actions_1.tutorialConfigSave;
3+
exports.pjSave = actions_1.pjSave;
44
var reducer_1 = require('./reducer');
55
exports.reducer = reducer_1.default;

lib/modules/tutorial/actions.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
"use strict";
2+
var types_1 = require('./types');
3+
function tutorialInit() {
4+
return { type: types_1.TUTORIAL_INIT };
5+
}
6+
exports.tutorialInit = tutorialInit;

lib/modules/tutorial/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"use strict";
2+
var actions_1 = require('./actions');
3+
exports.tutorialInit = actions_1.tutorialInit;
4+
var reducer_1 = require('./reducer');
5+
exports.reducer = reducer_1.default;

lib/modules/tutorial/reducer.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
"use strict";
2+
var types_1 = require('./types');
3+
var _tutorial = {};
4+
function tutorial(t, action) {
5+
if (t === void 0) { t = _tutorial; }
6+
switch (action.type) {
7+
case types_1.TUTORIAL_INIT:
8+
return t;
9+
default:
10+
return t;
11+
}
12+
}
13+
Object.defineProperty(exports, "__esModule", { value: true });
14+
exports.default = tutorial;

lib/modules/tutorial/types.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
"use strict";
2+
exports.TUTORIAL_INIT = 'TUTORIAL_INIT';
3+
exports.TUTORIAL_ADD_PAGE = 'TUTORIAL_ADD_PAGE';

lib/reducers.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ var redux_1 = require('redux');
33
var page_1 = require('./modules/page');
44
var setup_1 = require('./modules/setup');
55
var package_json_1 = require('./modules/package-json');
6+
var tutorial_1 = require('./modules/tutorial');
67
var alert_1 = require('core-coderoad/lib/alert');
78
var editor_1 = require('core-coderoad/lib/editor');
89
var route_1 = require('core-coderoad/lib/route');
9-
var tutorial_1 = require('core-coderoad/lib/tutorial');
1010
var window_1 = require('core-coderoad/lib/window');
1111
Object.defineProperty(exports, "__esModule", { value: true });
1212
exports.default = redux_1.combineReducers({

0 commit comments

Comments
 (0)