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

Commitd6096ff

Browse files
committed
remove chapters, pages only
1 parent0ba8a5b commitd6096ff

File tree

35 files changed

+159
-355
lines changed

35 files changed

+159
-355
lines changed

‎CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
All notable changes to this project will be documented in this file.
33
This project adheres to[Semantic Versioning](http://semver.org/).
44

5+
##[0.9]
6+
- remove chapters, now only pages
7+
- bug fixes
8+
59
##[0.8.0] - 2016-04-27
610
- save tutorial progress to localStorage
711
- check for tutorial package updates

‎lib/actions/_types.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
"use strict";
22
exports.ALERT_REPLAY='ALERT_REPLAY';
33
exports.ALERT_TOGGLE='ALERT_TOGGLE';
4-
exports.COMPLETE_CHAPTER='COMPLETE_CHAPTER';
54
exports.COMPLETE_PAGE='COMPLETE_PAGE';
65
exports.COMPLETE_TUTORIAL='COMPLETE_TUTORIAL';
76
exports.HINT_POSITION_SET='HINT_POSITION_SET';

‎lib/actions/index.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ exports.alertReplay = alert_1.alertReplay;
55
varprogress_1=require('./progress');
66
exports.progressLoad=progress_1.progressLoad;
77
exports.completePage=progress_1.completePage;
8-
exports.completeChapter=progress_1.completeChapter;
98
exports.completeTutorial=progress_1.completeTutorial;
109
varhint_1=require('./hint');
1110
exports.hintShow=hint_1.hintShow;

‎lib/actions/page.js

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,18 @@ var test_1 = require('./test');
33
var_types_1=require('./_types');
44
varstore_1=require('../store');
55
var_position={
6-
chapter:0,
76
page:0,
87
};
98
functionpageNext(){
109
varposition=null;
11-
var_a=store_1.default.getState().position,page=_a.page,chapter=_a.chapter;
12-
varchapters=store_1.default.getState().tutorial.chapters;
13-
if(page<chapters[chapter].pages.length-1){
10+
varpage=store_1.default.getState().position.page;
11+
varpages=store_1.default.getState().tutorial.pages;
12+
if(page<pages.length-1){
1413
store_1.default.dispatch(test_1.testsLoad());
1514
position={
16-
chapter:chapter,
1715
page:page+1,
1816
};
1917
}
20-
elseif(chapter<chapters.length-1){
21-
store_1.default.dispatch(test_1.testsLoad());
22-
position={
23-
chapter:chapter+1,
24-
page:0,
25-
};
26-
}
2718
else{
2819
return{
2920
payload:{route:'final'},

‎lib/actions/progress.js

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,28 +14,16 @@ function isTrue(x) {
1414
}
1515
functioncompletePage(){
1616
varposition=store_1.default.getState().position;
17-
varchapter=store_1.default.getState().progress.chapters[position.chapter];
18-
if(chapter.pages.every(function(x){returnx;})){
19-
store_1.default.dispatch(completeChapter());
17+
varprogress=store_1.default.getState().progress;
18+
if(progress.pages.every(function(x){returnx.completed;})){
19+
store_1.default.dispatch(completeTutorial());
2020
}
2121
return{
2222
payload:{position:position},
2323
type:_types_1.COMPLETE_PAGE,
2424
};
2525
}
2626
exports.completePage=completePage;
27-
functioncompleteChapter(){
28-
varchapter=store_1.default.getState().position.chapter;
29-
varprogress=store_1.default.getState().progress;
30-
if(progress.chapters.every(function(x){returnx.completed;})){
31-
store_1.default.dispatch(completeTutorial());
32-
}
33-
return{
34-
payload:{chapter:chapter},
35-
type:_types_1.COMPLETE_CHAPTER,
36-
};
37-
}
38-
exports.completeChapter=completeChapter;
3927
functioncompleteTutorial(){
4028
return{type:_types_1.COMPLETE_TUTORIAL};
4129
}

‎lib/components/App.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,9 @@ var App = (function (_super) {
3535
_super.apply(this,arguments);
3636
}
3737
App.prototype.render=function(){
38-
return(React.createElement("section",{className:'cr',key:'main',style:{height:height}},React.createElement(index_1.AppMenu,__assign({},this.props.store)),React.createElement(Routes_1.Routes,__assign({},this.props.store)),React.createElement(index_1.Alert,__assign({},this.props.store))));
38+
varstore=this.props.store;
39+
console.log(store);
40+
return(React.createElement("section",{className:'cr',key:'main',style:{height:height}},React.createElement(index_1.AppMenu,__assign({},store)),React.createElement(Routes_1.Routes,__assign({},store)),React.createElement(index_1.Alert,__assign({},store))));
3941
};
4042
App=__decorate([
4143
react_redux_1.connect(function(store){

‎lib/components/Page/Chapter/index.js

Lines changed: 0 additions & 14 deletions
This file was deleted.

‎lib/components/Progress/ProgressChapter/index.js

Lines changed: 0 additions & 16 deletions
This file was deleted.

‎lib/components/Progress/ProgressPage/index.js

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,22 +29,19 @@ var ProgressPage = (function (_super) {
2929
_super.apply(this,arguments);
3030
}
3131
ProgressPage.prototype.canActivate=function(isActive){
32-
var_a=this.props,chapterIndex=_a.chapterIndex,pageIndex=_a.pageIndex,position=_a.position,progress=_a.progress;
33-
varcompleted=progress.chapters[chapterIndex].pages[pageIndex];
34-
varcurrentChapter=chapterIndex===position.chapter;
35-
varearlierOrCurrentPage=pageIndex<=position.page;
36-
returnisActive||completed||
37-
(currentChapter&&earlierOrCurrentPage);
32+
var_a=this.props,index=_a.index,position=_a.position,progress=_a.progress;
33+
varcompleted=progress.pages[index];
34+
returnisActive||completed;
3835
};
3936
ProgressPage.prototype.render=function(){
40-
var_a=this.props,page=_a.page,position=_a.position,chapterIndex=_a.chapterIndex,pageIndex=_a.pageIndex,progress=_a.progress,selectPage=_a.selectPage;
41-
varisActive=chapterIndex===position.chapter&&pageIndex===position.page;
37+
console.log(this.props);
38+
var_a=this.props,page=_a.page,position=_a.position,index=_a.index,progress=_a.progress,selectPage=_a.selectPage;
39+
varisActive=index===position.page;
4240
varcanActivate=this.canActivate(isActive);
43-
varcompleted=progress.chapters[chapterIndex].pages[pageIndex];
44-
return(React.createElement(List_1.ListItem,{key:pageIndex,style:Object.assign({},styles,!canActivate ?{color:colors_1.grey400} :{}),primaryText:(pageIndex+1)+". "+page.title,secondaryText:canActivate ?page.description :'',leftIcon:progressIcon_1.progressIcon(completed,isActive),onClick:canActivate
41+
varcompleted=progress.pages[index];
42+
return(React.createElement(List_1.ListItem,{key:index,style:Object.assign({},styles,!canActivate ?{color:colors_1.grey400} :{}),primaryText:(index+1)+". "+page.title,secondaryText:canActivate ?page.description :'',leftIcon:progressIcon_1.progressIcon(completed,isActive),onClick:canActivate
4543
?selectPage.bind(this,{
46-
chapter:chapterIndex,
47-
page:pageIndex
44+
page:index
4845
})
4946
:function(){return;}}));
5047
};

‎lib/components/Progress/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@ var React = require('react');
33
varPaper_1=require('material-ui/Paper');
44
varList_1=require('material-ui/List');
55
varSubheader_1=require('material-ui/Subheader');
6-
varProgressChapter_1=require('./ProgressChapter');
6+
varProgressPage_1=require('./ProgressPage');
77
varpageStyle={
88
width:'100%',
99
margin:'0px',
1010
};
1111
exports.Progress=function(_a){
1212
varprogress=_a.progress,position=_a.position,info=_a.info,tutorial=_a.tutorial;
13-
return(React.createElement(Paper_1.default,{style:pageStyle},React.createElement(List_1.List,null,React.createElement(Subheader_1.default,null,info.name),tutorial.chapters.map(function(chapter,chapterIndex){return(React.createElement(ProgressChapter_1.ProgressChapter,{key:chapterIndex,chapter:chapter,chapterIndex:chapterIndex,position:position,progress:progress}));}))));
13+
return(React.createElement(Paper_1.default,{style:pageStyle},React.createElement(List_1.List,null,React.createElement(Subheader_1.default,null,info.name),tutorial.pages.map(function(page,index){return(React.createElement(ProgressPage_1.ProgressPage,{key:index,index:index,page:page,position:position,progress:progress}));}))));
1414
};

‎lib/components/Tutorials/SelectTutorial/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ var SelectTutorial = (function (_super) {
4141
return{
4242
selectTutorial:function(name){
4343
dispatch(actions_1.tutorialSet(name));
44-
dispatch(actions_1.positionSet({chapter:0,page:0}));
44+
dispatch(actions_1.positionSet({page:0}));
4545
dispatch(actions_1.progressLoad());
4646
dispatch(actions_1.routeSet('progress'));
4747
},

‎lib/reducers/alert/index.js

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,6 @@ function alertReducer(alert, action) {
5555
returnsetAlert({
5656
message:"Page "+(action.payload.position.page+1)+" Complete",
5757
});
58-
case_types_1.COMPLETE_CHAPTER:
59-
returnsetAlert({
60-
message:"Chapter "+(action.payload.chapter+1)+" Complete",
61-
});
6258
case_types_1.COMPLETE_TUTORIAL:
6359
returnsetAlert({
6460
message:'Tutorial Complete',

‎lib/reducers/page/index.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@ function pageReducer(p, action) {
1111
if(p===void0){p=_page;}
1212
switch(action.type){
1313
case_types_1.PAGE_SET:
14-
var_a=action.payload.position,chapter=_a.chapter,page=_a.page;
15-
var_b=store_1.default.getState().tutorial
16-
.chapters[chapter].pages[page],title=_b.title,description=_b.description,onPageComplete=_b.onPageComplete,completed=_b.completed;
14+
varpage=action.payload.position.page;
15+
var_a=store_1.default.getState().tutorial.pages[page],title=_a.title,description=_a.description,onPageComplete=_a.onPageComplete,completed=_a.completed;
1716
editor_1.clearConsole();
1817
return{
1918
title:title,

‎lib/reducers/position/index.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,18 @@
22
var_types_1=require('../../actions/_types');
33
varstore_1=require('../../store');
44
var_position={
5-
chapter:0,
65
page:0,
76
};
87
functionpositionReducer(position,action){
98
if(position===void0){position=_position;}
109
switch(action.type){
1110
case_types_1.POSITION_LOAD:
12-
varchapters=store_1.default.getState().progress.chapters;
13-
varchapter=chapters.indexOf(function(x){return!x.completed;});
14-
if(chapter<0){
15-
chapter=chapters.length-1;
16-
}
17-
varprogressPage=chapters[chapter].pages;
18-
varpage=progressPage.indexOf(function(x){return!x;});
11+
varpages=store_1.default.getState().progress.pages;
12+
varpage=pages.indexOf(function(x){return!x;});
1913
if(page<0){
20-
page=progressPage.length-1;
14+
page=pages.length-1;
2115
}
22-
return{chapter:chapter,page:page};
16+
return{page:page};
2317
case_types_1.PAGE_SET:
2418
case_types_1.POSITION_SET:
2519
returnaction.payload.position;

‎lib/reducers/progress/index.js

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,35 +4,23 @@ var local_storage_1 = require('./local-storage');
44
varstore_1=require('../../store');
55
var_progress={
66
completed:false,
7-
chapters:[]
7+
pages:[]
88
};
99
functionprogressReducer(progress,action){
1010
if(progress===void0){progress=_progress;}
1111
switch(action.type){
1212
case_types_1.PROGRESS_LOAD:
13-
vartutorial=store_1.default.getState().tutorial;
1413
varsaved=local_storage_1.loadProgressFromLocalStorage();
1514
if(saved){
1615
returnsaved;
1716
}
1817
return{
1918
completed:false,
20-
chapters:!tutorial.chapters
21-
?[]
22-
:tutorial.chapters.map(function(chapter){
23-
return{
24-
completed:false,
25-
pages:chapter.pages.map(function(){returnfalse;})
26-
};
27-
})
19+
pages:store_1.default.getState().tutorial.pages.map(function(){returnfalse;})
2820
};
2921
case_types_1.COMPLETE_PAGE:
30-
var_a=action.payload.position,chapter=_a.chapter,page=_a.page;
31-
progress.chapters[chapter].pages[page]=true;
32-
local_storage_1.saveToLocalStorage(progress);
33-
returnprogress;
34-
case_types_1.COMPLETE_CHAPTER:
35-
progress.chapters[action.payload.chapter].completed=true;
22+
varpage=action.payload.position.page;
23+
progress.pages[page]=true;
3624
local_storage_1.saveToLocalStorage(progress);
3725
returnprogress;
3826
case_types_1.COMPLETE_TUTORIAL:

‎lib/reducers/tasks/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ function tasksReducer(tasks, action) {
1313
if(tasks===void0){tasks=_tasks;}
1414
switch(action.type){
1515
case_types_1.PAGE_SET:
16-
var_a=action.payload.position,chapter=_a.chapter,page=_a.page;
17-
returnconfig_task_tests_1.configTaskTests(store_1.default.getState().tutorial.chapters[chapter].pages[page].tasks||[]);
16+
varpage=action.payload.position.page;
17+
returnconfig_task_tests_1.configTaskTests(store_1.default.getState().tutorial.pages[page].tasks||[]);
1818
default:
1919
returntasks;
2020
}

‎lib/reducers/tutorial/index.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ var store_1 = require('../../store');
66
var_tutorial={
77
name:null,
88
info:null,
9-
chapters:[],
9+
pages:[],
1010
packageJson:null,
1111
config:null,
1212
};
@@ -19,11 +19,11 @@ function tutorialReducer(tutorial, action) {
1919
varpackagePath=path_1.join(dir,'node_modules',name_1);
2020
varpackageJson=require(path_1.join(packagePath,'package.json'));
2121
varconfig=tutorial_config_1.tutorialConfig(packageJson);
22-
var_a=require(path_1.join(packagePath,packageJson.main)),info=_a.info,chapters=_a.chapters;
22+
var_a=require(path_1.join(packagePath,packageJson.main)),info=_a.info,pages=_a.pages;
2323
return{
2424
name:packageJson.name,
2525
info:info,
26-
chapters:chapters,
26+
pages:pages,
2727
packageJson:packageJson,
2828
config:config,
2929
};

‎src/actions/_types.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
exportconstALERT_REPLAY='ALERT_REPLAY';
22
exportconstALERT_TOGGLE='ALERT_TOGGLE';
3-
exportconstCOMPLETE_CHAPTER='COMPLETE_CHAPTER';
43
exportconstCOMPLETE_PAGE='COMPLETE_PAGE';
54
exportconstCOMPLETE_TUTORIAL='COMPLETE_TUTORIAL';
65
exportconstHINT_POSITION_SET='HINT_POSITION_SET';

‎src/actions/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export{alertToggle,alertReplay}from'./alert';
22
export{
3-
progressLoad,completePage,completeChapter,completeTutorial
3+
progressLoad,completePage,completeTutorial
44
}from'./progress';
55
export{hintShow,hintPositionSet}from'./hint';
66
export{pageSet,pageNext}from'./page';

‎src/actions/page.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,18 @@ import {ROUTE_SET, PAGE_SET} from './_types';
33
importstorefrom'../store';
44

55
const_position={
6-
chapter:0,
76
page:0,
87
};
98

109
exportfunctionpageNext():Action{
1110
letposition=null;
12-
const{page, chapter}=store.getState().position;
13-
const{chapters}=store.getState().tutorial;
14-
if(page<chapters[chapter].pages.length-1){
11+
const{page}=store.getState().position;
12+
const{pages}=store.getState().tutorial;
13+
if(page<pages.length-1){
1514
store.dispatch(testsLoad());
1615
position={
17-
chapter,
1816
page:page+1,
1917
};
20-
}elseif(chapter<chapters.length-1){
21-
store.dispatch(testsLoad());
22-
position={
23-
chapter:chapter+1,
24-
page:0,
25-
};
2618
}else{
2719
return{
2820
payload:{route:'final'},

‎src/actions/progress.ts

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import{
2-
PROGRESS_LOAD,COMPLETE_PAGE,COMPLETE_CHAPTER,COMPLETE_TUTORIAL
2+
PROGRESS_LOAD,COMPLETE_PAGE,COMPLETE_TUTORIAL
33
}from'./_types';
44
import{positionLoad}from'./position';
55
importstorefrom'../store';
@@ -17,27 +17,14 @@ function isTrue(x) {
1717

1818
exportfunctioncompletePage():Action{
1919
constposition:CR.Position=store.getState().position;
20-
constchapter=store.getState().progress.chapters[position.chapter];
21-
// all pages are true, chapter complete
22-
if(chapter.pages.every(x=>x)){
23-
store.dispatch(completeChapter());
24-
}
25-
return{
26-
payload:{ position},
27-
type:COMPLETE_PAGE,
28-
};
29-
}
30-
31-
exportfunctioncompleteChapter():Action{
32-
constchapter:number=store.getState().position.chapter;
3320
constprogress=store.getState().progress;
34-
// allchapters complete, tutorial complete
35-
if(progress.chapters.every(x=>x.completed)){
21+
// allpages are true, tutorial complete
22+
if(progress.pages.every(x=>x.completed)){
3623
store.dispatch(completeTutorial());
3724
}
3825
return{
39-
payload:{chapter},
40-
type:COMPLETE_CHAPTER,
26+
payload:{position},
27+
type:COMPLETE_PAGE,
4128
};
4229
}
4330

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp