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

Commit213b6dc

Browse files
committed
load tutorial versions
1 parentcf9f3c9 commit213b6dc

File tree

8 files changed

+108
-11
lines changed

8 files changed

+108
-11
lines changed

‎lib/components/start/tutorials.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ var default_1 = (function (_super) {
4141
var_this=this;
4242
var_a=this.props,tutorials=_a.tutorials,loadTutorials=_a.loadTutorials,selectProject=_a.selectProject,toggleAlert=_a.toggleAlert;
4343
return(React.createElement("div",{className:'cr-tutorials'},React.createElement(table_1.default,null,React.createElement(table_header_1.default,{displaySelectAll:false,adjustForCheckbox:false},React.createElement(table_row_1.default,null,React.createElement(table_header_column_1.default,null,"Tutorial"),React.createElement(table_header_column_1.default,null,"Version"))),React.createElement(table_body_1.default,{displayRowCheckbox:false},tutorials.map(function(tutorial,index){
44-
return(React.createElement(table_row_1.default,null,React.createElement(table_row_column_1.default,null,React.createElement(flat_button_1.default,{label:_this.trim(tutorial),primary:true,onTouchTap:selectProject.bind(_this,tutorial)})),React.createElement(table_row_column_1.default,null,"v1.0.0"),"/>"));
44+
return(React.createElement(table_row_1.default,null,React.createElement(table_row_column_1.default,null,React.createElement(flat_button_1.default,{label:_this.trim(tutorial.name),primary:true,onTouchTap:selectProject.bind(_this,tutorial)})),React.createElement(table_row_column_1.default,null,tutorial.version),"/>"));
4545
}))),React.createElement("br",null),React.createElement(flat_button_1.default,{label:'Check for Tutorials',secondary:true,onTouchTap:loadTutorials})));
4646
};
4747
default_1=__decorate([

‎lib/reducers/hint/hint.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
"use strict";
2+
varType=require('../../actions/actionTypes');
3+
vardefaultHint={
4+
position:0
5+
};
6+
functionhintReducer(hint,action){
7+
if(hint===void0){hint=defaultHint;}
8+
switch(action.type){
9+
caseType.SET_PAGE:
10+
return{
11+
position:0
12+
};
13+
caseType.TEST_RESULT:
14+
if(action.payload.result.change!==0){
15+
return{
16+
position:0
17+
};
18+
}
19+
returnhint;
20+
caseType.SET_HINT_POSITION:
21+
return{
22+
position:action.payload.hintPosition
23+
};
24+
default:
25+
returnhint;
26+
}
27+
}
28+
Object.defineProperty(exports,"__esModule",{value:true});
29+
exports.default=hintReducer;

‎lib/reducers/task/task.js

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
"use strict";
2+
varType=require('../../actions/actionTypes');
3+
vardefaultTaskPosition={
4+
position:0,
5+
change:false
6+
};
7+
functiontaskPositionReducer(taskPos,action){
8+
if(taskPos===void0){taskPos=defaultTaskPosition;}
9+
switch(action.type){
10+
caseType.SET_PAGE:
11+
return{
12+
position:0,
13+
change:false
14+
};
15+
caseType.TEST_RESULT:
16+
var_a=action.payload.result,taskPosition=_a.taskPosition,change=_a.change;
17+
return{
18+
position:taskPosition,
19+
change:change
20+
};
21+
default:
22+
returntaskPos;
23+
}
24+
}
25+
Object.defineProperty(exports,"__esModule",{value:true});
26+
exports.default=taskPositionReducer;

‎lib/services/setup/tutorials.js

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,24 @@ function _isTutorial(name) {
4141
}
4242
functionsearchForTutorials(deps){
4343
if(!!deps&&Object.keys(deps).length>0){
44-
returnObject.keys(deps).filter(function(name){return_isTutorial(name);});
44+
returnObject.keys(deps)
45+
.filter(function(name){return_isTutorial(name);})
46+
.map(function(name){
47+
varpathToTutorialPackageJson=path.join(window.coderoad.dir,'node_modules',name,'package.json');
48+
if(!exists_1.fileExists(pathToTutorialPackageJson)){
49+
console.log("Error with "+name+": no package.json file found. "+tutorialError);
50+
return{
51+
name:name,
52+
version:'NOT INSTALLED'
53+
};
54+
}
55+
varpackageJson=JSON.parse(fs.readFileSync(pathToTutorialPackageJson,'utf8'));
56+
return{
57+
name:name,
58+
version:packageJson.version,
59+
latest:true
60+
};
61+
});
4562
}
4663
else{
4764
return[];

‎src/components/start/tutorials.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import * as Action from '../../actions/actions';
2525
};
2626
})
2727
exportdefaultclassextendsReact.Component<{
28-
tutorials:string[],loadTutorials?:()=>void,
28+
tutorials:CR.Tutorial[],loadTutorials?:()=>void,
2929
selectProject?:(name:string)=>void,toggleAlert?:(item:CR.Alert)=>void
3030
},{}>{
3131
trim(name:string):string{
@@ -52,13 +52,13 @@ export default class extends React.Component<{
5252
</TableHeader>
5353
<TableBodydisplayRowCheckbox={false}>
5454

55-
{tutorials.map((tutorial:string,index)=>{
55+
{tutorials.map((tutorial:CR.Tutorial,index)=>{
5656
return(
5757
<TableRow>
5858
<TableRowColumn>
59-
<FlatButtonlabel={this.trim(tutorial)}primary={true}onTouchTap={selectProject.bind(this,tutorial)}/>
59+
<FlatButtonlabel={this.trim(tutorial.name)}primary={true}onTouchTap={selectProject.bind(this,tutorial)}/>
6060
</TableRowColumn>
61-
<TableRowColumn>v1.0.0</TableRowColumn>
61+
<TableRowColumn>{tutorial.version}</TableRowColumn>
6262
/>
6363
</TableRow>
6464
);

‎src/reducers/tutorials/tutorials.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import*asTypefrom'../../actions/actionTypes';
22

3-
4-
exportdefaultfunctiontutorialsReducer(tutorials=[],action:CR.Action):string[]{
3+
exportdefaultfunctiontutorialsReducer(tutorials=[],action:CR.Action):CR.Tutorial[]{
54
switch(action.type){
65
caseType.LOAD_TUTORIALS:
76
returnaction.payload.tutorials;

‎src/services/setup/tutorials.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,29 @@ function _isTutorial(name: string): boolean {
5454
returntrue;
5555
}
5656

57-
exportfunctionsearchForTutorials(deps:Object):string[]{
57+
exportfunctionsearchForTutorials(deps:Object):CR.Tutorial[]{
5858
if(!!deps&&Object.keys(deps).length>0){
59-
returnObject.keys(deps).filter((name)=>_isTutorial(name));
59+
returnObject.keys(deps)
60+
.filter((name:string)=>_isTutorial(name))
61+
.map(function(name:string){
62+
63+
constpathToTutorialPackageJson=path.join(window.coderoad.dir,'node_modules',name,'package.json');
64+
if(!fileExists(pathToTutorialPackageJson)){
65+
console.log(`Error with${name}: no package.json file found.${tutorialError}`);
66+
return{
67+
name,
68+
version:'NOT INSTALLED'
69+
};
70+
}
71+
72+
letpackageJson=JSON.parse(fs.readFileSync(pathToTutorialPackageJson,'utf8'));
73+
74+
return{
75+
name,
76+
version:packageJson.version,
77+
latest:true
78+
};
79+
});
6080
}else{
6181
return[];
6282
}

‎src/typings/cr/cr.d.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ declare namespace CR {
3737
hintPosition:number;
3838
editorActions:string[];
3939
alert:Alert;
40-
tutorials:string[];
40+
tutorials:Tutorial[];
4141
runTests:boolean;
4242
log:Log;
4343
warning:SetupWarning;
@@ -93,6 +93,12 @@ declare namespace CR {
9393
meta?;
9494
}
9595

96+
interfaceTutorial{
97+
name:string;
98+
version:string;
99+
latest?:boolean;
100+
}
101+
96102
interfaceLog{
97103
open:boolean;
98104
message:string;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp