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

Commitbf4079e

Browse files
committed
refactor out all UI events into reducers
1 parent163c3ff commitbf4079e

File tree

26 files changed

+226
-47
lines changed

26 files changed

+226
-47
lines changed

‎lib/actions/_types.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,17 @@ exports.ALERT_REPLAY = 'ALERT_REPLAY';
33
exports.ALERT_TOGGLE='ALERT_TOGGLE';
44
exports.COMPLETE_PAGE='COMPLETE_PAGE';
55
exports.COMPLETE_TUTORIAL='COMPLETE_TUTORIAL';
6+
exports.DEVTOOLS_TOGGLE='DEVTOOLS_TOGGLE';
67
exports.HINT_POSITION_SET='HINT_POSITION_SET';
78
exports.HINT_SHOW='HINT_SHOW';
89
exports.PACKAGE_SET='PACKAGE_SET';
910
exports.PAGE_SET='PAGE_SET';
1011
exports.PAGE_POSITION_LOAD='POSITION_LOAD';
1112
exports.PAGE_POSITION_SET='POSITION_SET';
1213
exports.PROGRESS_LOAD='PROGRESS_LOAD';
14+
exports.QUIT='QUIT';
1315
exports.ROUTE_SET='ROUTE_SET';
16+
exports.TEST_SAVE='TEST_SAVE';
1417
exports.SETUP_VERIFY='SETUP_VERIFY';
1518
exports.TEST_COMPLETE='TEST_COMPLETE';
1619
exports.TEST_RESULT='TEST_RESULT';

‎lib/actions/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,13 @@ var test_1 = require('./test');
2222
exports.testRun=test_1.testRun;
2323
exports.testComplete=test_1.testComplete;
2424
exports.testResult=test_1.testResult;
25+
exports.testSave=test_1.testSave;
2526
exports.testsLoad=test_1.testsLoad;
2627
vartutorial_1=require('./tutorial');
2728
exports.tutorialsFind=tutorial_1.tutorialsFind;
2829
exports.tutorialSet=tutorial_1.tutorialSet;
2930
exports.tutorialUpdate=tutorial_1.tutorialUpdate;
30-
varwindow_1=require('./window');
31-
exports.windowToggle=window_1.windowToggle;
31+
vartoggle_1=require('./toggle');
32+
exports.windowToggle=toggle_1.windowToggle;
33+
exports.devToolsToggle=toggle_1.devToolsToggle;
34+
exports.quit=toggle_1.quit;

‎lib/actions/test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,10 @@ function testComplete() {
1717
return{type:_types_1.TEST_COMPLETE};
1818
}
1919
exports.testComplete=testComplete;
20+
functiontestSave(){
21+
return{type:_types_1.TEST_SAVE};
22+
}
23+
exports.testSave=testSave;
2024
functiontestsLoad(pagePosition){
2125
return{type:_types_1.TESTS_LOAD,payload:{pagePosition:pagePosition}};
2226
}

‎lib/actions/toggle.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
"use strict";
2+
var_types_1=require('./_types');
3+
functionwindowToggle(){
4+
return{type:_types_1.WINDOW_TOGGLE};
5+
}
6+
exports.windowToggle=windowToggle;
7+
functiondevToolsToggle(){
8+
return{type:_types_1.DEVTOOLS_TOGGLE};
9+
}
10+
exports.devToolsToggle=devToolsToggle;
11+
functionquit(){
12+
return{type:_types_1.QUIT};
13+
}
14+
exports.quit=quit;

‎lib/components/AppMenu/Quit/index.js

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ var __metadata = (this && this.__metadata) || function (k, v) {
1616
varReact=require('react');
1717
varreact_redux_1=require('react-redux');
1818
varactions_1=require('../../../actions');
19-
varsubscriptions_1=require('../../../atom/subscriptions');
2019
varMenuItem_1=require('material-ui/MenuItem');
2120
varstyles={
2221
textAlign:'center',
@@ -34,8 +33,7 @@ var Quit = (function (_super) {
3433
react_redux_1.connect(null,function(dispatch){
3534
return{
3635
quit:function(){
37-
dispatch(actions_1.windowToggle());
38-
subscriptions_1.onDeactivate();
36+
dispatch(actions_1.quit());
3937
}
4038
};
4139
}),
Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,41 @@
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+
};
216
varReact=require('react');
17+
varreact_redux_1=require('react-redux');
318
varFlatButton_1=require('material-ui/FlatButton');
4-
vareditor_1=require('../../../../atom/editor');
5-
varSave=function(){return(React.createElement(FlatButton_1.default,{label:'Save',secondary:true,onTouchTap:editor_1.save}));};
19+
varactions_1=require('../../../../actions');
20+
varSave=(function(_super){
21+
__extends(Save,_super);
22+
functionSave(){
23+
_super.apply(this,arguments);
24+
}
25+
Save.prototype.render=function(){
26+
return(React.createElement(FlatButton_1.default,{label:'Save',secondary:true,onTouchTap:this.props.save}));
27+
};
28+
Save=__decorate([
29+
react_redux_1.connect(null,function(dispatch,state){
30+
return{
31+
save:function(){
32+
dispatch(actions_1.testSave());
33+
}
34+
};
35+
}),
36+
__metadata('design:paramtypes',[])
37+
],Save);
38+
returnSave;
39+
}(React.Component));
640
Object.defineProperty(exports,"__esModule",{value:true});
741
exports.default=Save;
Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,43 @@
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+
};
216
varReact=require('react');
317
varcode_1=require('material-ui/svg-icons/action/code');
4-
vareditor_1=require('../../../../atom/editor');
18+
varreact_redux_1=require('react-redux');
19+
varactions_1=require('../../../../actions');
520
varFlatButton_1=require('material-ui/FlatButton');
6-
varToggleLog=function(){return(React.createElement(FlatButton_1.default,{icon:React.createElement(code_1.default,null),onTouchTap:editor_1.toggleDevTools}));};
21+
varToggleLog=(function(_super){
22+
__extends(ToggleLog,_super);
23+
functionToggleLog(){
24+
_super.apply(this,arguments);
25+
}
26+
ToggleLog.prototype.render=function(){
27+
return(React.createElement(FlatButton_1.default,{icon:React.createElement(code_1.default,null),onTouchTap:this.props.toggleDevTools}));
28+
};
29+
;
30+
ToggleLog=__decorate([
31+
react_redux_1.connect(null,function(dispatch,state){
32+
return{
33+
toggleDevTools:function(){
34+
dispatch(actions_1.devToolsToggle());
35+
}
36+
};
37+
}),
38+
__metadata('design:paramtypes',[])
39+
],ToggleLog);
40+
returnToggleLog;
41+
}(React.Component));
742
Object.defineProperty(exports,"__esModule",{value:true});
843
exports.default=ToggleLog;

‎lib/reducers/devTools-toggle/index.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"use strict";
2+
var_types_1=require('../../actions/_types');
3+
vareditor_1=require('../../atom/editor');
4+
functiondevToolsToggleReducer(open,action){
5+
if(open===void0){open=false;}
6+
switch(action.type){
7+
case_types_1.DEVTOOLS_TOGGLE:
8+
editor_1.toggleDevTools();
9+
return!open;
10+
default:
11+
returnopen;
12+
}
13+
}
14+
Object.defineProperty(exports,"__esModule",{value:true});
15+
exports.default=devToolsToggleReducer;

‎lib/reducers/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
varredux_1=require('redux');
33
varalert_1=require('./alert');
44
varchecks_1=require('./checks');
5+
vardevTools_toggle_1=require('./devTools-toggle');
56
vardir_1=require('./dir');
67
vartask_actions_1=require('./task-actions');
78
varhint_position_1=require('./hint-position');
@@ -19,7 +20,7 @@ var tutorial_list_1 = require('./tutorial-list');
1920
varwindow_toggle_1=require('./window-toggle');
2021
Object.defineProperty(exports,"__esModule",{value:true});
2122
exports.default=redux_1.combineReducers({
22-
alert:alert_1.default,checks:checks_1.default,dir:dir_1.default,taskActions:task_actions_1.default,hintPosition:hint_position_1.default,page:page_1.default,
23+
alert:alert_1.default,checks:checks_1.default,dir:dir_1.default,devToolsToggle:devTools_toggle_1.default,taskActions:task_actions_1.default,hintPosition:hint_position_1.default,page:page_1.default,
2324
packageJson:package_json_1.default,pagePosition:page_position_1.default,progress:progress_1.default,route:route_1.default,taskPosition:task_position_1.default,
2425
taskTests:task_tests_1.default,tasks:tasks_1.default,testRun:test_run_1.default,tutorial:tutorial_1.default,tutorialList:tutorial_list_1.default,windowToggle:window_toggle_1.default
2526
});

‎lib/reducers/test-run/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"use strict";
22
var_types_1=require('../../actions/_types');
33
varrun_1=require('./run');
4+
vareditor_1=require('../../atom/editor');
45
varpageTimeout=800;
56
varprevious=newDate().getTime();
67
functionrunTestReducer(testRun,action){
@@ -18,6 +19,8 @@ function runTestReducer(testRun, action) {
1819
case_types_1.PAGE_SET:
1920
previous=newDate().getTime();
2021
returnfalse;
22+
case_types_1.TEST_SAVE:
23+
editor_1.save();
2124
default:
2225
returntestRun;
2326
}

‎lib/reducers/window-toggle/index.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
"use strict";
22
var_types_1=require('../../actions/_types');
3+
varsubscriptions_1=require('../../atom/subscriptions');
34
functionwindowToggleReducer(open,action){
45
if(open===void0){open=false;}
56
switch(action.type){
67
case_types_1.WINDOW_TOGGLE:
78
return!open;
9+
case_types_1.QUIT:
10+
subscriptions_1.onDeactivate();
11+
returnfalse;
812
default:
913
returnopen;
1014
}

‎src/actions/_types.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,17 @@ export const ALERT_REPLAY = 'ALERT_REPLAY';
22
exportconstALERT_TOGGLE='ALERT_TOGGLE';
33
exportconstCOMPLETE_PAGE='COMPLETE_PAGE';
44
exportconstCOMPLETE_TUTORIAL='COMPLETE_TUTORIAL';
5+
exportconstDEVTOOLS_TOGGLE='DEVTOOLS_TOGGLE';
56
exportconstHINT_POSITION_SET='HINT_POSITION_SET';
67
exportconstHINT_SHOW='HINT_SHOW';
78
exportconstPACKAGE_SET='PACKAGE_SET';
89
exportconstPAGE_SET='PAGE_SET';
910
exportconstPAGE_POSITION_LOAD='POSITION_LOAD';
1011
exportconstPAGE_POSITION_SET='POSITION_SET';
1112
exportconstPROGRESS_LOAD='PROGRESS_LOAD';
13+
exportconstQUIT='QUIT';
1214
exportconstROUTE_SET='ROUTE_SET';
15+
exportconstTEST_SAVE='TEST_SAVE';
1316
exportconstSETUP_VERIFY='SETUP_VERIFY';
1417
exportconstTEST_COMPLETE='TEST_COMPLETE';
1518
exportconstTEST_RESULT='TEST_RESULT';

‎src/actions/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ export {pageSet, pageNext, pagePositionLoad, pagePositionSet} from './page';
77
export{routeSet}from'./route';
88
export{setupVerify}from'./setup';
99
export{
10-
testRun,testComplete,testResult,testsLoad
10+
testRun,testComplete,testResult,testSave,testsLoad
1111
}from'./test';
1212
export{
1313
tutorialsFind,tutorialSet,tutorialUpdate
1414
}from'./tutorial';
15-
export{windowToggle}from'./window';
15+
export{windowToggle,devToolsToggle,quit}from'./toggle';

‎src/actions/test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import{
2-
TEST_RUN,TEST_RESULT,TEST_COMPLETE,TESTS_LOAD
2+
TEST_RUN,TEST_RESULT,TEST_COMPLETE,TESTS_LOAD,TEST_SAVE
33
}from'./_types';
44
importstorefrom'../store';
55

@@ -19,6 +19,10 @@ export function testComplete(): Action {
1919
return{type:TEST_COMPLETE};
2020
}
2121

22+
exportfunctiontestSave():Action{
23+
return{type:TEST_SAVE};
24+
}
25+
2226
exportfunctiontestsLoad(pagePosition:CR.PagePosition):Action{
2327
return{type:TESTS_LOAD,payload:{ pagePosition}};
2428
}

‎src/actions/toggle.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import{WINDOW_TOGGLE,DEVTOOLS_TOGGLE,QUIT}from'./_types';
2+
3+
exportfunctionwindowToggle():Action{
4+
return{type:WINDOW_TOGGLE};
5+
}
6+
7+
exportfunctiondevToolsToggle():Action{
8+
return{type:DEVTOOLS_TOGGLE};
9+
}
10+
11+
exportfunctionquit():Action{
12+
return{type:QUIT};
13+
}

‎src/actions/window.ts

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

‎src/components/AppMenu/Quit/index.tsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import*asReactfrom'react';
22
import{connect}from'react-redux';
3-
import{windowToggle}from'../../../actions';
4-
import{onDeactivate}from'../../../atom/subscriptions';
3+
import{quit}from'../../../actions';
54
importMenuItemfrom'material-ui/MenuItem';
65

76
conststyles={
@@ -12,8 +11,7 @@ const styles = {
1211
@connect(null,(dispatch)=>{
1312
return{
1413
quit:()=>{
15-
dispatch(windowToggle());
16-
onDeactivate();
14+
dispatch(quit());
1715
}
1816
};
1917
})

‎src/components/FinalPage/index.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import*asReactfrom'react';
2-
import*asReactDOMfrom'react-dom';
32
importPaperfrom'material-ui/Paper';
43
importDividerfrom'material-ui/Divider';
54
import{Card,CardTitle,CardText,CardActions}from'material-ui/Card';
Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,25 @@
11
import*asReactfrom'react';
2+
import{connect}from'react-redux';
23
importFlatButtonfrom'material-ui/FlatButton';
3-
import{save}from'../../../../atom/editor';
4+
import{testSave}from'../../../../actions';
45

5-
constSave=()=>(
6-
<FlatButton
7-
label='Save'
8-
secondary={true}
9-
onTouchTap={save}
10-
/>
11-
);
12-
exportdefaultSave;
6+
@connect(null,(dispatch,state)=>{
7+
return{
8+
save:()=>{
9+
dispatch(testSave());
10+
}
11+
};
12+
})
13+
exportdefaultclassSaveextendsReact.Component<{
14+
save?:any
15+
},{}>{
16+
render(){
17+
return(
18+
<FlatButton
19+
label='Save'
20+
secondary={true}
21+
onTouchTap={this.props.save}
22+
/>
23+
);
24+
}
25+
}
Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,27 @@
11
import*asReactfrom'react';
22
importCodefrom'material-ui/svg-icons/action/code';
3-
import{toggleDevTools}from'../../../../atom/editor';
3+
import{connect}from'react-redux';
4+
import{devToolsToggle}from'../../../../actions';
45
importFlatButtonfrom'material-ui/FlatButton';
56

6-
constToggleLog=()=>(
7-
<FlatButton
8-
icon={
9-
<Code/>
7+
@connect(null,(dispatch,state)=>{
8+
return{
9+
toggleDevTools:()=>{
10+
dispatch(devToolsToggle());
1011
}
11-
onTouchTap={toggleDevTools}
12-
/>
13-
);
14-
exportdefaultToggleLog;
12+
};
13+
})
14+
exportdefaultclassToggleLogextendsReact.Component<{
15+
toggleDevTools?:any
16+
},{}>{
17+
render(){
18+
return(
19+
<FlatButton
20+
icon={
21+
<Code/>
22+
}
23+
onTouchTap={this.props.toggleDevTools}
24+
/>
25+
);
26+
};
27+
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp