Skip to content

Commit fa6551f

Browse files
committed
various updates
1 parent 77eafc1 commit fa6551f

File tree

11 files changed

+7542
-2660
lines changed

11 files changed

+7542
-2660
lines changed

lib/components/menu/menu.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,26 +30,26 @@ var default_1 = (function (_super) {
3030
default_1.prototype.navOptions = function () {
3131
switch (this.props.route) {
3232
case 'page':
33-
return React.createElement("button", {onClick: this.props.routeToProgress}, "progress");
33+
return React.createElement("button", {onTouchTap: this.props.routeToProgress}, "progress");
3434
case 'progress':
35-
return React.createElement("button", {onClick: this.props.routeToPage}, "page");
35+
return React.createElement("button", {onTouchTap: this.props.routeToPage}, "page");
3636
default: return null;
3737
}
3838
};
3939
default_1.prototype.menuOptions = function () {
4040
switch (this.props.route) {
4141
case 'page':
42-
return (React.createElement("div", null, React.createElement(material_ui_1.MenuItem, {primaryText: 'progress', onClick: this.props.routeToProgress}), React.createElement(material_ui_1.MenuItem, {primaryText: 'projects', onClick: this.props.routeToProjects})));
42+
return (React.createElement("div", null, React.createElement(material_ui_1.MenuItem, {primaryText: 'progress', onTouchTap: this.props.routeToProgress, key: 'progress'}), React.createElement(material_ui_1.MenuItem, {primaryText: 'projects', onTouchTap: this.props.routeToProjects, key: 'projects'})));
4343
case 'progress':
44-
return React.createElement(material_ui_1.MenuItem, {primaryText: 'projects', onClick: this.props.routeToProjects});
44+
return React.createElement(material_ui_1.MenuItem, {primaryText: 'projects', onTouchTap: this.props.routeToProjects, key: 'projects'});
4545
default: return null;
4646
}
4747
};
4848
default_1.prototype.closePanel = function () {
4949
render_1.togglePanel();
5050
};
5151
default_1.prototype.render = function () {
52-
return (React.createElement(material_ui_1.AppBar, {title: 'CodeRoad', className: 'cr-menu-bar', iconElementLeft: React.createElement(material_ui_1.IconButton, {onClick: this.closePanel}, React.createElement(NavigationClose, null)), iconElementRight: React.createElement(material_ui_1.IconMenu, {iconButtonElement: React.createElement(material_ui_1.IconButton, null, React.createElement(MoreVertIcon, null)), targetOrigin: { horizontal: 'right', vertical: 'top' }, anchorOrigin: { horizontal: 'right', vertical: 'top' }}, this.menuOptions(), window.coderoad.issuesPath ? React.createElement(material_ui_1.MenuItem, null, React.createElement("a", {href: window.coderoad.issuesPath}, "post issue")) : null, React.createElement(material_ui_1.Divider, null), React.createElement(material_ui_1.MenuItem, {primaryText: 'quit', onClick: this.props.quit}))}));
52+
return (React.createElement(material_ui_1.AppBar, {title: 'CodeRoad', className: 'cr-menu-bar', iconElementLeft: React.createElement(material_ui_1.IconButton, {onTouchTap: this.closePanel}, React.createElement(NavigationClose, null)), iconElementRight: React.createElement(material_ui_1.IconMenu, {iconButtonElement: React.createElement(material_ui_1.IconButton, null, React.createElement(MoreVertIcon, null)), targetOrigin: { horizontal: 'right', vertical: 'top' }, anchorOrigin: { horizontal: 'right', vertical: 'top' }}, this.menuOptions(), window.coderoad.issuesPath ? React.createElement(material_ui_1.MenuItem, {key: 'issue'}, React.createElement("a", {href: window.coderoad.issuesPath}, "post issue")) : null, React.createElement(material_ui_1.ListDivider, null), React.createElement(material_ui_1.MenuItem, {primaryText: 'quit', onTouchTap: this.props.quit}))}));
5353
};
5454
default_1 = __decorate([
5555
react_redux_1.connect(null, function (dispatch) {

lib/components/page/hint.js

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ var material_ui_1 = require('material-ui');
2020
var _components_1 = require('../_components');
2121
var iconPath = 'material-ui/lib/svg-icons/';
2222
var Help = require(iconPath + 'action/help');
23-
var HelpOutline = require(iconPath + 'action/help-outline');
2423
var default_1 = (function (_super) {
2524
__extends(default_1, _super);
2625
function default_1() {
@@ -32,10 +31,8 @@ var default_1 = (function (_super) {
3231
if (hintPosition < 0 || !hints || !hints.length) {
3332
return React.createElement("div", null);
3433
}
35-
else {
36-
var hint = hints[hintPosition];
37-
return (React.createElement(material_ui_1.Card, {className: 'cr-task-hints'}, React.createElement(material_ui_1.CardHeader, {title: 'Hints', avatar: React.createElement(Help, null), actAsExpander: true, showExpandableButton: true}), React.createElement(material_ui_1.CardText, {className: 'cr-task-hint', expandable: true}, React.createElement(_components_1.MarkdownText, {text: hint})), React.createElement(material_ui_1.CardActions, {expandable: true}, React.createElement(material_ui_1.FlatButton, {label: 'Previous', disabled: hintPosition < 1, onClick: prevHint.bind(this, hintPosition - 1)}), React.createElement(material_ui_1.FlatButton, {label: 'Next', disabled: hintPosition > hints.length - 2, onClick: nextHint.bind(this, hintPosition + 1)}))));
38-
}
34+
var hint = hints[hintPosition];
35+
return (React.createElement(material_ui_1.Card, {className: 'cr-task-hints'}, React.createElement(material_ui_1.CardHeader, {title: 'Hints', avatar: React.createElement(Help, null), actAsExpander: true, showExpandableButton: true}), React.createElement(material_ui_1.CardText, {className: 'cr-task-hint', expandable: true}, React.createElement(_components_1.MarkdownText, {text: hint})), React.createElement(material_ui_1.CardActions, {expandable: true}, React.createElement(material_ui_1.FlatButton, {label: 'Previous', disabled: hintPosition < 1, onTouchTap: prevHint.bind(this, hintPosition - 1)}), React.createElement(material_ui_1.FlatButton, {label: 'Next', disabled: hintPosition > hints.length - 2, onTouchTap: nextHint.bind(this, hintPosition + 1)}))));
3936
};
4037
default_1 = __decorate([
4138
react_redux_1.connect(null, function (dispatch, state) {

lib/components/page/page.js

Lines changed: 2 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,39 +4,18 @@ 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 __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
8-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
9-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
10-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
11-
return c > 3 && r && Object.defineProperty(target, key, r), r;
12-
};
13-
var __metadata = (this && this.__metadata) || function (k, v) {
14-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
15-
};
167
var React = require('react');
178
var ReactDOM = require('react-dom');
18-
var react_redux_1 = require('react-redux');
19-
var Action = require('../../actions/actions');
20-
var iconPath = 'material-ui/lib/svg-icons/';
219
var material_ui_1 = require('material-ui');
22-
var Complete = require(iconPath + 'toggle/check-box');
23-
var Incomplete = require(iconPath + 'toggle/check-box-outline-blank');
24-
var RunningTest = require(iconPath + 'toggle/indeterminate-check-box');
25-
var material_ui_2 = require('material-ui');
2610
var content_1 = require('./content');
2711
var task_1 = require('./task');
2812
var hint_1 = require('./hint');
2913
var page_complete_1 = require('./page-complete');
3014
var toolbar_1 = require('./toolbar');
31-
var Info = require(iconPath + 'action/info');
32-
var InfoOutline = require(iconPath + 'action/info-outline');
33-
var style = {
15+
var pageStyle = {
3416
height: '100%',
3517
width: '100%'
3618
};
37-
function taskProgress(current, max) {
38-
return (current / max) * 100;
39-
}
4019
var default_1 = (function (_super) {
4120
__extends(default_1, _super);
4221
function default_1() {
@@ -49,19 +28,8 @@ var default_1 = (function (_super) {
4928
var _a = this.props, page = _a.page, taskPosition = _a.taskPosition, hintPosition = _a.hintPosition, tasks = _a.tasks, runTests = _a.runTests;
5029
var currentTask = taskPosition <= tasks.length ? tasks[taskPosition] : null;
5130
var allComplete = taskPosition >= tasks.length;
52-
return (React.createElement(material_ui_2.Paper, {style: style, zDepth: 1, className: 'cr-page'}, React.createElement(content_1.default, {page: page}), React.createElement(material_ui_1.Divider, null), React.createElement(task_1.Tasks, {tasks: tasks, taskPosition: taskPosition, runTests: runTests}), React.createElement(hint_1.default, {task: currentTask, hintPosition: hintPosition}), React.createElement(page_complete_1.PageCompleteMessage, {page: page}), React.createElement("div", {ref: 'listEnd'}), React.createElement(toolbar_1.default, {tasks: tasks, taskPosition: taskPosition, hintPosition: hintPosition})));
31+
return (React.createElement(material_ui_1.Paper, {style: pageStyle, zDepth: 1, className: 'cr-page'}, React.createElement(content_1.default, {page: page}), React.createElement(material_ui_1.ListDivider, null), React.createElement(task_1.Tasks, {tasks: tasks, taskPosition: taskPosition, runTests: runTests}), React.createElement(hint_1.default, {task: currentTask, hintPosition: hintPosition}), React.createElement(page_complete_1.PageCompleteMessage, {page: page}), React.createElement("div", {ref: 'listEnd'}), React.createElement(toolbar_1.default, {tasks: tasks, taskPosition: taskPosition, hintPosition: hintPosition})));
5332
};
54-
default_1 = __decorate([
55-
react_redux_1.connect(null, function (dispatch, state) {
56-
return {
57-
callNextPage: function () { return dispatch(Action.nextPage()); },
58-
callRunTests: function () { return dispatch(Action.runTests()); },
59-
toggleLog: function () { return dispatch(Action.toggleLog()); },
60-
showHint: function (newHintPos) { return dispatch(Action.setHintPosition(newHintPos)); }
61-
};
62-
}),
63-
__metadata('design:paramtypes', [])
64-
], default_1);
6533
return default_1;
6634
}(React.Component));
6735
Object.defineProperty(exports, "__esModule", { value: true });

lib/components/page/toolbar.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ var default_1 = (function (_super) {
3535
var progress = taskProgress(taskPosition, tasks.length);
3636
var allComplete = taskPosition >= tasks.length;
3737
return (React.createElement("section", {className: 'cr-page-toolbar'}, React.createElement(ProgressBar, {progress: progress}), React.createElement(material_ui_1.Toolbar, null, React.createElement(material_ui_1.ToolbarGroup, {float: 'right'}, allComplete ?
38-
React.createElement(material_ui_1.RaisedButton, {label: 'Continue', primary: true, onClick: callNextPage})
38+
React.createElement(material_ui_1.RaisedButton, {label: 'Continue', primary: true, onTouchTap: callNextPage})
3939
:
40-
React.createElement(material_ui_1.RaisedButton, {label: 'Run', secondary: true, onClick: callRunTests})))));
40+
React.createElement(material_ui_1.RaisedButton, {label: 'Run', secondary: true, onTouchTap: callRunTests})))));
4141
};
4242
default_1 = __decorate([
4343
react_redux_1.connect(null, function (dispatch, state) {

src/components/_index.less

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@
1414
font-size: @font-size;
1515
}
1616

17+
#crv a {
18+
text-decoration: none
19+
}
20+
#crv a:visited {
21+
color: black;
22+
text-decoration: none;
23+
}
24+
1725
pre {
1826
margin-bottom: 10px !important;
1927
padding-bottom: 0;

src/components/menu/menu.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import * as Action from '../../actions/actions';
55
import {togglePanel} from '../render';
66
import {onDeactivateSubscriptionsAndUnmount} from '../../atom/subscriptions';
77

8-
import {AppBar, IconButton, IconMenu, MenuItem, Divider} from 'material-ui';
8+
import {AppBar, IconButton, IconMenu, MenuItem, ListDivider} from 'material-ui';
99
let MoreVertIcon = require('material-ui/lib/svg-icons/navigation/more-vert');
1010
let NavigationClose = require('material-ui/lib/svg-icons/navigation/close');
1111
// let Feedback = require('material-ui/lib/svg-icons/action/feedback');
@@ -36,9 +36,9 @@ export default class extends React.Component<{
3636
navOptions(): React.ReactElement<{}> {
3737
switch (this.props.route) {
3838
case 'page':
39-
return <button onClick={this.props.routeToProgress}>progress</button>;
39+
return <button onTouchTap={this.props.routeToProgress}>progress</button>;
4040
case 'progress':
41-
return <button onClick={this.props.routeToPage}>page</button>;
41+
return <button onTouchTap={this.props.routeToPage}>page</button>;
4242
default: return null;
4343
}
4444
}
@@ -47,11 +47,11 @@ export default class extends React.Component<{
4747
case 'page':
4848
return (
4949
<div>
50-
<MenuItem primaryText='progress' onClick={this.props.routeToProgress} />
51-
<MenuItem primaryText='projects' onClick={this.props.routeToProjects} />
50+
<MenuItem primaryText='progress' onTouchTap={this.props.routeToProgress} key='progress' />
51+
<MenuItem primaryText='projects' onTouchTap={this.props.routeToProjects} key='projects' />
5252
</div>);
5353
case 'progress':
54-
return <MenuItem primaryText='projects' onClick={this.props.routeToProjects} />;
54+
return <MenuItem primaryText='projects' onTouchTap={this.props.routeToProjects} key='projects' />;
5555
default: return null;
5656
}
5757
}
@@ -62,7 +62,7 @@ export default class extends React.Component<{
6262
return (
6363
<AppBar title={'CodeRoad'}
6464
className='cr-menu-bar'
65-
iconElementLeft={<IconButton onClick={this.closePanel}><NavigationClose /></IconButton>}
65+
iconElementLeft={<IconButton onTouchTap={this.closePanel}><NavigationClose /></IconButton>}
6666
iconElementRight={
6767
<IconMenu
6868
iconButtonElement={
@@ -74,14 +74,14 @@ export default class extends React.Component<{
7474
{/* Menu Items */}
7575
{this.menuOptions()}
7676
{}
77-
{window.coderoad.issuesPath ? <MenuItem>
77+
{window.coderoad.issuesPath ? <MenuItem key='issue'>
7878
<a href={window.coderoad.issuesPath}>
7979
post issue
8080
</a>
8181
</MenuItem> : null}
8282

83-
<Divider />
84-
<MenuItem primaryText='quit' onClick={this.props.quit}/>
83+
<ListDivider />
84+
<MenuItem primaryText='quit' onTouchTap={this.props.quit}/>
8585

8686
</IconMenu>
8787
} />

src/components/page/hint.tsx

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import {Card, CardActions, CardHeader, CardText, FlatButton} from 'material-ui';
66
import {MarkdownText} from '../_components';
77
const iconPath = 'material-ui/lib/svg-icons/';
88
let Help = require(iconPath + 'action/help');
9-
let HelpOutline = require(iconPath + 'action/help-outline');
109

1110
@connect(null, (dispatch, state) => {
1211
return {
@@ -23,26 +22,25 @@ export default class extends React.Component<{
2322
const hints = task && task.hints ? task.hints : null;
2423
if (hintPosition < 0 || !hints || !hints.length) {
2524
return <div></div>;
26-
} else {
25+
}
2726
const hint = hints[hintPosition];
2827
return (
29-
<Card className='cr-task-hints'>
30-
<CardHeader
31-
title='Hints'
32-
avatar={<Help />}
33-
actAsExpander={true}
34-
showExpandableButton={true} />
35-
<CardText className='cr-task-hint' expandable={true}>
36-
<MarkdownText text={hint} />
37-
</CardText>
38-
<CardActions expandable={true}>
39-
<FlatButton label='Previous' disabled={hintPosition < 1}
40-
onClick={prevHint.bind(this, hintPosition - 1)} />
41-
<FlatButton label='Next' disabled={hintPosition > hints.length - 2}
42-
onClick={nextHint.bind(this, hintPosition + 1)} />
43-
</CardActions>
44-
</Card>
45-
);
28+
<Card className='cr-task-hints'>
29+
<CardHeader
30+
title='Hints'
31+
avatar={<Help />}
32+
actAsExpander={true}
33+
showExpandableButton={true} />
34+
<CardText className='cr-task-hint' expandable={true}>
35+
<MarkdownText text={hint} />
36+
</CardText>
37+
<CardActions expandable={true}>
38+
<FlatButton label='Previous' disabled={hintPosition < 1}
39+
onTouchTap={prevHint.bind(this, hintPosition - 1)} />
40+
<FlatButton label='Next' disabled={hintPosition > hints.length - 2}
41+
onTouchTap={nextHint.bind(this, hintPosition + 1)} />
42+
</CardActions>
43+
</Card>
44+
);
4645
}
4746
}
48-
}

src/components/page/page.tsx

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,18 @@
11
'use strict';
22
import * as React from 'react';
33
import * as ReactDOM from 'react-dom';
4-
import {connect} from 'react-redux';
5-
import * as Action from '../../actions/actions';
6-
const iconPath = 'material-ui/lib/svg-icons/';
7-
8-
// tasks
9-
import {MarkdownText} from '../_components';
10-
import {List, ListItem, Divider} from 'material-ui';
11-
import {green500, orange500} from 'material-ui/lib/styles/colors';
12-
import * as classnames from 'classnames';
13-
let Complete = require(iconPath + 'toggle/check-box');
14-
let Incomplete = require(iconPath + 'toggle/check-box-outline-blank');
15-
let RunningTest = require(iconPath + 'toggle/indeterminate-check-box');
16-
17-
18-
import {Paper, LinearProgress, Toolbar, ToolbarGroup, RaisedButton, FlatButton} from 'material-ui';
19-
4+
import {Paper, ListDivider} from 'material-ui';
205
import PageContent from './content';
216
import {Tasks} from './task';
227
import Hints from './hint';
238
import {PageCompleteMessage} from './page-complete';
249
import PageToolbar from './toolbar';
25-
// import PageToolbar from './toolbar';
2610

27-
let Info = require(iconPath + 'action/info');
28-
let InfoOutline = require(iconPath + 'action/info-outline');
29-
30-
const style = {
11+
const pageStyle = {
3112
height: '100%',
3213
width: '100%'
3314
};
3415

35-
function taskProgress(current: number, max: number) {
36-
return (current / max) * 100;
37-
}
38-
39-
/**
40-
* Page Component
41-
* display page data
42-
*/
43-
@connect(null, (dispatch, state) => {
44-
return {
45-
callNextPage: () => dispatch(Action.nextPage()),
46-
callRunTests: () => dispatch(Action.runTests()),
47-
toggleLog: () => dispatch(Action.toggleLog()),
48-
showHint: (newHintPos: number) => dispatch(Action.setHintPosition(newHintPos))
49-
};
50-
})
5116
export default class extends React.Component<{
5217
page: CR.Page, tasks: CR.Task[], taskPosition: number,
5318
editorActions: string[], log: any, hintPosition: number,
@@ -70,10 +35,9 @@ render() {
7035
const allComplete = taskPosition >= tasks.length;
7136

7237
return (
73-
<Paper style={style} zDepth={1} className='cr-page'>
74-
{/* Content */}
38+
<Paper style={pageStyle} zDepth={1} className='cr-page'>
7539
<PageContent page={page} />
76-
<Divider />
40+
<ListDivider />
7741

7842
<Tasks tasks={tasks} taskPosition={taskPosition} runTests={runTests} />
7943
<Hints task={currentTask} hintPosition={hintPosition} />

src/components/page/toolbar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,9 @@ export default class extends React.Component<{
3737

3838
{/* check work || continue */}
3939
{allComplete ?
40-
<RaisedButton label='Continue' primary={true} onClick={callNextPage}/>
40+
<RaisedButton label='Continue' primary={true} onTouchTap={callNextPage}/>
4141
:
42-
<RaisedButton label='Run' secondary={true} onClick={callRunTests}/>
42+
<RaisedButton label='Run' secondary={true} onTouchTap={callRunTests}/>
4343
}
4444
</ToolbarGroup>
4545

0 commit comments

Comments
 (0)