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

Commitfae097a

Browse files
committed
refactor components into smaller parts
1 parent93881b5 commitfae097a

36 files changed

+454
-450
lines changed

‎lib/components/AppMenu/Quit.js

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
"use strict";
2+
var__extends=(this&&this.__extends)||function(d,b){
3+
for(varpinb)if(b.hasOwnProperty(p))d[p]=b[p];
4+
function__(){this.constructor=d;}
5+
d.prototype=b===null ?Object.create(b) :(__.prototype=b.prototype,new__());
6+
};
7+
var__decorate=(this&&this.__decorate)||function(decorators,target,key,desc){
8+
varc=arguments.length,r=c<3 ?target :desc===null ?desc=Object.getOwnPropertyDescriptor(target,key) :desc,d;
9+
if(typeofReflect==="object"&&typeofReflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);
10+
elsefor(vari=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+
returnc>3&&r&&Object.defineProperty(target,key,r),r;
12+
};
13+
var__metadata=(this&&this.__metadata)||function(k,v){
14+
if(typeofReflect==="object"&&typeofReflect.metadata==="function")returnReflect.metadata(k,v);
15+
};
16+
varReact=require('react');
17+
varreact_redux_1=require('react-redux');
18+
varmount_1=require('../mount');
19+
varsubscriptions_1=require('../../atom/subscriptions');
20+
varMenuItem_1=require('material-ui/MenuItem');
21+
varQuit=(function(_super){
22+
__extends(Quit,_super);
23+
functionQuit(){
24+
_super.apply(this,arguments);
25+
}
26+
Quit.prototype.render=function(){
27+
return(React.createElement(MenuItem_1.default,{key:'quit',onClick:this.props.quit},"quit"));
28+
};
29+
Quit=__decorate([
30+
react_redux_1.connect(null,function(dispatch){
31+
return{
32+
quit:function(){
33+
mount_1.togglePanel();
34+
subscriptions_1.onDeactivate();
35+
}
36+
};
37+
}),
38+
__metadata('design:paramtypes',[])
39+
],Quit);
40+
returnQuit;
41+
}(React.Component));
42+
exports.Quit=Quit;

‎lib/components/AppMenu/index.js

Lines changed: 6 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,9 @@
11
"use strict";
2-
var__extends=(this&&this.__extends)||function(d,b){
3-
for(varpinb)if(b.hasOwnProperty(p))d[p]=b[p];
4-
function__(){this.constructor=d;}
5-
d.prototype=b===null ?Object.create(b) :(__.prototype=b.prototype,new__());
6-
};
7-
var__decorate=(this&&this.__decorate)||function(decorators,target,key,desc){
8-
varc=arguments.length,r=c<3 ?target :desc===null ?desc=Object.getOwnPropertyDescriptor(target,key) :desc,d;
9-
if(typeofReflect==="object"&&typeofReflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);
10-
elsefor(vari=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-
returnc>3&&r&&Object.defineProperty(target,key,r),r;
12-
};
13-
var__metadata=(this&&this.__metadata)||function(k,v){
14-
if(typeofReflect==="object"&&typeofReflect.metadata==="function")returnReflect.metadata(k,v);
15-
};
16-
var_this=this;
172
varReact=require('react');
18-
varreact_redux_1=require('react-redux');
19-
varactions_1=require('../../actions');
20-
varmount_1=require('../mount');
21-
varsubscriptions_1=require('../../atom/subscriptions');
223
varAppBar_1=require('material-ui/AppBar');
23-
varIconButton_1=require('material-ui/IconButton');
24-
varIconMenu_1=require('material-ui/IconMenu');
25-
varMenuItem_1=require('material-ui/MenuItem');
26-
varDivider_1=require('material-ui/Divider');
27-
varMenuLink_1=require('./MenuLink');
28-
varmore_vert_1=require('material-ui/svg-icons/navigation/more-vert');
29-
varclose_1=require('material-ui/svg-icons/navigation/close');
30-
varorigin={horizontal:'right',vertical:'top'};
31-
varAppMenu=(function(_super){
32-
__extends(AppMenu,_super);
33-
functionAppMenu(){
34-
_super.apply(this,arguments);
35-
}
36-
AppMenu.prototype.navOptions=function(){
37-
varrouteToPage=this.props.routeToPage;
38-
switch(this.props.route){
39-
case'final':
40-
case'page':
41-
returnReact.createElement(MenuLink_1.MenuLink,{route:'progress'});
42-
case'progress':
43-
return(React.createElement(MenuItem_1.default,{onTouchTap:routeToPage,primaryText:'page',key:'page'}));
44-
default:returnnull;
45-
}
46-
};
47-
AppMenu.prototype.menuOptions=function(){
48-
switch(this.props.route){
49-
case'final':
50-
case'page':
51-
return(React.createElement("div",null,React.createElement(MenuLink_1.MenuLink,{route:'progress'}),React.createElement(MenuLink_1.MenuLink,{route:'tutorials'})));
52-
case'progress':
53-
returnReact.createElement(MenuLink_1.MenuLink,{route:'tutorials'});
54-
default:returnnull;
55-
}
56-
};
57-
AppMenu.prototype.closePanel=function(){
58-
mount_1.togglePanel();
59-
};
60-
AppMenu.prototype.render=function(){
61-
varquit=this.props.quit;
62-
return(React.createElement(AppBar_1.default,{title:'CodeRoad',className:'cr-menu-bar',iconElementLeft:React.createElement(IconButton_1.default,{onClick:this.closePanel},React.createElement(close_1.default,null)),iconElementRight:React.createElement(IconMenu_1.default,{iconButtonElement:React.createElement(IconButton_1.default,null,React.createElement(more_vert_1.default,null)),targetOrigin:origin,anchorOrigin:origin},this.menuOptions(),window.coderoad.issuesPath
63-
?React.createElement(MenuItem_1.default,{key:'issue',className:'link'},React.createElement("a",{href:window.coderoad.issuesPath},"post issue"))
64-
:null,React.createElement(Divider_1.default,null),React.createElement(MenuItem_1.default,{key:'quit',onClick:quit},"quit"))}));
65-
};
66-
AppMenu=__decorate([
67-
react_redux_1.connect(null,function(dispatch){
68-
return{
69-
routeToPage:function(){
70-
varposition=_this.props.position;
71-
dispatch(actions_1.pageSet(position));
72-
dispatch(actions_1.setRoute('page'));
73-
},
74-
quit:function(){
75-
mount_1.togglePanel();
76-
subscriptions_1.onDeactivate();
77-
}
78-
};
79-
}),
80-
__metadata('design:paramtypes',[])
81-
],AppMenu);
82-
returnAppMenu;
83-
}(React.Component));
84-
exports.AppMenu=AppMenu;
4+
varmenuIconLeft_1=require('./menuIconLeft');
5+
varmenuRight_1=require('./menuRight');
6+
exports.AppMenu=function(_a){
7+
varroute=_a.route;
8+
return(React.createElement(AppBar_1.default,{title:'CodeRoad',className:'cr-menu-bar',iconElementLeft:menuIconLeft_1.menuIconLeft(),iconElementRight:menuRight_1.menuRight(route)}));
9+
};

‎lib/components/AppMenu/issuesLink.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
"use strict";
2+
varReact=require('react');
3+
varMenuItem_1=require('material-ui/MenuItem');
4+
functionissuesLink(){
5+
if(!window.coderoad.issuesPath){
6+
returnnull;
7+
}
8+
return(React.createElement(MenuItem_1.default,{key:'issue',className:'link'},React.createElement("a",{href:window.coderoad.issuesPath},"post issue")));
9+
}
10+
exports.issuesLink=issuesLink;
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
"use strict";
2+
varReact=require('react');
3+
varIconButton_1=require('material-ui/IconButton');
4+
varmount_1=require('../mount');
5+
varclose_1=require('material-ui/svg-icons/navigation/close');
6+
functionmenuIconLeft(){
7+
return(React.createElement(IconButton_1.default,{onClick:mount_1.togglePanel},React.createElement(close_1.default,null)));
8+
}
9+
exports.menuIconLeft=menuIconLeft;
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
"use strict";
2+
varReact=require('react');
3+
varIconButton_1=require('material-ui/IconButton');
4+
varmore_vert_1=require('material-ui/svg-icons/navigation/more-vert');
5+
functionmenuIconRight(){
6+
return(React.createElement(IconButton_1.default,null,React.createElement(more_vert_1.default,null)));
7+
}
8+
exports.menuIconRight=menuIconRight;

‎lib/components/AppMenu/menuRight.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"use strict";
2+
varReact=require('react');
3+
varIconMenu_1=require('material-ui/IconMenu');
4+
varDivider_1=require('material-ui/Divider');
5+
varQuit_1=require('./Quit');
6+
varissuesLink_1=require('./issuesLink');
7+
varmenuIconRight_1=require('./menuIconRight');
8+
varmenuRightRouteOptions_1=require('./menuRightRouteOptions');
9+
varorigin={horizontal:'right',vertical:'top'};
10+
functionmenuRight(route){
11+
return(React.createElement(IconMenu_1.default,{iconButtonElement:menuIconRight_1.menuIconRight(),targetOrigin:origin,anchorOrigin:origin},menuRightRouteOptions_1.menuRightRouteOptions(route),issuesLink_1.issuesLink(),React.createElement(Divider_1.default,null),React.createElement(Quit_1.Quit,null)));
12+
}
13+
exports.menuRight=menuRight;
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
"use strict";
2+
varReact=require('react');
3+
varMenuLink_1=require('./MenuLink');
4+
functionmenuRightRouteOptions(route){
5+
switch(route){
6+
case'final':
7+
case'page':
8+
return(React.createElement("div",null,React.createElement(MenuLink_1.MenuLink,{route:'progress'}),React.createElement(MenuLink_1.MenuLink,{route:'tutorials'})));
9+
case'progress':
10+
returnReact.createElement(MenuLink_1.MenuLink,{route:'tutorials'});
11+
default:
12+
returnnull;
13+
}
14+
;
15+
}
16+
exports.menuRightRouteOptions=menuRightRouteOptions;

‎lib/components/start/checks/verify.jsrenamed to‎lib/components/Common/RouteButton.js

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -14,26 +14,26 @@ var __metadata = (this && this.__metadata) || function (k, v) {
1414
if(typeofReflect==="object"&&typeofReflect.metadata==="function")returnReflect.metadata(k,v);
1515
};
1616
varReact=require('react');
17-
varFlatButton_1=require('material-ui/FlatButton');
18-
varstore_1=require('../../../store/store');
19-
varactions_1=require('../../../actions');
2017
varreact_redux_1=require('react-redux');
21-
varVerifyButton=(function(_super){
22-
__extends(VerifyButton,_super);
23-
functionVerifyButton(){
18+
varactions_1=require('../../actions');
19+
varFlatButton_1=require('material-ui/FlatButton');
20+
varRouteButton=(function(_super){
21+
__extends(RouteButton,_super);
22+
functionRouteButton(){
2423
_super.apply(this,arguments);
2524
}
26-
VerifyButton.prototype.render=function(){
27-
returnReact.createElement(FlatButton_1.default,{label:'Verify Setup Complete',primtary:true,onTouchTap:this.props.verify});
25+
RouteButton.prototype.render=function(){
26+
var_a=this.props,label=_a.label,route=_a.route,style=_a.style,routeTo=_a.routeTo;
27+
return(React.createElement(FlatButton_1.default,{label:label,style:style||{},onTouchTap:routeTo.bind(this,route),secondary:true}));
2828
};
29-
VerifyButton=__decorate([
29+
RouteButton=__decorate([
3030
react_redux_1.connect(null,function(dispatch){
3131
return{
32-
verify:function(){returnstore_1.store.dispatch(actions_1.setupVerify());}
32+
routeTo:function(route){returndispatch(actions_1.setRoute(route));}
3333
};
3434
}),
3535
__metadata('design:paramtypes',[])
36-
],VerifyButton);
37-
returnVerifyButton;
36+
],RouteButton);
37+
returnRouteButton;
3838
}(React.Component));
39-
exports.VerifyButton=VerifyButton;
39+
exports.RouteButton=RouteButton;
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"use strict";
2+
varReact=require('react');
3+
varclassnames=require('classnames');
4+
varList_1=require('material-ui/List');
5+
varProgressPage_1=require('./ProgressPage');
6+
varprogressIcon_1=require('./progressIcon');
7+
varindex_1=require('../index');
8+
exports.ProgressChapter=function(_a){
9+
varchapter=_a.chapter,chapterIndex=_a.chapterIndex,position=_a.position;
10+
varisActive=chapterIndex===position.chapter;
11+
return(React.createElement(List_1.ListItem,{key:'c'+chapterIndex,className:classnames({
12+
'chapter':true,
13+
'isActive':isActive
14+
}),initiallyOpen:chapterIndex===0,leftIcon:progressIcon_1.progressIcon(chapter.completed),primaryTogglesNestedList:chapterIndex===position.chapter&&!chapter.completed,nestedItems:chapter.pages.map(function(page,pageIndex){return(React.createElement(ProgressPage_1.ProgressPage,{key:'c'+chapterIndex+'p'+pageIndex,pageIndex:pageIndex,page:page,chapterIndex:chapterIndex,position:position}));})},React.createElement("h3",null,chapterIndex+1,". ",chapter.title),React.createElement("span",{className:'chapter-description'},React.createElement(index_1.Markdown,null,chapter.description))));
15+
};

‎lib/components/Progress/ProgressPage.js

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -18,45 +18,37 @@ var react_redux_1 = require('react-redux');
1818
varactions_1=require('../../actions');
1919
varclassnames=require('classnames');
2020
varList_1=require('material-ui/List');
21-
varcolors_1=require('material-ui/styles/colors');
22-
varcheck_box_1=require('material-ui/svg-icons/toggle/check-box');
23-
varplay_circle_filled_1=require('material-ui/svg-icons/av/play-circle-filled');
24-
varcheck_box_outline_blank_1=require('material-ui/svg-icons/toggle/check-box-outline-blank');
21+
varprogressIcon_1=require('./progressIcon');
2522
varProgressPage=(function(_super){
2623
__extends(ProgressPage,_super);
2724
functionProgressPage(){
2825
_super.apply(this,arguments);
2926
}
30-
ProgressPage.prototype.getProgressIcon=function(completed,current){
31-
if(completed){
32-
returnReact.createElement(check_box_1.default,null);
33-
}
34-
elseif(current){
35-
returnReact.createElement(play_circle_filled_1.default,{color:colors_1.pink500});
36-
}
37-
else{
38-
returnReact.createElement(check_box_outline_blank_1.default,null);
39-
}
40-
};
41-
ProgressPage.prototype.canActivate=function(isActive,itemPosition,position){
42-
varearlierChapter=itemPosition.chapter<position.chapter;
43-
varcurrentChapter=itemPosition.chapter=position.chapter;
44-
varearlierOrCurrentPage=itemPosition.page<=position.page;
45-
if(isActive||earlierChapter||(currentChapter&&earlierOrCurrentPage)){
27+
ProgressPage.prototype.canActivate=function(isActive){
28+
var_a=this.props,chapterIndex=_a.chapterIndex,pageIndex=_a.pageIndex,position=_a.position;
29+
varearlierChapter=chapterIndex<position.chapter;
30+
varcurrentChapter=chapterIndex===position.chapter;
31+
varearlierOrCurrentPage=pageIndex<=position.page;
32+
if(isActive||earlierChapter||
33+
(currentChapter&&earlierOrCurrentPage)){
4634
returntrue;
4735
}
4836
else{
4937
returnnull;
5038
}
5139
};
5240
ProgressPage.prototype.render=function(){
53-
var_a=this.props,page=_a.page,itemPosition=_a.itemPosition,position=_a.position;
54-
varisActive=itemPosition.chapter===position.chapter&&itemPosition.page===position.page;
41+
var_a=this.props,page=_a.page,position=_a.position,chapterIndex=_a.chapterIndex,pageIndex=_a.pageIndex,selectPage=_a.selectPage;
42+
console.log(this.props);
43+
varisActive=chapterIndex===position.chapter&&pageIndex===position.page;
5544
return(React.createElement(List_1.ListItem,{className:classnames({
5645
'page':true,
57-
'page-isDisabled':!this.canActivate(isActive,itemPosition,position)
58-
}),primaryText:(itemPosition.page+1)+". "+page.title,secondaryText:page.description,leftIcon:this.getProgressIcon(page.completed,isActive),onClick:this.canActivate(isActive,itemPosition,position)
59-
?this.props.selectPage.bind(this,itemPosition)
46+
'page-isDisabled':!this.canActivate(isActive)
47+
}),primaryText:(pageIndex+1)+". "+page.title,secondaryText:page.description,leftIcon:progressIcon_1.progressIcon(page.completed,isActive),onClick:this.canActivate(isActive)
48+
?selectPage.bind(this,{
49+
chapter:chapterIndex,
50+
page:pageIndex
51+
})
6052
:null}));
6153
};
6254
;
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
"use strict";
2+
varReact=require('react');
3+
varcolors_1=require('material-ui/styles/colors');
4+
varcheck_box_1=require('material-ui/svg-icons/toggle/check-box');
5+
varplay_circle_filled_1=require('material-ui/svg-icons/av/play-circle-filled');
6+
varcheck_box_outline_blank_1=require('material-ui/svg-icons/toggle/check-box-outline-blank');
7+
functionprogressIcon(completed,current){
8+
if(completed){
9+
returnReact.createElement(check_box_1.default,null);
10+
}
11+
elseif(current){
12+
returnReact.createElement(play_circle_filled_1.default,{color:colors_1.pink500});
13+
}
14+
elseif(typeofcurrent==='undefined'){
15+
returnnull;
16+
}
17+
else{
18+
returnReact.createElement(check_box_outline_blank_1.default,null);
19+
}
20+
}
21+
exports.progressIcon=progressIcon;
22+
;

‎lib/components/Start/Welcome/index.js

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,7 @@
11
"use strict";
2-
var__extends=(this&&this.__extends)||function(d,b){
3-
for(varpinb)if(b.hasOwnProperty(p))d[p]=b[p];
4-
function__(){this.constructor=d;}
5-
d.prototype=b===null ?Object.create(b) :(__.prototype=b.prototype,new__());
6-
};
7-
var__decorate=(this&&this.__decorate)||function(decorators,target,key,desc){
8-
varc=arguments.length,r=c<3 ?target :desc===null ?desc=Object.getOwnPropertyDescriptor(target,key) :desc,d;
9-
if(typeofReflect==="object"&&typeofReflect.decorate==="function")r=Reflect.decorate(decorators,target,key,desc);
10-
elsefor(vari=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-
returnc>3&&r&&Object.defineProperty(target,key,r),r;
12-
};
13-
var__metadata=(this&&this.__metadata)||function(k,v){
14-
if(typeofReflect==="object"&&typeofReflect.metadata==="function")returnReflect.metadata(k,v);
15-
};
162
varReact=require('react');
17-
varreact_redux_1=require('react-redux');
18-
varactions_1=require('../../../actions');
193
varpath_1=require('path');
20-
varFlatButton_1=require('material-ui/FlatButton');
4+
varindex_1=require('../../index');
215
varimagePath=path_1.resolve(__dirname,'../../../../','styles','coderoad.jpg');
226
varwelcomeStyle={
237
backgroundImage:"url(\""+imagePath+"\")",
@@ -28,22 +12,4 @@ var welcomeButtonStyle = {
2812
fontSize:'1.4em',
2913
padding:'5px 2px'
3014
};
31-
varWelcome=(function(_super){
32-
__extends(Welcome,_super);
33-
functionWelcome(){
34-
_super.apply(this,arguments);
35-
}
36-
Welcome.prototype.render=function(){
37-
return(React.createElement("div",{style:welcomeStyle},React.createElement("div",{className:'cr-welcome'},React.createElement("div",{className:'title'},"CodeRoad"),React.createElement("div",{className:'tagline'},"Tutorials in your Editor"),React.createElement("br",null),React.createElement("br",null),React.createElement(FlatButton_1.default,{style:welcomeButtonStyle,label:'Start',onTouchTap:this.props.routeToTutorials,secondary:true}))));
38-
};
39-
Welcome=__decorate([
40-
react_redux_1.connect(null,function(dispatch){
41-
return{
42-
routeToTutorials:function(){returndispatch(actions_1.setRoute('tutorials'));}
43-
};
44-
}),
45-
__metadata('design:paramtypes',[])
46-
],Welcome);
47-
returnWelcome;
48-
}(React.Component));
49-
exports.Welcome=Welcome;
15+
exports.Welcome=function(){return(React.createElement("div",{style:welcomeStyle},React.createElement("div",{className:'cr-welcome'},React.createElement("div",{className:'title'},"CodeRoad"),React.createElement("div",{className:'tagline'},"Tutorials in your Editor"),React.createElement("br",null),React.createElement("br",null),React.createElement(index_1.RouteButton,{label:'Start',route:'tutorials',style:welcomeButtonStyle}))));};

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp