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

Commitacd6f58

Browse files
committed
open/close from drawer, Hold component outline
1 parentb062460 commitacd6f58

File tree

36 files changed

+269
-104
lines changed

36 files changed

+269
-104
lines changed

‎lib/actions/_types.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@ exports.TESTS_LOAD = 'TESTS_LOAD';
1919
exports.TUTORIAL_SET='TUTORIAL_SET';
2020
exports.TUTORIAL_UPDATE='TUTORIAL_UPDATE';
2121
exports.TUTORIALS_FIND='TUTORIALS_FIND';
22+
exports.WINDOW_TOGGLE='WINDOW_TOGGLE';

‎lib/actions/index.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,5 @@ var tutorial_1 = require('./tutorial');
2727
exports.tutorialsFind=tutorial_1.tutorialsFind;
2828
exports.tutorialSet=tutorial_1.tutorialSet;
2929
exports.tutorialUpdate=tutorial_1.tutorialUpdate;
30+
varwindow_1=require('./window');
31+
exports.windowToggle=window_1.windowToggle;

‎lib/actions/window.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
"use strict";
2+
var_types_1=require('./_types');
3+
functionwindowToggle(){
4+
return{type:_types_1.WINDOW_TOGGLE};
5+
}
6+
exports.windowToggle=windowToggle;

‎lib/atom/main.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,6 @@ var Main = (function () {
2929
}
3030
subscriptions_1.onDeactivate();
3131
};
32-
Main.prototype.toggle=function(){
33-
root_1.Root.toggle();
34-
};
3532
returnMain;
3633
}());
3734
;

‎lib/atom/subscriptions.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,6 @@ var root_1 = require('../components/root');
66
varsubscriptions=null;
77
functiononActivate(){
88
subscriptions=newCompositeDisposable;
9-
subscriptions.add(atom.commands.add('atom-workspace',{
10-
'cr-viewer:toggle':root_1.Root.toggle,
11-
}));
129
atom.workspace.observeTextEditors(function(editor){
1310
subscriptions.add(editor.onDidSave(function(){
1411
store_1.default.dispatch(actions_1.testRun());

‎lib/components/App.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ var React = require('react');
2525
varreact_redux_1=require('react-redux');
2626
varindex_1=require('./index');
2727
varRoutes_1=require('./Routes');
28+
varDrawer_1=require('material-ui/Drawer');
29+
varHold_1=require('./Hold');
2830
varheight=atom.getSize().height;
2931
window.onresize=function(){
3032
height=atom.getSize().height;
@@ -36,7 +38,7 @@ var App = (function (_super) {
3638
}
3739
App.prototype.render=function(){
3840
varstore=this.props.store;
39-
return(React.createElement("section",{className:'cr',key:'main',style:{height:height}},React.createElement(index_1.AppMenu,__assign({},store)),React.createElement(Routes_1.Routes,__assign({},store)),React.createElement(index_1.Alert,__assign({},store))));
41+
return(React.createElement("section",{className:'cr',key:'main',style:{height:height}},React.createElement(Drawer_1.default,{width:400,openSecondary:true,open:store.open},React.createElement(index_1.AppMenu,__assign({},store)),React.createElement(Routes_1.Routes,__assign({},store)),React.createElement(index_1.Alert,__assign({},store))),React.createElement(Hold_1.Hold,null)));
4042
};
4143
App=__decorate([
4244
react_redux_1.connect(function(store){

‎lib/components/AppMenu/CloseWindow.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+
varactions_1=require('../../actions');
19+
varIconButton_1=require('material-ui/IconButton');
20+
varclose_1=require('material-ui/svg-icons/navigation/close');
21+
varCloseWindow=(function(_super){
22+
__extends(CloseWindow,_super);
23+
functionCloseWindow(){
24+
_super.apply(this,arguments);
25+
}
26+
CloseWindow.prototype.render=function(){
27+
return(React.createElement(IconButton_1.default,{onClick:this.props.windowToggle},React.createElement(close_1.default,null)));
28+
};
29+
CloseWindow=__decorate([
30+
react_redux_1.connect(null,function(dispatch){
31+
return{
32+
windowToggle:function(){returndispatch(actions_1.windowToggle());}
33+
};
34+
}),
35+
__metadata('design:paramtypes',[])
36+
],CloseWindow);
37+
returnCloseWindow;
38+
}(React.Component));
39+
exports.CloseWindow=CloseWindow;

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
1515
};
1616
varReact=require('react');
1717
varreact_redux_1=require('react-redux');
18-
varroot_1=require('../../root');
18+
varactions_1=require('../../../actions');
1919
varsubscriptions_1=require('../../../atom/subscriptions');
2020
varMenuItem_1=require('material-ui/MenuItem');
2121
varstyles={
@@ -34,7 +34,7 @@ var Quit = (function (_super) {
3434
react_redux_1.connect(null,function(dispatch){
3535
return{
3636
quit:function(){
37-
root_1.Root.toggle();
37+
dispatch(actions_1.windowToggle());
3838
subscriptions_1.onDeactivate();
3939
}
4040
};

‎lib/components/AppMenu/index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
"use strict";
22
varReact=require('react');
33
varAppBar_1=require('material-ui/AppBar');
4-
varmenuIconLeft_1=require('./menuIconLeft');
4+
varCloseWindow_1=require('./CloseWindow');
55
varmenuRight_1=require('./menuRight');
66
varstyles={
77
zIndex:'1 !important'
88
};
99
exports.AppMenu=function(_a){
1010
varroute=_a.route;
11-
return(React.createElement(AppBar_1.default,{title:'CodeRoad',className:'cr-menu-bar',styles:styles,iconElementLeft:menuIconLeft_1.menuIconLeft(),iconElementRight:menuRight_1.menuRight(route)}));
11+
return(React.createElement(AppBar_1.default,{title:'CodeRoad',className:'cr-menu-bar',styles:styles,iconElementLeft:React.createElement(CloseWindow_1.CloseWindow,null),iconElementRight:menuRight_1.menuRight(route)}));
1212
};

‎lib/components/Hold.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
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+
varactions_1=require('../actions');
19+
varcolors_1=require('material-ui/styles/colors');
20+
varstyles={
21+
backgroundColor:colors_1.cyan500,
22+
width:'20px',
23+
height:atom.getSize().height,
24+
};
25+
varHold=(function(_super){
26+
__extends(Hold,_super);
27+
functionHold(){
28+
_super.apply(this,arguments);
29+
}
30+
Hold.prototype.render=function(){
31+
returnReact.createElement("div",{style:styles,onTouchTap:this.props.windowToggle});
32+
};
33+
Hold=__decorate([
34+
react_redux_1.connect(null,function(dispatch){
35+
return{
36+
windowToggle:function(){returndispatch(actions_1.windowToggle());}
37+
};
38+
}),
39+
__metadata('design:paramtypes',[])
40+
],Hold);
41+
returnHold;
42+
}(React.Component));
43+
exports.Hold=Hold;

‎lib/components/Hold/index.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
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+
varactions_1=require('../../actions');
19+
varcolors_1=require('material-ui/styles/colors');
20+
varstyles={
21+
backgroundColor:colors_1.cyan500,
22+
width:'20px',
23+
height:atom.getSize().height,
24+
};
25+
varHold=(function(_super){
26+
__extends(Hold,_super);
27+
functionHold(){
28+
_super.apply(this,arguments);
29+
}
30+
Hold.prototype.render=function(){
31+
returnReact.createElement("div",{style:styles,onTouchTap:this.props.windowToggle});
32+
};
33+
Hold=__decorate([
34+
react_redux_1.connect(null,function(dispatch){
35+
return{
36+
windowToggle:function(){returndispatch(actions_1.windowToggle());}
37+
};
38+
}),
39+
__metadata('design:paramtypes',[])
40+
],Hold);
41+
returnHold;
42+
}(React.Component));
43+
exports.Hold=Hold;

‎lib/components/root.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,7 @@ exports.Root = {
66
init:function(){
77
_this.root=document.createElement('div');
88
_this.root.setAttribute('id','crv');
9-
_this.root.hidden=true;
109
return_this.root;
1110
},
12-
toggle:function(){return_this.root.hidden=!_this.root.hidden;},
1311
unmount:function(){returnReactDOM.unmountComponentAtNode(_this.root);}
1412
};

‎lib/reducers/index.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ var checks_1 = require('./checks');
55
vardir_1=require('./dir');
66
vareditor_actions_1=require('./editor-actions');
77
varhint_position_1=require('./hint-position');
8+
varopen_1=require('./open');
89
varpackage_json_1=require('./package-json');
910
varpage_1=require('./page');
1011
varpage_position_1=require('./page-position');
@@ -18,7 +19,7 @@ var tutorial_1 = require('./tutorial');
1819
vartutorials_1=require('./tutorials');
1920
Object.defineProperty(exports,"__esModule",{value:true});
2021
exports.default=redux_1.combineReducers({
21-
alert:alert_1.default,checks:checks_1.default,dir:dir_1.default,editorActions:editor_actions_1.default,hintPosition:hint_position_1.default,page:page_1.default,
22+
alert:alert_1.default,checks:checks_1.default,dir:dir_1.default,editorActions:editor_actions_1.default,hintPosition:hint_position_1.default,open:open_1.default,page:page_1.default,
2223
packageJson:package_json_1.default,pagePosition:page_position_1.default,progress:progress_1.default,route:route_1.default,taskPosition:task_position_1.default,
2324
taskTests:task_tests_1.default,tasks:tasks_1.default,testRun:test_run_1.default,tutorial:tutorial_1.default,tutorials:tutorials_1.default,
2425
});

‎lib/reducers/open/index.js

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

‎menus/cr.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
"submenu": [{
55
"label":"CodeRoad",
66
"submenu": [{
7+
"label":"Start",
8+
"command":"cr-viewer:start"
9+
}, {
710
"label":"Toggle",
811
"command":"cr-viewer:toggle"
912
}]

‎package.json

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"education"
1313
],
1414
"activationCommands": {
15-
"atom-workspace":"cr-viewer:toggle"
15+
"atom-workspace":"cr-viewer:start"
1616
},
1717
"bugs": {
1818
"url":"https://github.com/coderoad/atom-coderoad"
@@ -48,10 +48,6 @@
4848
"redux":"3.5.2"
4949
},
5050
"scripts": {
51-
"test":"ava src/**/*.spec.js",
5251
"compile":"tsc"
53-
},
54-
"devDependencies": {
55-
"ava":"^0.14.0"
5652
}
5753
}

‎src/actions/_types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,4 @@ export const TESTS_LOAD = 'TESTS_LOAD';
1818
exportconstTUTORIAL_SET='TUTORIAL_SET';
1919
exportconstTUTORIAL_UPDATE='TUTORIAL_UPDATE';
2020
exportconstTUTORIALS_FIND='TUTORIALS_FIND';
21+
exportconstWINDOW_TOGGLE='WINDOW_TOGGLE';

‎src/actions/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ export {
1212
export{
1313
tutorialsFind,tutorialSet,tutorialUpdate
1414
}from'./tutorial';
15+
export{windowToggle}from'./window';

‎src/actions/window.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import{WINDOW_TOGGLE}from'./_types';
2+
3+
exportfunctionwindowToggle(){
4+
return{type:WINDOW_TOGGLE};
5+
}

‎src/atom/main.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Main {
1111
root:HTMLElement;
1212
statusBarTile:StatusBar.IStatusBarView;
1313
constructor(){
14-
loadPolyfills();// remove withlater version ofChrome
14+
loadPolyfills();// remove with Chrome 50
1515
store.dispatch(setupVerify());
1616
this.root=Root.init();
1717
}
@@ -37,8 +37,5 @@ class Main {
3737
// remove subscriptions & unmount react app
3838
onDeactivate();
3939
}
40-
toggle():void{
41-
Root.toggle();
42-
}
4340
};
4441
export=newMain();

‎src/atom/subscriptions.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
constCompositeDisposable=require('atom').CompositeDisposable;
22
importstorefrom'../store';
3-
import{testRun,alertReplay}from'../actions';
3+
import{testRun,alertReplay,windowToggle}from'../actions';
44
import{Root}from'../components/root';
55

66
letsubscriptions=null;
77

88
exportfunctiononActivate():AtomCore.Disposable{
9+
// Atom Listeners
910
subscriptions=newCompositeDisposable;
10-
/**
11-
* Atom Listeners
12-
*/
13-
subscriptions.add(
14-
atom.commands.add('atom-workspace',{
15-
'cr-viewer:toggle':Root.toggle,
16-
}));
11+
12+
// subscriptions.add(
13+
// atom.commands.add('atom-workspace', {
14+
// 'cr-viewer:toggle': store.dispatch(windowToggle)
15+
// })
16+
// );
1717

1818
// run tests on save
1919
atom.workspace.observeTextEditors((editor:AtomCore.IEditor)=>{
2020
subscriptions.add(
2121
editor.onDidSave(()=>{
22-
store.dispatch(testRun());
22+
store.dispatch(testRun());
2323
}));
2424
});
2525
/**
@@ -34,7 +34,7 @@ export function onActivate(): AtomCore.Disposable {
3434
}
3535
}),
3636
})
37-
);
37+
);
3838
returnsubscriptions;
3939
}
4040

@@ -54,5 +54,5 @@ export function addToStatusBar(statusBar) {
5454
replay.textContent='▲';
5555
replay.onclick=()=>store.dispatch(alertReplay());
5656
// consume with "atom status bar"
57-
returnstatusBar.addLeftTile({item:replay,priority:100});
57+
returnstatusBar.addLeftTile({item:replay,priority:100});
5858
}

‎src/components/App.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@ import * as React from 'react';
22
import{connect}from'react-redux';
33
import{AppMenu,Alert}from'./index';
44
import{Routes}from'./Routes';
5+
importDrawerfrom'material-ui/Drawer';
6+
import{Hold}from'./Hold';
57

68
letheight:number=atom.getSize().height;
79
window.onresize=function(){
@@ -20,10 +22,13 @@ export class App extends React.Component<{store?: CR.State}, {}> {
2022
key='main'
2123
style={{height}}
2224
>
25+
<Drawerwidth={400}openSecondary={true}open={store.open}>
2326
<AppMenu{...store}/>
2427
<Routes{...store}/>
2528
<Alert{...store}/>
26-
</section>
29+
</Drawer>
30+
<Hold/>
31+
</section>
2732
);
2833
}
2934
};

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp