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

Commit4cb98dd

Browse files
committed
route to final page on complete
1 parent70eb38b commit4cb98dd

File tree

22 files changed

+74
-28
lines changed

22 files changed

+74
-28
lines changed

‎CHANGELOG.md‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,6 @@ This project adheres to [Semantic Versioning](http://semver.org/).
2020
###Added
2121
- smoother setup process
2222
- style, ui improvements
23+
24+
##[0.5.3] - in progress
25+
- fix tutorial progress issues

‎lib/actions/page-actions.js‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ var package_1 = require('../services/package');
55
var_=require('lodash');
66
functionsetPage(selectedPosition){
77
if(selectedPosition===void0){selectedPosition={chapter:0,page:0};}
8+
if(selectedPosition.completed){
9+
return{type:Type.SET_ROUTE,payload:{route:'final'}};
10+
}
811
varpage=package_1.default.getPage(selectedPosition);
912
vartasks=package_1.default.getTasks(selectedPosition);
1013
vartaskTests=_.flatten(tasks.map(function(task){returntask.tests||[];}));

‎lib/components/_components.js‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ var progress_1 = require('./progress/progress');
1515
exports.Progress=progress_1.default;
1616
varstart_1=require('./start/start');
1717
exports.Start=start_1.Start;
18+
varfinal_page_1=require('./final-page/final-page');
19+
exports.FinalPage=final_page_1.FinalPage;
1820
varmarkdown_1=require('./markdown/markdown');
1921
exports.MarkdownText=markdown_1.default;
2022
varalert_1=require('./alert/alert');

‎lib/components/app/router.js‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ var default_1 = (function (_super) {
1919
returnReact.createElement(_components_1.Progress,{progress:state.progress,position:state.position});
2020
case'projects':
2121
returnReact.createElement(_components_1.Start,{tutorials:state.tutorials,warning:state.warning});
22+
case'final':
23+
returnReact.createElement(_components_1.FinalPage,null);
2224
default:
2325
throw'Error: Route not found.';
2426
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
"use strict";
2+
varReact=require('react');
3+
exports.FinalPage=function(){return(React.createElement("div",null,"Final Page"));};

‎lib/components/menu/menu.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ var default_1 = (function (_super) {
5353
default_1.prototype.render=function(){
5454
varorigin={horizontal:'right',vertical:'top'};
5555
varquit=this.props.quit;
56-
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:origin,anchorOrigin:origin},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.Divider,null),React.createElement(material_ui_1.MenuItem,{primaryText:'quit',onTouchTap:quit}))}));
56+
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:origin,anchorOrigin:origin},this.menuOptions(),window.coderoad.issuesPath ?React.createElement(material_ui_1.MenuItem,{key:'issue',className:'link'},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',onTouchTap:quit}))}));
5757
};
5858
default_1=__decorate([
5959
react_redux_1.connect(null,function(dispatch){

‎lib/components/page/page.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
'use strict';
1+
"use strict";
22
var__extends=(this&&this.__extends)||function(d,b){
33
for(varpinb)if(b.hasOwnProperty(p))d[p]=b[p];
44
function__(){this.constructor=d;}
@@ -28,7 +28,7 @@ var default_1 = (function (_super) {
2828
var_a=this.props,page=_a.page,taskPosition=_a.taskPosition,hintPosition=_a.hintPosition,tasks=_a.tasks,runTests=_a.runTests;
2929
varcurrentTask=taskPosition<=tasks.length ?tasks[taskPosition] :null;
3030
varallComplete=taskPosition>=tasks.length;
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.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.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})));
3232
};
3333
returndefault_1;
3434
}(React.Component));

‎lib/components/page/toolbar.js‎

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,19 @@ var default_1 = (function (_super) {
3030
functiondefault_1(){
3131
_super.apply(this,arguments);
3232
}
33+
default_1.prototype.getButton=function(){
34+
var_a=this.props,callNextPage=_a.callNextPage,showHint=_a.showHint,taskPosition=_a.taskPosition,tasks=_a.tasks;
35+
switch(true){
36+
casetaskPosition>=tasks.length:
37+
returnReact.createElement(material_ui_1.RaisedButton,{label:'Continue',primary:true,onTouchTap:callNextPage});
38+
default:
39+
returnReact.createElement(material_ui_1.RaisedButton,{label:'Save',secondary:true,onTouchTap:editor_1.save});
40+
}
41+
};
3342
default_1.prototype.render=function(){
34-
var_a=this.props,tasks=_a.tasks,taskPosition=_a.taskPosition,hintPosition=_a.hintPosition,callNextPage=_a.callNextPage,showHint=_a.showHint;
35-
varcurrentTask=taskPosition<=tasks.length ?tasks[taskPosition] :null;
43+
var_a=this.props,tasks=_a.tasks,taskPosition=_a.taskPosition;
3644
varprogress=taskProgress(taskPosition,tasks.length);
37-
varallComplete=taskPosition>=tasks.length;
38-
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 ?
39-
React.createElement(material_ui_1.RaisedButton,{label:'Continue',primary:true,onTouchTap:callNextPage})
40-
:
41-
React.createElement(material_ui_1.RaisedButton,{label:'Save',secondary:true,onTouchTap:editor_1.save})))));
45+
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'},this.getButton()))));
4246
};
4347
default_1=__decorate([
4448
react_redux_1.connect(null,function(dispatch,state){

‎lib/services/package.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ var PackageService = (function () {
8484
}
8585
else{
8686
_base_1.store.dispatch(Action.projectComplete());
87-
return{chapter:chapter,page:page};
87+
return{chapter:chapter,page:page,completed:true};
8888
}
8989
};
9090
PackageService.prototype.getProject=function(){

‎src/actions/page-actions.ts‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ import Package from '../services/package';
44
const_=require('lodash');
55

66
exportfunctionsetPage(selectedPosition:CR.Position={chapter:0,page:0}):CR.Action{
7+
if(selectedPosition.completed){
8+
return{type:Type.SET_ROUTE,payload:{route:'final'}};
9+
}
710
constpage:CR.Page=Package.getPage(selectedPosition);
811
consttasks:CR.Task[]=Package.getTasks(selectedPosition);
912
consttaskTests:CR.TaskTest[]=_.flatten(tasks.map((task)=>task.tests||[]));

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp