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

Commit6e013ab

Browse files
committed
check if tutorial is latest, add update button
1 parent7726b7d commit6e013ab

File tree

35 files changed

+252
-152
lines changed

35 files changed

+252
-152
lines changed

‎lib/actions.js‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ exports.tutorialSet = actions_10.tutorialSet;
3636
varactions_11=require('./modules/tutorials/actions');
3737
exports.tutorialsFind=actions_11.tutorialsFind;
3838
exports.tutorialUpdate=actions_11.tutorialUpdate;
39+
exports.tutorialsUpdate=actions_11.tutorialsUpdate;
3940
varactions_12=require('./modules/window/actions');
4041
exports.windowToggle=actions_12.windowToggle;
4142
exports.quit=actions_12.quit;

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@ var UpdateTutorial = (function (_super) {
2626
UpdateTutorial.prototype.render=function(){
2727
var_a=this.props,tutorial=_a.tutorial,tutorialUpdate=_a.tutorialUpdate;
2828
return(React.createElement("span",null,
29-
React.createElement(update_1.default,{style:styles.icon,color:colors_1.pink500,onTouchTap:tutorialUpdate.bind(this,tutorial.name)}),
30-
"``",
31-
React.createElement("span",{style:styles.latest},tutorial.latest)));
29+
React.createElement(update_1.default,{style:styles.icon,color:colors_1.pink500,onTouchTap:tutorialUpdate.bind(this,tutorial.name)})
30+
));
3231
};
3332
returnUpdateTutorial;
3433
}(React.Component));

‎lib/components/Tutorials/index.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ var Tutorials = (function (_super) {
3636
),
3737
React.createElement(Table_1.TableRowColumn,null,
3838
tutorial.version,
39-
!!tutorial.latest
39+
!tutorial.latest
4040
?React.createElement(UpdateTutorial_1.default,{tutorial:tutorial})
4141
:null)));
4242
}))),

‎lib/index.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ var StatusBar_1 = require('./components/StatusBar');
55
varsetup_1=require('./modules/setup');
66
varstore_1=require('./store');
77
varsubscriptions_1=require('./subscriptions');
8-
varutils_1=require('./utils');
8+
varpolyfills_1=require('./utils/polyfills');
99
varinjectTapEventPlugin=require('react-tap-event-plugin');
1010
process.env.NODE_ENV='production';
1111
varMain=(function(){
1212
functionMain(){
1313
injectTapEventPlugin();
14-
utils_1.default();
14+
polyfills_1.default();
1515
store_1.default.dispatch(setup_1.setupVerify());
1616
this.side=SidePanel_1.sideElement.init();
1717
this.subscriptions=newsubscriptions_1.default();
Lines changed: 7 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,17 @@
11
"use strict";
2+
varcompareVersions_1=require('../../../utils/compareVersions');
3+
varsystem_1=require('../../../utils/system');
24
varatom_plugin_command_line_1=require('atom-plugin-command-line');
35
varversions={
46
node:'4.0.0',
57
atom:'1.8.0',
68
npm:'3.0.0'
79
};
8-
functionmatchVersions(v){
9-
returnv.match(/([0-9]+)\.([0-9]+)/);
10-
}
11-
functionisAboveVersion(a,b){
12-
if(a===b){
13-
returntrue;
14-
}
15-
vara_components=a.split('.');
16-
varb_components=b.split('.');
17-
varlen=Math.min(a_components.length,b_components.length);
18-
for(vari=0;i<len;i++){
19-
varfirst=parseInt(a_components[i],10);
20-
varsecond=parseInt(b_components[i],10);
21-
if(first>second){
22-
returntrue;
23-
}
24-
if(first<second){
25-
returnfalse;
26-
}
27-
}
28-
if(a_components.length>b_components.length){
29-
returntrue;
30-
}
31-
if(a_components.length<b_components.length){
32-
returnfalse;
33-
}
34-
returntrue;
35-
}
3610
functionminVersion(command){
3711
varminVersion=versions[command];
3812
returnnewPromise(function(resolve,reject){
3913
varminOrLater=atom_plugin_command_line_1.default(command,'-v')
40-
.then(function(res){returnisAboveVersion(res,minVersion);});
14+
.then(function(res){returncompareVersions_1.isAboveVersion(res,minVersion);});
4115
if(!minOrLater){
4216
resolve(false);
4317
}
@@ -51,7 +25,7 @@ function atomMinVersion() {
5125
returnnewPromise(function(resolve,reject){
5226
varminOrLater=atom_plugin_command_line_1.default('atom','-v').then(function(res){
5327
varmatch=res.match(/Atom\s+:\s+([0-9]\.[0-9]\.[0-9])/);
54-
if(match&&match[1]&&isAboveVersion(match[1],versions.atom)){
28+
if(match&&match[1]&&compareVersions_1.isAboveVersion(match[1],versions.atom)){
5529
resolve(true);
5630
}
5731
else{
@@ -61,8 +35,8 @@ function atomMinVersion() {
6135
});
6236
}
6337
exports.atomMinVersion=atomMinVersion;
64-
functionrequiresXCode(){
65-
if(!navigator.platform.match(/Mac/)){
38+
functionhasOrDoesNotRequireXCode(){
39+
if(!system_1.isMac){
6640
returntrue;
6741
}
6842
returnatom_plugin_command_line_1.default('xcode-select','-v').then(function(res){
@@ -72,4 +46,4 @@ function requiresXCode() {
7246
returnfalse;
7347
});
7448
}
75-
exports.requiresXCode=requiresXCode;
49+
exports.hasOrDoesNotRequireXCode=hasOrDoesNotRequireXCode;

‎lib/modules/setup/utils/verify.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ function setupVerify(dir, packageJson) {
1818
system:{
1919
node:!!check_system_1.minVersion('node'),
2020
npm:!!check_system_1.minVersion('npm'),
21-
xcode:!!check_system_1.requiresXCode(),
21+
xcode:!!check_system_1.hasOrDoesNotRequireXCode,
2222
atom:!!check_system_1.atomMinVersion(),
2323
},
2424
setup:{

‎lib/modules/tutorials/actions.js‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,15 @@ function tutorialUpdate(title) {
1515
};
1616
}
1717
exports.tutorialUpdate=tutorialUpdate;
18+
functiontutorialsUpdate(){
19+
return{type:types_1.TUTORIALS_UPDATE};
20+
}
21+
exports.tutorialsUpdate=tutorialsUpdate;
1822
functiontutorialsFind(){
1923
returnfunction(dispatch,getState){
2024
vardir=getState().dir;
2125
dispatch({type:types_1.TUTORIALS_FIND,payload:{dir:dir}});
26+
dispatch(tutorialsUpdate());
2227
};
2328
}
2429
exports.tutorialsFind=tutorialsFind;

‎lib/modules/tutorials/index.js‎

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,25 @@
11
"use strict";
2-
varreducer_1=require('./reducer');
3-
exports.reducer=reducer_1.default;
2+
varlatestVersion_1=require('./latestVersion');
3+
vartypes_1=require('./types');
4+
varcoderoad_cli_1=require('coderoad-cli');
5+
functiontutorialsReducer(t,action){
6+
if(t===void0){t=[];}
7+
switch(action.type){
8+
casetypes_1.TUTORIALS_FIND:
9+
vartuts=coderoad_cli_1.tutorials({dir:action.payload.dir});
10+
returntuts ?tuts :t;
11+
casetypes_1.TUTORIALS_UPDATE:
12+
returnt.map(function(tutorial){
13+
varname=tutorial.name,version=tutorial.version;
14+
if(version){
15+
latestVersion_1.default({name:name,version:version})
16+
.then(function(x){returntutorial.latest=x;});
17+
}
18+
returntutorial;
19+
});
20+
default:
21+
returnt;
22+
}
23+
}
24+
Object.defineProperty(exports,"__esModule",{value:true});
25+
exports.default=tutorialsReducer;
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
"use strict";
2+
varcompareVersions_1=require('../../utils/compareVersions');
3+
varfetch_1=require('../../utils/fetch');
4+
varnpmApiCall=function(name){return("https://registry.npmjs.org/"+name);};
5+
functionisLatestVersion(_a){
6+
varname=_a.name,version=_a.version;
7+
return(fetch_1.default(npmApiCall(name))
8+
.then(function(res){
9+
if(res){
10+
varlatest=JSON.parse(res)['dist-tags'].latest;
11+
returncompareVersions_1.isAboveVersion(version,latest);
12+
}
13+
returnfalse;
14+
}));
15+
}
16+
Object.defineProperty(exports,"__esModule",{value:true});
17+
exports.default=isLatestVersion;

‎lib/modules/tutorials/types.js‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
"use strict";
2-
exports.TUTORIAL_UPDATE='TUTORIAL_UPDATE';
32
exports.TUTORIALS_FIND='TUTORIALS_FIND';
3+
exports.TUTORIALS_UPDATE='TUTORIALS_UPDATE';
4+
exports.TUTORIAL_UPDATE='TUTORIAL_UPDATE';

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp