Skip to content

Commit 37787a2

Browse files
committed
typescript coverage for statless components
1 parent 88cbb35 commit 37787a2

File tree

18 files changed

+51
-43
lines changed

18 files changed

+51
-43
lines changed

lib/components/_components.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,8 @@ var routes_1 = require('./routes/routes');
55
exports.Routes = routes_1.default;
66
var page_1 = require('./page/page');
77
exports.Page = page_1.default;
8-
var chapter_1 = require('./page/chapter/chapter');
9-
exports.Chapter = chapter_1.default;
108
var menu_1 = require('./menu/menu');
119
exports.Menu = menu_1.default;
12-
var progress_1 = require('./progress/progress');
13-
exports.Progress = progress_1.default;
1410
var start_1 = require('./start/start');
1511
exports.Start = start_1.Start;
1612
var tutorials_1 = require('./tutorials/tutorials');
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
'use strict';
22
var React = require('react');
33
var _components_1 = require('../../_components');
4-
Object.defineProperty(exports, "__esModule", { value: true });
5-
exports.default = function (_a) {
4+
exports.Chapter = function (_a) {
65
var chapter = _a.chapter;
76
return (React.createElement("section", {className: 'cr-chapter'}, React.createElement(_components_1.Markdown, null, chapter.title)));
87
};

lib/components/page/content.js

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,7 @@ var _components_1 = require('../_components');
44
var card_1 = require('material-ui/lib/card/card');
55
var card_header_1 = require('material-ui/lib/card/card-header');
66
var card_text_1 = require('material-ui/lib/card/card-text');
7-
function default_1(_a) {
7+
exports.PageContent = function (_a) {
88
var page = _a.page;
99
return (React.createElement(card_1.default, null, React.createElement(card_header_1.default, {title: page.title}), React.createElement(card_text_1.default, null, React.createElement(_components_1.Markdown, null, page.description))));
10-
}
11-
Object.defineProperty(exports, "__esModule", { value: true });
12-
exports.default = default_1;
10+
};

lib/components/page/edit.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ var React = require('react');
33
var path = require('path');
44
var mode_edit_1 = require('material-ui/lib/svg-icons/editor/mode-edit');
55
var editStyle = { position: 'absolute', top: '10px', right: '10px' };
6-
Object.defineProperty(exports, "__esModule", { value: true });
7-
exports.default = function (editPath) {
6+
exports.Edit = function (_a) {
7+
var editPath = _a.editPath;
88
if (editPath && window.coderoad.edit) {
99
var repoPath = path.join(window.coderoad.repo, 'edit', 'master', editPath);
1010
return React.createElement("a", {href: repoPath}, React.createElement(mode_edit_1.default, {style: editStyle}));

lib/components/page/page.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ var default_1 = (function (_super) {
2929
var _a = this.props, page = _a.page, taskPosition = _a.taskPosition, hintPosition = _a.hintPosition, tasks = _a.tasks, runTests = _a.runTests;
3030
var currentTask = taskPosition <= tasks.length ? tasks[taskPosition] : null;
3131
var allComplete = taskPosition >= tasks.length;
32-
return (React.createElement(paper_1.default, {style: pageStyle, zDepth: 1, className: 'cr-page', ref: 'page'}, React.createElement(content_1.default, {page: page}), React.createElement(divider_1.default, null), React.createElement(task_1.Tasks, {tasks: tasks, taskPosition: taskPosition, runTests: runTests}), React.createElement("div", {className: 'listEnd', ref: 'listEnd'}), React.createElement(hint_1.default, {task: currentTask, hintPosition: hintPosition}), React.createElement(page_complete_1.PageCompleteMessage, {page: page}), React.createElement(toolbar_1.default, {tasks: tasks, taskPosition: taskPosition})));
32+
return (React.createElement(paper_1.default, {style: pageStyle, zDepth: 1, className: 'cr-page', ref: 'page'}, React.createElement(content_1.PageContent, {page: page}), React.createElement(divider_1.default, null), React.createElement(task_1.Tasks, {tasks: tasks, taskPosition: taskPosition, runTests: runTests}), React.createElement("div", {className: 'listEnd', ref: 'listEnd'}), React.createElement(hint_1.default, {task: currentTask, hintPosition: hintPosition}), React.createElement(page_complete_1.PageCompleteMessage, {page: page}), React.createElement(toolbar_1.default, {tasks: tasks, taskPosition: taskPosition})));
3333
};
3434
return default_1;
3535
}(React.Component));

lib/components/progress/progress.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,7 @@ var style = {
8181
width: '100%',
8282
margin: 0
8383
};
84-
Object.defineProperty(exports, "__esModule", { value: true });
85-
exports.default = function (_a) {
84+
exports.Progress = function (_a) {
8685
var progress = _a.progress, position = _a.position;
8786
return (React.createElement(paper_1.default, {style: style, zDepth: 1, className: 'cr-progress'}, React.createElement(list_1.default, null, React.createElement(Subheader_1.default, null, "Progress"), progress.chapters.map(function (chapter, chapterIndex) {
8887
var isActive = chapterIndex === position.chapter;

lib/components/start/checks/checks.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
1414
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
1515
};
1616
var React = require('react');
17+
var paper_1 = require('material-ui/lib/paper');
1718
var setup_checker_1 = require('./setup-checker');
1819
var VerticalStep_1 = require('material-ui/lib/Stepper/VerticalStep');
1920
var flat_button_1 = require('material-ui/lib/flat-button');
@@ -38,7 +39,7 @@ var Checks = (function (_super) {
3839
};
3940
Checks.prototype.render = function () {
4041
var _a = this.props, checks = _a.checks, verify = _a.verify;
41-
return React.createElement("div", {className: 'cr-checks'}, React.createElement("p", {className: 'tagline'}, "Setup"), checks.system.passed ? null : React.createElement(setup_checker_1.default, {title: 'Dependency Checks', status: this.getSystemChecks(checks)}, React.createElement(VerticalStep_1.default, {orderStepLabel: fail, stepLabel: 'Node >= 0.10', actions: [
42+
return React.createElement(paper_1.default, {className: 'cr-checks'}, React.createElement("p", {className: 'tagline'}, "Setup"), checks.system.passed ? null : React.createElement(setup_checker_1.default, {title: 'Dependency Checks', status: this.getSystemChecks(checks)}, React.createElement(VerticalStep_1.default, {orderStepLabel: fail, stepLabel: 'Node >= 0.10', actions: [
4243
React.createElement(flat_button_1.default, {key: 0, primary: true, label: 'Verify', onTouchTap: verify})
4344
]}, React.createElement("div", null, "Install a newer version of ", React.createElement("a", {href: 'https://nodejs.org'}, "Node"))), React.createElement(VerticalStep_1.default, {orderStepLabel: fail, stepLabel: 'NPM >= 3', actions: [
4445
React.createElement(flat_button_1.default, {key: 0, primary: true, label: 'Verify', onTouchTap: verify}),

src/components/final-page/final-page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import CardText from 'material-ui/lib/card/card-text';
88
import CardActions from 'material-ui/lib/card/card-actions';
99
import FlatButton from 'material-ui/lib/flat-button';
1010

11-
export const FinalPage = () => (
11+
export const FinalPage: React.StatelessComponent<{}> = () => (
1212
<Paper>
1313
<Card>
1414
<CardTitle title='Congratulations!'

src/components/markdown/markdown.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function formatText(text: string): string {
3333
* Markdown Text
3434
* MD -> HTML
3535
*/
36-
export const Markdown: React.StatelessComponent<any> = ({children}) => {
36+
export const Markdown: React.StatelessComponent<{children?: string}> = ({children}) => {
3737
let text = formatText(children);
3838
return <span className='cr-markdown' dangerouslySetInnerHTML={
3939
{__html: text}

src/components/page/chapter/chapter.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {Markdown} from '../../_components';
55
* Chapters Component
66
* basic chapter info
77
*/
8-
export default ({chapter}) => (
8+
export const Chapter: React.StatelessComponent<{chapter}> = ({chapter}) => (
99
<section className='cr-chapter'>
1010
<Markdown>{chapter.title}</Markdown>
1111
</section>

src/components/page/complete/page-complete.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as React from 'react';
22
import ListItem from 'material-ui/lib/lists/list-item';
33
import {Markdown} from '../../_components';
44

5-
export const PageCompleteMessage = ({page}) => (
5+
export const PageCompleteMessage: React.StatelessComponent<{page: CR.Page}> = ({page}) => (
66
<div className='cr-page-onComplete'>
77
{page.completed && page.onPageComplete ?
88
<ListItem key='page-complete'>

src/components/page/content.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ import Card from 'material-ui/lib/card/card';
44
import CardHeader from 'material-ui/lib/card/card-header';
55
import CardText from 'material-ui/lib/card/card-text';
66

7-
export default function ({page}) {
8-
return (
9-
<Card>
10-
<CardHeader title={page.title} />
11-
<CardText>
12-
<Markdown>{page.description}</Markdown>
13-
</CardText>
14-
</Card>
15-
);
16-
}
7+
export const PageContent: React.StatelessComponent<{
8+
page: CR.Page
9+
}> = ({page}) => (
10+
<Card>
11+
<CardHeader title={page.title} />
12+
<CardText>
13+
<Markdown>{page.description}</Markdown>
14+
</CardText>
15+
</Card>
16+
);

src/components/page/edit.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@ import NavigationClose from 'material-ui/lib/svg-icons/navigation/close';
44
import ModeEdit from 'material-ui/lib/svg-icons/editor/mode-edit';
55
const editStyle = {position: 'absolute', top: '10px', right: '10px'};
66

7-
export default (editPath: string) => {
7+
export const Edit: React.StatelessComponent<{
8+
editPath: string
9+
}> = ({editPath}) => {
810
if (editPath && window.coderoad.edit) {
911
let repoPath = path.join(window.coderoad.repo, 'edit', 'master', editPath);
1012
return <a href={repoPath}>
1113
<ModeEdit style={editStyle}/>
1214
</a>;
1315
}
14-
}
16+
};

src/components/page/page.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
33
import Paper from 'material-ui/lib/paper';
44
import Divider from 'material-ui/lib/divider';
5-
import PageContent from './content';
5+
import {PageContent} from './content';
66
import {Tasks} from './task/task';
77
import Hints from './hint/hint';
88
import {PageCompleteMessage} from './complete/page-complete';

src/components/page/task/task.tsx

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ function visibleTasks(tasks: CR.Task[], taskPosition: number) {
1212
return tasks.slice(0, taskPosition + 1);
1313
}
1414

15-
const TaskCheckbox = ({index, taskPosition, runTests}) => {
15+
const TaskCheckbox: React.StatelessComponent<{
16+
index: number, taskPosition: number, runTests: boolean
17+
}> = ({index, taskPosition, runTests}) => {
1618
let icon = null;
1719
if (index < taskPosition) {
1820
icon = <CheckBox color={green500} />;
@@ -25,17 +27,23 @@ const TaskCheckbox = ({index, taskPosition, runTests}) => {
2527
return <span className='cr-task-checkbox'>{icon}</span>;
2628
};
2729

28-
const TaskIndex = ({index}) => (
30+
const TaskIndex: React.StatelessComponent<{
31+
index: number
32+
}> = ({index}) => (
2933
<span className='cr-task-index'>{index + 1}.</span>
3034
);
3135

32-
const TaskContent = ({task}) => (
36+
const TaskContent: React.StatelessComponent<{
37+
task: CR.Task
38+
}> = ({task}) => (
3339
<div className='cr-task-description'>
3440
<Markdown>{task.description}</Markdown>
3541
</div>
3642
);
3743

38-
export const Task = ({task, taskPosition, index, runTests}) => {
44+
export const Task: React.StatelessComponent<{
45+
task: CR.Task, taskPosition: number, index: number, runTests: boolean
46+
}> = ({task, taskPosition, index, runTests}) => {
3947
const isCompleted = index < taskPosition;
4048
return (
4149
<ListItem key={index} className='cr-task' style={{backgroundColor: isCompleted ? '#c8e6c9' : 'inherit'}}>
@@ -46,9 +54,10 @@ export const Task = ({task, taskPosition, index, runTests}) => {
4654
);
4755
};
4856

49-
export const Tasks = ({tasks, taskPosition, runTests}) => {
57+
export const Tasks: React.StatelessComponent<{
58+
tasks: CR.Task[], taskPosition: number, runTests: boolean
59+
}> = ({tasks, taskPosition, runTests}) => {
5060
const visTasks = visibleTasks(tasks, taskPosition);
51-
5261
return <List className='cr-tasks'>
5362
<Subheader>Tasks</Subheader>
5463
{visTasks.map((task, index) => <Task

src/components/page/toolbar/toolbar.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ import {toggleDevTools} from '../../../atom/actions';
1111
import {store} from '../../../store/store';
1212
import Code from 'material-ui/lib/svg-icons/action/code';
1313

14-
const ProgressBar = ({progress}) => <LinearProgress mode='determinate'
14+
const ProgressBar: React.StatelessComponent<{
15+
progress: number
16+
}> = ({progress}) => <LinearProgress mode='determinate'
1517
value={progress} style={{height: '10px'}}/>;
1618

1719
function taskProgress(current: number, max: number) {

src/components/progress/progress.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,9 @@ const style = {
6868
* Progress Component
6969
* display page data
7070
*/
71-
export default ({progress, position}) => (
71+
export const Progress: React.StatelessComponent<{
72+
progress: CR.Progress, position: CR.Position
73+
}> = ({progress, position}) => (
7274
<Paper style={style} zDepth={1} className='cr-progress'>
7375
{/*}<ProjectDescription project={project} />*/}
7476
<List>

src/components/start/checks/checks.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ export default class Checks extends React.Component<{
3131
}
3232
render() {
3333
const {checks, verify} = this.props;
34-
return <div className='cr-checks'>
34+
return <Paper className='cr-checks'>
3535
{/* System Checks */}
3636

3737
<p className='tagline'>Setup</p>
@@ -116,6 +116,6 @@ export default class Checks extends React.Component<{
116116
<a href='https://coderoad.github.io/docs#install'> <strong>Install Guide</strong></a></span>
117117
</div>}
118118

119-
</div>;
119+
</Paper>;
120120
}
121121
}

0 commit comments

Comments
 (0)