Skip to content

Commit e4b8f57

Browse files
committed
remove .toString from keys
1 parent c72fe69 commit e4b8f57

File tree

19 files changed

+129
-113
lines changed

19 files changed

+129
-113
lines changed

lib/components/Page/Hints/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ var Hints = (function (_super) {
4444
var text = this.state.text;
4545
return (React.createElement(List_1.List, null, !hints || !hints.length
4646
? []
47-
: hints.map(function (hint, index) { return (React.createElement(List_1.ListItem, {key: index.toString(), secondaryText: React.createElement("p", null, index + 1, ". ", hint), onClick: markdownOpen.bind(_this, hint)})); }), React.createElement(TextField_1.default, {style: styles.text, hintText: 'Hint text', multiLine: true, value: text, onChange: this.handleChange.bind(this)})));
47+
: hints.map(function (hint, index) { return (React.createElement(List_1.ListItem, {key: index, secondaryText: React.createElement("p", null, index + 1, ". ", hint), onClick: markdownOpen.bind(_this, hint)})); }), React.createElement(TextField_1.default, {style: styles.text, hintText: 'Hint text', multiLine: true, value: text, onChange: this.handleChange.bind(this)})));
4848
};
4949
Hints = __decorate([
5050
react_redux_1.connect(null, function (dispatch) { return ({

lib/components/Page/PageDescription/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var PageDescription = function (_a) {
1010
var title = _a.title, content = _a.content, open = _a.open, click = _a.click;
1111
var contentArray = content.split('\n\n');
1212
return (React.createElement(Card_1.Card, {style: styles, initiallyExpanded: open || false}, title
13-
? React.createElement(Card_1.CardHeader, {title: title, actAsExpander: true, showExpandableButton: true}) : null, React.createElement(Card_1.CardText, {expandable: true}, contentArray.map(function (c, index) { return (React.createElement(index_1.Markdown, {key: index.toString(), onClick: click.bind(_this, c)}, c)); }))));
13+
? React.createElement(Card_1.CardHeader, {title: title, actAsExpander: true, showExpandableButton: true}) : null, React.createElement(Card_1.CardText, {expandable: true}, contentArray.map(function (c, index) { return (React.createElement(index_1.Markdown, {key: index, onClick: click.bind(_this, c)}, c)); }))));
1414
};
1515
Object.defineProperty(exports, "__esModule", { value: true });
1616
exports.default = PageDescription;

lib/components/Page/TaskActions/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ var TaskActions = (function (_super) {
6868
var _a = this.props, actions = _a.actions, addAction = _a.addAction, markdownOpen = _a.markdownOpen;
6969
var stepIndex = this.state.stepIndex;
7070
var actionList = actions.map(function (a) { return task_object_1.default(a); });
71-
return (React.createElement("section", null, React.createElement(Stepper_1.Stepper, {activeStep: stepIndex, linear: false, orientation: 'vertical'}, actionList.map(function (a, index) { return (React.createElement(Stepper_1.Step, {key: index.toString()}, React.createElement(Stepper_1.StepButton, {onClick: function () { return _this.setState({
71+
return (React.createElement("section", null, React.createElement(Stepper_1.Stepper, {activeStep: stepIndex, linear: false, orientation: 'vertical'}, actionList.map(function (a, index) { return (React.createElement(Stepper_1.Step, {key: index}, React.createElement(Stepper_1.StepButton, {onClick: function () { return _this.setState({
7272
stepIndex: index, as: _this.state.as }); }}, a.action + (a.singleLine ? ' ' + a.content : '')), React.createElement(Stepper_1.StepContent, null, a.singleLine ? ''
7373
: React.createElement("div", {onClick: markdownOpen.bind(_this, a.content)}, React.createElement(index_1.Markdown, null, '```js\n' + a.content + '\n```'))))); })), React.createElement("span", {style: styles.form}, React.createElement(SelectField_1.default, {value: this.state.as.action, onChange: this.handleSelect.bind(this), style: styles.select}, React.createElement(MenuItem_1.default, {key: 'open', value: 'open', primaryText: 'open'}), React.createElement(MenuItem_1.default, {key: 'set', value: 'set', primaryText: 'set'}), React.createElement(MenuItem_1.default, {key: 'insert', value: 'insert', primaryText: 'insert'})), React.createElement(TextField_1.default, {hintText: 'Content', value: this.state.as.content, onChange: this.handleText.bind(this)}))));
7474
};

lib/components/Page/Tasks/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ var Tasks = (function (_super) {
5555
Tasks.prototype.render = function () {
5656
var _this = this;
5757
var _a = this.props, tasks = _a.tasks, taskAdd = _a.taskAdd, markdownOpen = _a.markdownOpen;
58-
return (React.createElement("div", null, tasks.map(function (task, index) { return (React.createElement(Card_1.Card, {key: index.toString(), style: styles.card, initiallyExpanded: index === 0}, React.createElement(Card_1.CardHeader, {actAsExpander: true, showExpandableButton: true}, React.createElement("span", {style: styles.title}, "Task ", index + 1), React.createElement(Tests_1.default, {style: styles.test, tests: task.tests})), React.createElement(Card_1.CardText, {expandable: true, style: styles.cardContent}, React.createElement(Tabs_1.Tabs, {tabItemContainerStyle: styles.tabBar}, React.createElement(Tabs_1.Tab, {label: 'Description'}, React.createElement("div", {onClick: markdownOpen.bind(_this, task.description)}, React.createElement(Task_1.default, {key: index.toString(), index: index, task: task}))), React.createElement(Tabs_1.Tab, {label: 'Actions'}, React.createElement(TaskActions_1.default, {actions: task.actions, taskPosition: index})), React.createElement(Tabs_1.Tab, {label: 'Hints'}, React.createElement(Hints_1.default, {hints: task.hints, taskPosition: index})))))); }), React.createElement(AddButton_1.default, {callback: taskAdd})));
58+
return (React.createElement("div", null, tasks.map(function (task, index) { return (React.createElement(Card_1.Card, {key: index, style: styles.card, initiallyExpanded: index === 0}, React.createElement(Card_1.CardHeader, {actAsExpander: true, showExpandableButton: true}, React.createElement("span", {style: styles.title}, "Task ", index + 1), React.createElement(Tests_1.default, {style: styles.test, tests: task.tests})), React.createElement(Card_1.CardText, {expandable: true, style: styles.cardContent}, React.createElement(Tabs_1.Tabs, {tabItemContainerStyle: styles.tabBar}, React.createElement(Tabs_1.Tab, {label: 'Description'}, React.createElement("div", {onClick: markdownOpen.bind(_this, task.description)}, React.createElement(Task_1.default, {key: index, index: index, task: task}))), React.createElement(Tabs_1.Tab, {label: 'Actions'}, React.createElement(TaskActions_1.default, {actions: task.actions, taskPosition: index})), React.createElement(Tabs_1.Tab, {label: 'Hints'}, React.createElement(Hints_1.default, {hints: task.hints, taskPosition: index})))))); }), React.createElement(AddButton_1.default, {callback: taskAdd})));
5959
};
6060
Tasks = __decorate([
6161
react_redux_1.connect(function (state) { return ({

lib/components/Page/Tests/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ var Tests = (function (_super) {
3434
var _this = this;
3535
var _a = this.props, tests = _a.tests, config = _a.config, style = _a.style, open = _a.open;
3636
var suffix = config_options_1.default[config.language].suffix;
37-
return (React.createElement("div", {style: style}, tests.map(function (test, index) { return (React.createElement(FlatButton_1.default, {key: index.toString(), style: styles.button, onClick: open.bind(_this, test.concat('.' + suffix)), label: 'Test', secondary: true})); })));
37+
return (React.createElement("div", {style: style}, tests.map(function (test, index) { return (React.createElement(FlatButton_1.default, {key: index, style: styles.button, onClick: open.bind(_this, test.concat('.' + suffix)), label: 'Test', secondary: true})); })));
3838
};
3939
Tests = __decorate([
4040
react_redux_1.connect(function (state) { return ({

lib/components/TopPanel/TopPanel.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ var TopPanel = (function (_super) {
4747
return null;
4848
}
4949
return (React.createElement(Tabs_1.Tabs, {tabItemContainerStyle: styles.tabs, style: styles.all}, tutorial.pages.map(function (page, index) {
50-
return (React.createElement(Tabs_1.Tab, {style: styles.tab, key: index.toString(), label: page.title.substring(0, 10), onClick: pageSet.bind(_this, index)}));
50+
return (React.createElement(Tabs_1.Tab, {style: styles.tab, key: index, label: page.title.substring(0, 10), onClick: pageSet.bind(_this, index)}));
5151
}), React.createElement(Tabs_1.Tab, {style: Object.assign({}, styles.tab, styles.add), label: '+', onActive: pageAdd})));
5252
};
5353
TopPanel = __decorate([

lib/components/TutorialConfig/index.js

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,14 @@ var __extends = (this && this.__extends) || function (d, b) {
44
function __() { this.constructor = d; }
55
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
66
};
7+
var __assign = (this && this.__assign) || Object.assign || function(t) {
8+
for (var s, i = 1, n = arguments.length; i < n; i++) {
9+
s = arguments[i];
10+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11+
t[p] = s[p];
12+
}
13+
return t;
14+
};
715
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
816
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
917
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -15,8 +23,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
1523
};
1624
var React = require('react');
1725
var react_redux_1 = require('react-redux');
18-
var path_1 = require('path');
19-
var TextField_1 = require('material-ui/TextField');
2026
var SelectField_1 = require('material-ui/SelectField');
2127
var Card_1 = require('material-ui/Card');
2228
var RaisedButton_1 = require('material-ui/RaisedButton');
@@ -25,6 +31,7 @@ var languageItems_1 = require('./languageItems');
2531
var runnerItems_1 = require('./runnerItems');
2632
var Top_1 = require('../TopPanel/Top');
2733
var redux_form_1 = require('redux-form');
34+
var coderoad_cli_1 = require('coderoad-cli');
2835
var styles = {
2936
card: {
3037
margin: '10px',
@@ -35,57 +42,55 @@ var styles = {
3542
margin: '30px 10px 20px 10px',
3643
},
3744
};
45+
var fields = ['name', 'language', 'runner'];
46+
var validate = function (values) {
47+
var errors = {};
48+
if (!name) {
49+
errors.name = 'Required';
50+
}
51+
else if (!coderoad_cli_1.validateName(name)) {
52+
errors.name = 'Invalid "coderoad-*" name';
53+
}
54+
if (!values.language) {
55+
errors.language = 'Required';
56+
}
57+
if (!values.runner) {
58+
errors.runner = 'Required';
59+
}
60+
return errors;
61+
};
3862
var TutorialConfig = (function (_super) {
3963
__extends(TutorialConfig, _super);
4064
function TutorialConfig(props) {
4165
_super.call(this, props);
66+
var _a = this.props.packageJson, name = _a.name, config = _a.config;
4267
this.state = {
43-
pj: this.props.packageJson
68+
name: name,
69+
language: config.language,
70+
runner: config.runner,
4471
};
4572
}
4673
TutorialConfig.prototype.componentDidMount = function () {
4774
Top_1.default.toggle(false);
4875
};
49-
TutorialConfig.prototype.handleText = function (prop, event) {
50-
this.handleChange(prop, event.target.value);
51-
};
52-
TutorialConfig.prototype.handleSelect = function (prop, event, index, value) {
53-
this.handleChange(prop, value);
54-
};
55-
TutorialConfig.prototype.handleChange = function (prop, val) {
56-
var obj = {};
57-
obj[prop] = val;
58-
var target = null;
59-
switch (prop) {
60-
case 'name':
61-
this.setState({ pj: Object.assign({}, this.state.pj, obj) });
62-
break;
63-
case 'language':
64-
case 'runner':
65-
var config = Object.assign({}, this.state.pj.config, obj);
66-
var pj = Object.assign({}, this.state.pj, { config: config });
67-
this.setState({ pj: pj });
68-
return;
69-
case 'repo':
70-
var repo = {
71-
repository: {
72-
type: 'git',
73-
url: prop
74-
},
75-
bugs: {
76-
url: path_1.resolve(prop, 'issues')
77-
}
78-
};
79-
this.setState({ pj: Object.assign({}, this.state.pj, repo) });
80-
return;
81-
}
76+
TutorialConfig.prototype.handleChange = function (field, e) {
77+
console.log(e);
78+
var nextState = {};
79+
nextState[field] = e.target.value;
80+
this.setState(Object.assign({}, this.state, nextState));
8281
};
8382
TutorialConfig.prototype.save = function () {
84-
this.props.save(this.state.pj);
83+
console.log(this.state);
84+
};
85+
TutorialConfig.prototype.handleText = function (prop, e, v) {
86+
console.log(e);
87+
var next = {};
88+
next[prop] = v;
89+
this.setState(Object.assign({}, this.state, next));
8590
};
8691
TutorialConfig.prototype.render = function () {
87-
var pj = this.state.pj;
88-
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)})));
92+
var _a = this.state, name = _a.name, language = _a.language, runner = _a.runner;
93+
return (React.createElement(Card_1.Card, {style: styles.card}, React.createElement(Card_1.CardHeader, {title: 'Tutorial Configuration'}), React.createElement("input", {type: 'text', value: name, onChange: this.handleText.bind(this, 'name')}), React.createElement("br", null), React.createElement(SelectField_1.default, __assign({floatingLabelText: 'Language', value: language}, language, {onChange: this.handleChange.bind(this, 'language')}), languageItems_1.default()), React.createElement("br", null), React.createElement(SelectField_1.default, __assign({floatingLabelText: 'Test Runner', value: runner}, runner, {onChange: this.handleChange.bind(this, 'runner')}), runnerItems_1.default(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)})));
8994
};
9095
TutorialConfig = __decorate([
9196
react_redux_1.connect(function (state) { return ({
@@ -104,5 +109,5 @@ var TutorialConfig = (function (_super) {
104109
Object.defineProperty(exports, "__esModule", { value: true });
105110
exports.default = redux_form_1.reduxForm({
106111
form: 'config',
107-
fields: ['name', 'language', 'runner'],
112+
fields: fields,
108113
})(TutorialConfig);

lib/components/TutorialInfo/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ var TutorialInfo = (function (_super) {
5454
this.props.save(this.state.pj);
5555
};
5656
TutorialInfo.prototype.render = function () {
57-
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)})));
57+
var pj = this.state.pj;
58+
return (React.createElement(Card_1.Card, {style: styles}, React.createElement(Card_1.CardHeader, {title: 'Tutorial Info'}), React.createElement(TextField_1.default, {floatingLabelText: 'Title', defaultValue: pj.name, onChange: this.handleText.bind(this, 'name')}), React.createElement("br", null), React.createElement(TextField_1.default, {floatingLabelText: 'Description', defaultValue: pj.description, onChange: this.handleText.bind(this, 'description')}), React.createElement("br", null), React.createElement(TextField_1.default, {floatingLabelText: 'Version', defaultValue: pj.version, disabled: true, onChange: this.handleText.bind(this, 'version')}), React.createElement("br", null), React.createElement(TextField_1.default, {floatingLabelText: 'Keywords', defaultValue: 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)})));
5859
};
5960
TutorialInfo = __decorate([
6061
react_redux_1.connect(function (state) { return ({

lib/modules/package-json/reducer.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ var _pj = {
1919
node: '>=0.10.3'
2020
}
2121
};
22-
var defaultPJ = {};
23-
function tutorialConfig(p, action) {
22+
function packageJson(p, action) {
2423
if (p === void 0) { p = _pj; }
2524
switch (action.type) {
2625
case types_1.PJ_SAVE:
@@ -37,4 +36,4 @@ function tutorialConfig(p, action) {
3736
}
3837
}
3938
Object.defineProperty(exports, "__esModule", { value: true });
40-
exports.default = tutorialConfig;
39+
exports.default = packageJson;

src/components/Page/Hints/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export default class Hints extends React.Component<{
4242
? []
4343
: hints.map((hint, index) => (
4444
<ListItem
45-
key={index.toString()}
45+
key={index}
4646
secondaryText={
4747
<p>{index + 1}. {hint}</p>
4848
}

0 commit comments

Comments
 (0)