Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit29daf94

Browse files
committed
display editable final page
1 parentb9498c6 commit29daf94

File tree

17 files changed

+171
-85
lines changed

17 files changed

+171
-85
lines changed
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
"use strict";
2+
varReact=require('react');
3+
varFlatButton_1=require('material-ui/FlatButton');
4+
varSeeMore=function(){return(React.createElement("div",null,
5+
"What's next?",
6+
React.createElement("br",null),
7+
React.createElement("br",null),
8+
React.createElement("a",{href:'https://coderoad.github.io/tutorials.html'},
9+
React.createElement(FlatButton_1.default,{label:'See More Tutorials',disabled:true})
10+
),
11+
React.createElement("span",null," (coming soon)"),
12+
React.createElement("br",null),
13+
React.createElement("br",null),
14+
React.createElement("a",{href:'https://coderoad.github.io/builder-coderoad.html'},
15+
React.createElement(FlatButton_1.default,{label:'Learn how to Create a Tutorial'})
16+
)));};
17+
Object.defineProperty(exports,"__esModule",{value:true});
18+
exports.default=SeeMore;

‎lib/components/FinalPage/index.js‎

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,12 @@ var __extends = (this && this.__extends) || function (d, b) {
55
d.prototype=b===null ?Object.create(b) :(__.prototype=b.prototype,new__());
66
};
77
varReact=require('react');
8+
varreact_redux_1=require('react-redux');
9+
varselectors_1=require('../../selectors');
10+
varindex_1=require('../index');
11+
varSeeMore_1=require('./SeeMore');
812
varCard_1=require('material-ui/Card');
9-
varFlatButton_1=require('material-ui/FlatButton');
13+
varDivider_1=require('material-ui/Divider');
1014
varstyles={
1115
card:{
1216
margin:'5px',
@@ -19,23 +23,18 @@ var FinalPage = (function (_super) {
1923
_super.apply(this,arguments);
2024
}
2125
FinalPage.prototype.render=function(){
26+
varpage=this.props.page;
2227
return(React.createElement(Card_1.Card,{style:styles.card},
2328
React.createElement(Card_1.CardTitle,{title:'Congratulations!',subtitle:'Tutorial Complete!'}),
2429
React.createElement(Card_1.CardText,null,
25-
"What's next?",
26-
React.createElement("br",null),
27-
React.createElement("br",null),
28-
React.createElement("a",{href:'https://coderoad.github.io/tutorials.html'},
29-
React.createElement(FlatButton_1.default,{label:'See More Tutorials',disabled:true})
30-
),
31-
React.createElement("span",null," (coming soon)"),
32-
React.createElement("br",null),
33-
React.createElement("br",null),
34-
React.createElement("a",{href:'https://coderoad.github.io/builder-coderoad.html'},
35-
React.createElement(FlatButton_1.default,{label:'Learn how to Create a Tutorial'})
36-
))));
30+
page&&page.description ?React.createElement(index_1.Markdown,{children:page.description}) :null,
31+
page&&page.description ?React.createElement(Divider_1.default,null) :null,
32+
React.createElement(SeeMore_1.default,null))));
3733
};
3834
returnFinalPage;
3935
}(React.Component));
36+
varmapStateToProps=function(state){return({
37+
page:selectors_1.finalPageSelector(state)
38+
});};
4039
Object.defineProperty(exports,"__esModule",{value:true});
41-
exports.default=FinalPage;
40+
exports.default=react_redux_1.connect(mapStateToProps)(FinalPage);

‎lib/modules/tutorial/index.js‎

Lines changed: 39 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,40 @@
11
"use strict";
2-
varreducer_1=require('./reducer');
3-
exports.reducer=reducer_1.default;
2+
varpath_1=require('path');
3+
vartypes_1=require('./types');
4+
varconfig_1=require('./utils/config');
5+
exports._tutorial={
6+
name:'default',
7+
version:'0.1.0',
8+
info:{
9+
title:'error',
10+
description:'Something went wrong. Tutorial not loaded.'
11+
},
12+
pages:[],
13+
packageJson:null,
14+
config:null,
15+
};
16+
functiontutorialReducer(t,action){
17+
if(t===void0){t=exports._tutorial;}
18+
switch(action.type){
19+
casetypes_1.TUTORIAL_SET:
20+
var_a=action.payload,name_1=_a.name,dir=_a.dir,version=_a.version;
21+
varpackagePath=path_1.join(dir,'node_modules',name_1);
22+
varpackageJson=require(path_1.join(packagePath,'package.json'));
23+
varconfig=config_1.tutorialConfig(packageJson,dir);
24+
varcoderoadJsonPath=path_1.join(packagePath,packageJson.main);
25+
var_b=require(coderoadJsonPath),info=_b.info,pages=_b.pages,final=_b.final;
26+
return{
27+
name:packageJson.name,
28+
version:version,
29+
info:info,
30+
pages:pages,
31+
packageJson:packageJson,
32+
config:config,
33+
final:final,
34+
};
35+
default:
36+
returnt;
37+
}
38+
}
39+
Object.defineProperty(exports,"__esModule",{value:true});
40+
exports.default=tutorialReducer;

‎lib/reducers.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
1616
exports.default=redux_1.combineReducers({
1717
alert:alert_1.default,checks:setup_1.checks,editor:editor_1.reducer,dir:dir_1.default,hintPosition:hints_1.default,
1818
packageJson:setup_1.packageJson,pagePosition:page_1.pagePosition,progress:progress_1.default,route:route_1.reducer,
19-
tutorial:tutorial_1.reducer,tutorials:tutorials_1.default,
19+
tutorial:tutorial_1.default,tutorials:tutorials_1.default,
2020
taskActions:page_1.taskActions,taskPosition:tests_1.taskPosition,testRun:tests_1.testRun,window:window_1.reducer
2121
});

‎lib/selectors/index.js‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ exports.hintSelector = hints_1.hintSelector;
55
varpage_1=require('./page');
66
exports.pageSelector=page_1.pageSelector;
77
exports.pageCompletedSelector=page_1.pageCompletedSelector;
8+
exports.finalPageSelector=page_1.finalPageSelector;
89
vartasks_1=require('./tasks');
910
exports.tasksSelector=tasks_1.tasksSelector;
1011
exports.currentTaskSelector=tasks_1.currentTaskSelector;

‎lib/selectors/page.js‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
"use strict";
22
exports.pageSelector=function(state){returnstate.tutorial.pages[state.pagePosition];};
33
exports.pageCompletedSelector=function(state){returnstate.progress.pages[state.pagePosition];};
4+
exports.finalPageSelector=function(state){returnstate.tutorial.final;};

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
},
3131
"dependencies": {
3232
"atom-plugin-command-line":"1.0.2",
33-
"coderoad-cli":"0.9.1",
33+
"coderoad-cli":"0.10.0",
3434
"marked":"0.3.6",
3535
"material-ui":"0.15.4",
3636
"node-file-exists":"1.1.0",
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import*asReactfrom'react';
2+
3+
importFlatButtonfrom'material-ui/FlatButton';
4+
5+
constSeeMore=()=>(
6+
<div>
7+
What's next?
8+
<br/><br/>
9+
<ahref='https://coderoad.github.io/tutorials.html'>
10+
<FlatButton
11+
label='See More Tutorials'
12+
disabled={true}
13+
/>
14+
</a>
15+
<span> (coming soon)</span>
16+
<br/><br/>
17+
<ahref='https://coderoad.github.io/builder-coderoad.html'>
18+
<FlatButtonlabel='Learn how to Create a Tutorial'/>
19+
</a>
20+
</div>
21+
);
22+
23+
exportdefaultSeeMore;

‎src/components/FinalPage/index.tsx‎

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import*asReactfrom'react';
22
import{connect}from'react-redux';
33

4+
import{finalPageSelector}from'../../selectors';
5+
import{Markdown}from'../index';
6+
importSeeMorefrom'./SeeMore';
47
import{Card,CardActions,CardText,CardTitle}from'material-ui/Card';
58
importDividerfrom'material-ui/Divider';
6-
importFlatButtonfrom'material-ui/FlatButton';
79
importPaperfrom'material-ui/Paper';
810

911
conststyles={
@@ -13,33 +15,30 @@ const styles = {
1315
},
1416
};
1517

16-
classFinalPageextendsReact.Component<{},{}>{
18+
classFinalPageextendsReact.Component<{
19+
page:{description:string}
20+
},{}>{
1721
publicrender(){
22+
const{ page}=this.props;
1823
return(
1924
<Cardstyle={styles.card}>
2025
<CardTitle
2126
title='Congratulations!'
2227
subtitle='Tutorial Complete!'
2328
/>
2429
<CardText>
25-
What's next?
26-
<br/><br/>
27-
<ahref='https://coderoad.github.io/tutorials.html'>
28-
<FlatButton
29-
label='See More Tutorials'
30-
disabled={true}
31-
/>
32-
</a>
33-
<span> (coming soon)</span>
34-
<br/><br/>
35-
<ahref='https://coderoad.github.io/builder-coderoad.html'>
36-
<FlatButtonlabel='Learn how to Create a Tutorial'/>
37-
</a>
30+
{page&&page.description ?<Markdownchildren={page.description}/> :null}
31+
{page&&page.description ?<Divider/> :null}
32+
<SeeMore/>
3833
</CardText>
3934

4035
</Card>
4136
);
4237
}
4338
}
4439

45-
exportdefaultFinalPage;
40+
constmapStateToProps=state=>({
41+
page:finalPageSelector(state)
42+
})
43+
44+
exportdefaultconnect(mapStateToProps)(FinalPage);

‎src/modules/tutorial/index.ts‎

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,48 @@
1-
export{defaultasreducer}from'./reducer';
1+
import{join}from'path';
2+
3+
import{TUTORIAL_SET}from'./types';
4+
import{tutorialConfig}from'./utils/config';
5+
6+
exportconst_tutorial:CR.Tutorial={
7+
name:'default',
8+
version:'0.1.0',
9+
info:{
10+
title:'error',
11+
description:'Something went wrong. Tutorial not loaded.'
12+
},
13+
pages:[],
14+
packageJson:null,
15+
config:null,
16+
};
17+
18+
exportdefaultfunctiontutorialReducer(
19+
t=_tutorial,action:Action
20+
):CR.Tutorial{
21+
switch(action.type){
22+
23+
caseTUTORIAL_SET:
24+
const{name, dir, version}=action.payload;
25+
26+
// get tutorial package.json
27+
constpackagePath:string=join(dir,'node_modules',name);
28+
constpackageJson:PackageJson=require(join(packagePath,'package.json'));
29+
30+
constconfig:Tutorial.Config=tutorialConfig(packageJson,dir);
31+
constcoderoadJsonPath=join(packagePath,packageJson.main);
32+
let{info, pages, final}=require(coderoadJsonPath);
33+
34+
// return tutorial (info, pages) & tutorial package.json
35+
return{
36+
name:packageJson.name,
37+
version,
38+
info,
39+
pages,
40+
packageJson,
41+
config,
42+
final,
43+
};
44+
45+
default:
46+
returnt;
47+
}
48+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp