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

Commitd3f666c

Browse files
committed
setup actions
1 parentf5fcfa6 commitd3f666c

File tree

12 files changed

+111
-80
lines changed

12 files changed

+111
-80
lines changed

‎lib/components/checks/checks.js

Lines changed: 24 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
1616
varReact=require('react');
1717
varpaper_1=require('material-ui/lib/paper');
1818
varraised_button_1=require('material-ui/lib/raised-button');
19-
vardynamic_stepper_1=require('./dynamic-stepper');
19+
varsetup_checker_1=require('./setup-checker');
2020
varVerticalStep_1=require('material-ui/lib/Stepper/VerticalStep');
2121
varflat_button_1=require('material-ui/lib/flat-button');
22+
varsetup_actions_1=require('../../reducers/checks/setup-actions');
2223
varreact_redux_1=require('react-redux');
2324
varstore_1=require('../../store/store');
2425
varAction=require('../../actions/actions');
@@ -27,31 +28,38 @@ var Checks = (function (_super) {
2728
functionChecks(){
2829
_super.apply(this,arguments);
2930
}
31+
Checks.prototype.getSystemChecks=function(checks){
32+
varsystem=checks.system;
33+
return[system.node,system.npm];
34+
};
35+
Checks.prototype.getSetupChecks=function(checks){
36+
varsetup=checks.setup;
37+
return[setup.dir,setup.packageJson,setup.tutorial];
38+
};
3039
Checks.prototype.render=function(){
31-
var_a=this.props,checks=_a.checks,routeToTutorials=_a.routeToTutorials;
32-
returnReact.createElement(paper_1.default,{className:'cr-start'},React.createElement("div",{className:'cr-start-header'},React.createElement("span",{className:'title'},"CodeRoad"),React.createElement("p",{className:'tagline'},"Tutorials in the Editor"),React.createElement("p",{className:'version'},"Beta"),checks.system.passed ?null :React.createElement(dynamic_stepper_1.default,{title:'Dependency Checks'},React.createElement(VerticalStep_1.default,{orderStepLabel:'1',stepLabel:'Node >= 0.10',actions:[
33-
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:function(){return;}}),
34-
React.createElement(flat_button_1.default,{key:1,label:'Cancel'})
40+
var_a=this.props,checks=_a.checks,routeToTutorials=_a.routeToTutorials,verify=_a.verify;
41+
returnReact.createElement(paper_1.default,{className:'cr-start'},React.createElement("div",{className:'cr-start-header'},React.createElement("p",{className:'tagline'},"Setup"),checks.system.passed ?null :React.createElement(setup_checker_1.default,{title:'Dependency Checks',status:this.getSystemChecks(checks)},React.createElement(VerticalStep_1.default,{orderStepLabel:'1',stepLabel:'Node >= 0.10',actions:[
42+
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:verify})
3543
]},React.createElement("div",null,"Install a newer version of ",React.createElement("a",{href:'https://nodejs.org'},"Node"))),React.createElement(VerticalStep_1.default,{orderStepLabel:'2',stepLabel:'NPM >= 3',actions:[
36-
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:function(){return;}}),
37-
React.createElement(flat_button_1.default,{key:1,label:'Cancel'})
38-
]},React.createElement("div",null,"Update your version of NPM.",React.createElement("br",null),"`> npm update -g npm`"))),checks.setup.passed ?null :React.createElement(dynamic_stepper_1.default,{title:'Setup Checks'},React.createElement(VerticalStep_1.default,{orderStepLabel:'1',stepLabel:'working directory',actions:[
39-
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:function(){return;}}),
40-
React.createElement(flat_button_1.default,{key:1,label:'Cancel'})
44+
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:verify})
45+
]},React.createElement("div",null,"Update your version of NPM.",React.createElement("br",null),"`> npm update -g npm`"))),checks.setup.passed ?null :React.createElement(setup_checker_1.default,{title:'Setup Checks',status:this.getSetupChecks(checks)},React.createElement(VerticalStep_1.default,{orderStepLabel:'1',stepLabel:'working directory',actions:[
46+
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:verify}),
47+
React.createElement(flat_button_1.default,{key:1,secondary:true,label:'Do it for me',onTouchTap:setup_actions_1.openDirectory})
4148
]},React.createElement("div",null,"File -> Open (a new folder)")),React.createElement(VerticalStep_1.default,{orderStepLabel:'2',stepLabel:'package.json',actions:[
42-
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:function(){return;}}),
43-
React.createElement(flat_button_1.default,{key:1,label:'Cancel'})
49+
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:verify}),
50+
React.createElement(flat_button_1.default,{key:1,secondary:true,label:'Do it for me',onTouchTap:setup_actions_1.createPackageJson})
4451
]},React.createElement("div",null,"Create a package.json by running",React.createElement("br",null),"`> npm init -y`")),React.createElement(VerticalStep_1.default,{orderStepLabel:'3',stepLabel:'install tutorial',actions:[
45-
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:function(){return;}}),
46-
React.createElement(flat_button_1.default,{key:1,label:'Cancel'})
52+
React.createElement(raised_button_1.default,{key:0,primary:true,label:'Verify',onTouchTap:verify}),
53+
React.createElement(flat_button_1.default,{key:1,secondary:true,label:'Do it for me',onTouchTap:setup_actions_1.installTutorial})
4754
]},React.createElement("div",null,"Install a tutorial using npm. For example:",React.createElement("br",null),"`> npm install coderoad-functional-school --save-dev`"))),checks.passed
4855
?React.createElement(flat_button_1.default,{label:'Begin',primary:true,onTouchTap:routeToTutorials})
49-
:React.createElement("div",{className:'setup-guide'},React.createElement("span",null,"Check the",React.createElement("a",{href:'https://coderoad.github.io/docs#install'}," ",React.createElement("strong",null,"Install Guide"))))));
56+
:React.createElement("div",{className:'setup-guide'},React.createElement("span",null,"Check the",React.createElement("a",{href:'https://coderoad.github.io/docs#install'}," ",React.createElement("strong",null,"Install Guide"))))),React.createElement("p",{className:'version'},"Beta"));
5057
};
5158
Checks=__decorate([
5259
react_redux_1.connect(null,function(dispatch){
5360
return{
54-
routeToTutorials:function(){returnstore_1.store.dispatch(Action.setRoute('tutorials'));}
61+
routeToTutorials:function(){returnstore_1.store.dispatch(Action.setRoute('tutorials'));},
62+
verify:function(){returnstore_1.store.dispatch(Action.verifySetup());}
5563
};
5664
}),
5765
__metadata('design:paramtypes',[])

‎lib/components/checks/dynamic-stepper.jsrenamed to‎lib/components/checks/setup-checker.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,6 @@ var __extends = (this && this.__extends) || function (d, b) {
77
varReact=require('react');
88
varStepper_1=require('material-ui/lib/Stepper/Stepper');
99
varfont_icon_1=require('material-ui/lib/font-icon');
10-
varinitState={
11-
activeStep:-1,
12-
statusSteps:[]
13-
};
1410
varstyles={
1511
header:{
1612
textAlign:'center',
@@ -23,9 +19,13 @@ var styles = {
2319
};
2420
vardefault_1=(function(_super){
2521
__extends(default_1,_super);
26-
functiondefault_1(){
27-
_super.call(this);
28-
this.state=initState;
22+
functiondefault_1(props){
23+
_super.call(this,props);
24+
varstatusSteps=this.props.status;
25+
this.state={
26+
activeStep:statusSteps.indexOf(false)||-1,
27+
statusSteps:statusSteps
28+
};
2929
}
3030
default_1.prototype.selectStep=function(CurrentStep){
3131
this.setState({

‎lib/reducers/checks/checks.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
22
varType=require('../../actions/actionTypes');
3-
varsetup_1=require('./setup');
3+
varverify_1=require('./verify');
44
vardefaultChecks={
55
passed:false,
66
system:{
@@ -17,7 +17,7 @@ function checksReducer(checks, action) {
1717
if(checks===void0){checks=defaultChecks;}
1818
switch(action.type){
1919
caseType.VERIFY_SETUP:
20-
returnsetup_1.default();
20+
returnverify_1.default();
2121
default:
2222
returnchecks;
2323
}

‎lib/reducers/checks/verify.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
"use strict";
2+
varcheck_system_1=require('./check-system');
3+
varcheck_setup_1=require('./check-setup');
4+
functionallTrue(obj){
5+
returnObject.values(obj).every(function(x){returnx===true;});
6+
}
7+
functionresult(x){
8+
returnx;
9+
}
10+
functionverifySetup(){
11+
varchecks={
12+
system:{
13+
node:false,
14+
npm:!!check_system_1.npmVersionThreeOrLater()
15+
},
16+
setup:{
17+
dir:!!check_setup_1.hasDirectory(),
18+
packageJson:!!check_setup_1.hasPackageJson(),
19+
tutorial:!!check_setup_1.hasTutorialDep()
20+
}
21+
};
22+
checks.system.passed=allTrue(checks.system);
23+
checks.setup.passed=allTrue(checks.setup);
24+
checks.passed=checks.system.passed&&checks.setup.passed;
25+
returnchecks;
26+
}
27+
Object.defineProperty(exports,"__esModule",{value:true});
28+
exports.default=verifySetup;

‎lib/reducers/tutorials/check-tutorials.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,11 @@ var fs = require('fs');
44
varexists_1=require('../../services/exists');
55
vartutorialError='This is an error with the tutorial itself';
66
functionpackageJsonExists(){
7-
console.log('packageJsonExists?');
87
varpathToPackageJson=path.join(window.coderoad.dir,'package.json');
98
returnexists_1.fileExists(pathToPackageJson);
109
}
1110
exports.packageJsonExists=packageJsonExists;
1211
functionloadRootPackageJson(){
13-
console.log('loadRootPackageJson');
1412
varpathToPackageJson=path.join(window.coderoad.dir,'package.json');
1513
if(exists_1.fileExists(pathToPackageJson)){
1614
returnJSON.parse(fs.readFileSync(pathToPackageJson,'utf8'));

‎src/components/checks/_checks.less

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,3 @@
2121
}
2222
}
2323
}
24-
.cr-setup {
25-
.cr-setup-action {}
26-
.setupGuide {
27-
margin:0auto;
28-
padding:20px;
29-
color:white;
30-
a,a:link,a:visited {
31-
color:white;
32-
}
33-
}
34-
}

‎src/components/checks/checks.tsx

Lines changed: 36 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,48 @@
11
import*asReactfrom'react';
22
importPaperfrom'material-ui/lib/paper';
33
importRaisedButtonfrom'material-ui/lib/raised-button';
4-
importDynamicStepperfrom'./dynamic-stepper';
4+
importDynamicStepperfrom'./setup-checker';
55
importStepfrom'material-ui/lib/Stepper/VerticalStep';
66
importFlatButtonfrom'material-ui/lib/flat-button';
77

8+
import{openDirectory,createPackageJson,installTutorial}from'../../reducers/checks/setup-actions';
89
import{connect}from'react-redux';
910
import{store}from'../../store/store';
1011
import*asActionfrom'../../actions/actions';
1112

1213
@connect(null,(dispatch)=>{
1314
return{
14-
routeToTutorials:()=>store.dispatch(Action.setRoute('tutorials'))
15+
routeToTutorials:()=>store.dispatch(Action.setRoute('tutorials')),
16+
verify:()=>store.dispatch(Action.verifySetup())
1517
};
1618
})
1719
exportclassChecksextendsReact.Component<{
18-
checks:CR.Checks,routeToTutorials?:any
20+
checks:CR.Checks,routeToTutorials?:any,verify?:any
1921
},{}>{
22+
getSystemChecks(checks:CR.Checks){
23+
constsystem=checks.system;
24+
return[system.node,system.npm];
25+
}
26+
getSetupChecks(checks:CR.Checks){
27+
constsetup=checks.setup;
28+
return[setup.dir,setup.packageJson,setup.tutorial];
29+
}
2030
render(){
21-
const{checks, routeToTutorials}=this.props;
22-
return<PaperclassName='cr-start'>
31+
const{checks, routeToTutorials, verify}=this.props;
32+
return<PaperclassName='cr-start'>
2333
<divclassName='cr-start-header'>
24-
<spanclassName='title'>CodeRoad</span>
25-
<pclassName='tagline'>Tutorials in the Editor</p>
26-
<pclassName='version'>Beta</p>
34+
<pclassName='tagline'>Setup</p>
2735

2836
{/* System Checks */}
2937

30-
{checks.system.passed ?null :<DynamicSteppertitle='Dependency Checks'>
38+
{checks.system.passed ?null :<DynamicSteppertitle='Dependency Checks'status={this.getSystemChecks(checks)}>
3139
<SteporderStepLabel='1'
3240
stepLabel='Node >= 0.10'
3341
actions={[
3442
<RaisedButtonkey={0}primary={true}
3543
label='Verify'
36-
onTouchTap={function(){return;}}
37-
/>,
38-
<FlatButtonkey={1}label='Cancel'/>
44+
onTouchTap={verify}
45+
/>
3946
]}>
4047
<div>Install a newer version of<ahref='https://nodejs.org'>Node</a></div>
4148
</Step>
@@ -44,9 +51,8 @@ export class Checks extends React.Component<{
4451
actions={[
4552
<RaisedButtonkey={0}primary={true}
4653
label='Verify'
47-
onTouchTap={function(){return;}}
48-
/>,
49-
<FlatButtonkey={1}label='Cancel'/>
54+
onTouchTap={verify}
55+
/>
5056
]}>
5157
<div>
5258
Update your version of NPM.<br/>
@@ -57,15 +63,17 @@ export class Checks extends React.Component<{
5763
5864
{/* Setup Checks */}
5965
60-
{checks.setup.passed ? null : <DynamicStepper title='Setup Checks'>
66+
{checks.setup.passed ? null : <DynamicStepper title='Setup Checks'
67+
status={this.getSetupChecks(checks)}>
6168
<Step orderStepLabel='1'
6269
stepLabel='working directory'
6370
actions={[
6471
<RaisedButton key={0} primary={true}
6572
label='Verify'
66-
onTouchTap={function() { return; }}
67-
/>,
68-
<FlatButton key={1} label='Cancel' />
73+
onTouchTap={verify} />,
74+
<FlatButton key={1} secondary={true}
75+
label='Do it for me'
76+
onTouchTap={openDirectory} />
6977
]} >
7078
<div>File -> Open (a new folder)</div>
7179
</Step>
@@ -74,9 +82,10 @@ export class Checks extends React.Component<{
7482
actions={[
7583
<RaisedButton key={0} primary={true}
7684
label='Verify'
77-
onTouchTap={function() { return; }}
78-
/>,
79-
<FlatButton key={1} label='Cancel' />
85+
onTouchTap={verify} />,
86+
<FlatButton key={1} secondary={true}
87+
label='Do it for me'
88+
onTouchTap={createPackageJson} />
8089
]} >
8190
<div>
8291
Create a package.json by running<br />
@@ -87,9 +96,10 @@ export class Checks extends React.Component<{
8796
actions={[
8897
<RaisedButton key={0} primary={true}
8998
label='Verify'
90-
onTouchTap={function() { return; }}
91-
/>,
92-
<FlatButton key={1} label='Cancel' />
99+
onTouchTap={verify} />,
100+
<FlatButton key={1} secondary={true}
101+
label='Do it for me'
102+
onTouchTap={installTutorial} />
93103
]} >
94104
<div>
95105
Install a tutorial using npm. For example:<br />
@@ -108,6 +118,7 @@ export class Checks extends React.Component<{
108118
</div>}
109119

110120
</div>
121+
<pclassName='version'>Beta</p>
111122
</Paper>;
112123
}
113124
}

‎src/components/checks/dynamic-stepper.tsxrenamed to‎src/components/checks/setup-checker.tsx

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,6 @@ import * as React from 'react';
22
importStepperfrom'material-ui/lib/Stepper/Stepper';
33
importFontIconfrom'material-ui/lib/font-icon';
44

5-
letinitState={
6-
activeStep:-1,
7-
statusSteps:[]
8-
};
9-
105
conststyles={
116
header:{
127
textAlign:'center',
@@ -19,13 +14,17 @@ const styles = {
1914
};
2015

2116
exportdefaultclassextendsReact.Component<{
22-
title?:string,children?:any
17+
status:boolean[],title:string,children?:any
2318
},{
2419
activeStep:number,statusSteps:boolean[]
2520
}>{
26-
constructor(){
27-
super();
28-
this.state=initState;
21+
constructor(props){
22+
super(props);
23+
letstatusSteps=this.props.status;
24+
this.state={
25+
activeStep:statusSteps.indexOf(false)||-1,
26+
statusSteps
27+
};
2928
}
3029
selectStep(CurrentStep){
3130
this.setState({
@@ -51,7 +50,7 @@ export default class extends React.Component<{
5150
statusSteps[activeStep]=true;
5251
this.state={
5352
activeStep:activeStep+1,
54-
statusSteps:statusSteps,
53+
statusSteps,
5554
};
5655
}
5756
render(){

‎src/reducers/checks/checks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import*asTypefrom'../../actions/actionTypes';
2-
importverifySetupfrom'./setup';
2+
importverifySetupfrom'./verify';
33

44
constdefaultChecks={
55
passed:false,

‎src/reducers/checks/setup.tsrenamed to‎src/reducers/checks/verify.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ function result(x) {
1616
exportdefaultfunctionverifySetup():CR.Checks{
1717
letchecks:CR.Checks={
1818
system:{
19-
node:true,
19+
node:false,
2020
npm:!!npmVersionThreeOrLater()
2121
},
2222
setup:{
@@ -27,7 +27,7 @@ export default function verifySetup(): CR.Checks {
2727
};
2828

2929
checks.system.passed=allTrue(checks.system);
30-
checks.setup.passed=allTrue(checks.system);
30+
checks.setup.passed=allTrue(checks.setup);
3131
checks.passed=checks.system.passed&&checks.setup.passed;
3232
returnchecks;
3333
}

‎src/reducers/tutorials/check-tutorials.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,11 @@ import {canUpdateTutorial} from './update-tutorial';
77
lettutorialError='This is an error with the tutorial itself';
88

99
exportfunctionpackageJsonExists():boolean{
10-
console.log('packageJsonExists?');
1110
constpathToPackageJson=path.join(window.coderoad.dir,'package.json');
1211
returnfileExists(pathToPackageJson);
1312
}
1413

1514
exportfunctionloadRootPackageJson():PackageJson{
16-
console.log('loadRootPackageJson');
1715
constpathToPackageJson=path.join(window.coderoad.dir,'package.json');
1816
if(fileExists(pathToPackageJson)){
1917
returnJSON.parse(fs.readFileSync(pathToPackageJson,'utf8'));

‎tsconfig.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@
6767
"src/reducers/checks/check-system.ts",
6868
"src/reducers/checks/checks.ts",
6969
"src/reducers/checks/setup-actions.ts",
70-
"src/reducers/checks/setup.ts",
70+
"src/reducers/checks/verify.ts",
7171
"src/reducers/editor-actions/action-helpers.ts",
7272
"src/reducers/editor-actions/actions.ts",
7373
"src/reducers/editor-actions/editor-actions.ts",
@@ -101,7 +101,7 @@
101101
"src/components/alert/alert.tsx",
102102
"src/components/app.tsx",
103103
"src/components/checks/checks.tsx",
104-
"src/components/checks/dynamic-stepper.tsx",
104+
"src/components/checks/setup-checker.tsx",
105105
"src/components/final-page/final-page.tsx",
106106
"src/components/markdown/markdown.tsx",
107107
"src/components/menu/menu.tsx",

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp