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

Commit9b055fe

Browse files
committed
refactor tasks/hints into components
1 parentbc975b1 commit9b055fe

File tree

15 files changed

+114
-172
lines changed

15 files changed

+114
-172
lines changed

‎lib/components/checks/checks.js

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

‎lib/components/page/hint/hint.js

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

‎lib/components/page/hints/buttons.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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+
varFlatButton_1=require('material-ui/FlatButton');
19+
varactions_1=require('../../../actions/actions');
20+
varHintButton=(function(_super){
21+
__extends(HintButton,_super);
22+
functionHintButton(){
23+
_super.apply(this,arguments);
24+
}
25+
HintButton.prototype.render=function(){
26+
var_a=this.props,hintPosition=_a.hintPosition,hintsLength=_a.hintsLength,label=_a.label,direction=_a.direction,nextHint=_a.nextHint;
27+
returnReact.createElement(FlatButton_1.default,{label:label,disabled:hintPosition>hintsLength-2,onTouchTap:nextHint.bind(this,hintPosition+direction)});
28+
};
29+
HintButton=__decorate([
30+
react_redux_1.connect(null,function(dispatch,state){
31+
return{
32+
setHint:function(position){returndispatch(actions_1.setHintPosition(position));}
33+
};
34+
}),
35+
__metadata('design:paramtypes',[])
36+
],HintButton);
37+
returnHintButton;
38+
}(React.Component));
39+
exports.HintButton=HintButton;

‎lib/components/page/hints/hints.js

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+
varCard_1=require('material-ui/Card');
4+
var_components_1=require('../../_components');
5+
varbuttons_1=require('./buttons');
6+
varhelp_1=require('material-ui/svg-icons/action/help');
7+
exports.Hints=function(_a){
8+
vartask=_a.task,hintPosition=_a.hintPosition;
9+
varhints=task&&task.hints ?task.hints :null;
10+
if(hintPosition<0||!hints||!hints.length){
11+
returnnull;
12+
}
13+
varhint=hints[hintPosition];
14+
return(React.createElement(Card_1.Card,{className:'cr-task-hints'},React.createElement(Card_1.CardHeader,{title:'Hints',avatar:React.createElement(help_1.default,null),actAsExpander:true,showExpandableButton:true}),React.createElement(Card_1.CardText,{className:'cr-task-hint',expandable:true},React.createElement(_components_1.Markdown,null,hint)),React.createElement(Card_1.CardActions,{expandable:true},React.createElement(buttons_1.HintButton,{label:'Previous',hintPosition:hintPosition,hintsLength:hints.length,direction:-1}),React.createElement(buttons_1.HintButton,{label:'Next',hintPosition:hintPosition,hintsLength:hints.length,direction:1}))));
15+
};

‎lib/components/page/page.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ var ReactDOM = require('react-dom');
99
varPaper_1=require('material-ui/Paper');
1010
varDivider_1=require('material-ui/Divider');
1111
varcontent_1=require('./content');
12-
vartask_1=require('./task/task');
13-
varhint_1=require('./hint/hint');
12+
vartasks_1=require('./tasks/tasks');
13+
varhints_1=require('./hints/hints');
1414
varpage_complete_1=require('./complete/page-complete');
1515
vartoolbar_1=require('./toolbar/toolbar');
1616
varpageStyle={
@@ -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
varcurrentTask=taskPosition<=tasks.length ?tasks[taskPosition] :null;
3131
varallComplete=taskPosition>=tasks.length;
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.PageToolbar,{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(tasks_1.Tasks,{tasks:tasks,taskPosition:taskPosition,runTests:runTests}),React.createElement("div",{className:'listEnd',ref:'listEnd'}),React.createElement(hints_1.Hints,{task:currentTask,hintPosition:hintPosition}),React.createElement(page_complete_1.PageCompleteMessage,{page:page}),React.createElement(toolbar_1.PageToolbar,{tasks:tasks,taskPosition:taskPosition})));
3333
};
3434
returndefault_1;
3535
}(React.Component));
File renamed without changes.

‎lib/services/write.js

Whitespace-only changes.

‎src/components/page/_page.less

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import'task/_task';
1+
@import'tasks/_tasks';
22
@import'chapter/_chapter';
33

44
.cr-page {

‎src/components/page/hint/hint.tsx

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

‎src/components/page/hints/buttons.tsx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import*asReactfrom'react';
2+
import{connect}from'react-redux';
3+
importFlatButtonfrom'material-ui/FlatButton';
4+
import{setHintPosition}from'../../../actions/actions';
5+
6+
@connect(null,(dispatch,state)=>{
7+
return{
8+
setHint:(position:number)=>dispatch(setHintPosition(position))
9+
};
10+
})
11+
exportclassHintButtonextendsReact.Component<{
12+
hintPosition:number,hintsLength:number,label:string,direction:number,
13+
nextHint?:any
14+
},{}>{
15+
render(){
16+
const{hintPosition, hintsLength, label, direction, nextHint}=this.props;
17+
return<FlatButtonlabel={label}disabled={hintPosition>hintsLength-2}
18+
onTouchTap={nextHint.bind(this,hintPosition+direction)}/>;
19+
}
20+
}

‎src/components/page/hints/hints.tsx

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import*asReactfrom'react';
2+
import{Card,CardActions,CardHeader,CardText}from'material-ui/Card';
3+
import{Markdown}from'../../_components';
4+
import{HintButton}from'./buttons';
5+
importHelpfrom'material-ui/svg-icons/action/help';
6+
7+
exportconstHints:React.StatelessComponent<{
8+
task:CR.Task,hintPosition:number
9+
}>=({task, hintPosition})=>{
10+
consthints=task&&task.hints ?task.hints :null;
11+
if(hintPosition<0||!hints||!hints.length){
12+
returnnull;
13+
}
14+
consthint=hints[hintPosition];
15+
return(
16+
<CardclassName='cr-task-hints'>
17+
<CardHeader
18+
title='Hints'
19+
avatar={<Help/>}
20+
actAsExpander={true}
21+
showExpandableButton={true}/>
22+
<CardTextclassName='cr-task-hint'expandable={true}>
23+
<Markdown>{hint}</Markdown>
24+
</CardText>
25+
<CardActionsexpandable={true}>
26+
<HintButtonlabel='Previous'hintPosition={hintPosition}hintsLength={hints.length}direction={-1}/>
27+
<HintButtonlabel='Next'hintPosition={hintPosition}hintsLength={hints.length}direction={1}/>
28+
</CardActions>
29+
</Card>
30+
);
31+
};

‎src/components/page/page.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ import * as ReactDOM from 'react-dom';
33
importPaperfrom'material-ui/Paper';
44
importDividerfrom'material-ui/Divider';
55
import{PageContent}from'./content';
6-
import{Tasks}from'./task/task';
7-
importHintsfrom'./hint/hint';
6+
import{Tasks}from'./tasks/tasks';
7+
import{Hints}from'./hints/hints';
88
import{PageCompleteMessage}from'./complete/page-complete';
99
import{PageToolbar}from'./toolbar/toolbar';
1010

File renamed without changes.

‎tsconfig.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,9 +107,10 @@
107107
"src/components/page/complete/page-complete.tsx",
108108
"src/components/page/content.tsx",
109109
"src/components/page/edit.tsx",
110-
"src/components/page/hint/hint.tsx",
110+
"src/components/page/hints/buttons.tsx",
111+
"src/components/page/hints/hints.tsx",
111112
"src/components/page/page.tsx",
112-
"src/components/page/task/task.tsx",
113+
"src/components/page/tasks/tasks.tsx",
113114
"src/components/page/toolbar/buttons.tsx",
114115
"src/components/page/toolbar/progress-bar.tsx",
115116
"src/components/page/toolbar/toolbar.tsx",

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp