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

Commite6d8e20

Browse files
committed
refactor SidePanel, update Quit component
1 parent2f329ba commite6d8e20

File tree

19 files changed

+104
-144
lines changed

19 files changed

+104
-144
lines changed

‎lib/actions.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,3 +30,4 @@ exports.editorSave = core_coderoad_1.editorSave;
3030
exports.editorSet=core_coderoad_1.editorSet;
3131
exports.routeSet=core_coderoad_1.routeSet;
3232
exports.windowToggle=core_coderoad_1.windowToggle;
33+
exports.quit=core_coderoad_1.quit;

‎lib/components/Alert/index.js

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

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

Lines changed: 34 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +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');
3-
varsubscriptions_1=require('../../../subscriptions');
17+
varreact_redux_1=require('react-redux');
418
varMenuItem_1=require('material-ui/MenuItem');
19+
varactions_1=require('../../../actions');
520
varstyles={
6-
textAlign:'center',
7-
padding:'0px 2px',
21+
menuItem:{
22+
textAlign:'center',
23+
padding:'0px 2px',
24+
},
825
};
9-
varQuit=function(){return(React.createElement(MenuItem_1.default,{style:styles,key:'quit',onClick:subscriptions_1.onDeactivate},"quit"));};
26+
varQuit=(function(_super){
27+
__extends(Quit,_super);
28+
functionQuit(){
29+
_super.apply(this,arguments);
30+
}
31+
Quit.prototype.render=function(){
32+
return(React.createElement(MenuItem_1.default,{style:styles.menuItem,key:'quit',onClick:this.props.quit},"quit"));
33+
};
34+
Quit=__decorate([
35+
react_redux_1.connect(null,{quit:actions_1.quit}),
36+
__metadata('design:paramtypes',[])
37+
],Quit);
38+
returnQuit;
39+
}(React.Component));
1040
Object.defineProperty(exports,"__esModule",{value:true});
1141
exports.default=Quit;
File renamed without changes.

‎lib/components/SidePanel/index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
"use strict";
2+
varSideRoot_1=require('./SideRoot');
3+
exports.SideRoot=SideRoot_1.default;
4+
varsideElement_1=require('./sideElement');
5+
exports.sideElement=sideElement_1.default;

‎lib/components/SidePanel/element.jsrenamed to‎lib/components/SidePanel/sideElement.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
22
varReactDOM=require('react-dom');
3-
varsidePanelElement={
3+
varsideElement={
44
root:null,
55
init:function(){
66
this.root=document.createElement('div');
@@ -12,4 +12,4 @@ var sidePanelElement = {
1212
}
1313
};
1414
Object.defineProperty(exports,"__esModule",{value:true});
15-
exports.default=sidePanelElement;
15+
exports.default=sideElement;

‎lib/components/common/Markdown.js

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

‎lib/components/remove-later.js

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

‎lib/components/render.js

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

‎lib/index.js

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
2-
varrender_1=require('./components/render');
3-
varelement_1=require('./components/SidePanel/element');
2+
varReactDOM=require('react-dom');
3+
varSidePanel_1=require('./components/SidePanel');
44
varcore_coderoad_1=require('core-coderoad');
55
varsubscriptions_1=require('./subscriptions');
66
varstore_1=require('./store');
@@ -11,15 +11,15 @@ var Main = (function () {
1111
injectTapEventPlugin();
1212
core_coderoad_1.loadPolyfills();
1313
store_1.default.dispatch(setup_1.setupVerify());
14-
this.root=element_1.default.init();
14+
this.side=SidePanel_1.sideElement.init();
1515
}
1616
Main.prototype.activate=function(){
1717
atom.workspace.addRightPanel({
18-
item:this.root,
18+
item:this.side,
1919
priority:0,
2020
});
21-
subscriptions_1.onActivate();
22-
render_1.default(this.root);
21+
subscriptions_1.onActivate(store_1.default);
22+
ReactDOM.render(SidePanel_1.SideRoot(store_1.default),this.side);
2323
};
2424
Main.prototype.consumeStatusBar=function(statusBar){
2525
this.statusBarTile=subscriptions_1.addToStatusBar(statusBar);
@@ -29,7 +29,8 @@ var Main = (function () {
2929
this.statusBarTile.destroy();
3030
this.statusBarTile=null;
3131
}
32-
subscriptions_1.onDeactivate();
32+
subscriptions_1.onDeactivate(store_1.default);
33+
SidePanel_1.sideElement.unmount();
3334
};
3435
returnMain;
3536
}());

‎lib/subscriptions.js

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,21 @@
11
"use strict";
2-
varCompositeDisposable=require('atom').CompositeDisposable;
2+
varatom_1=require('atom');
33
varstore_1=require('./store');
44
varactions_1=require('./actions');
5-
varelement_1=require('./components/SidePanel/element');
65
varsubscriptions=null;
7-
functiononActivate(){
8-
subscriptions=newCompositeDisposable;
6+
functiononActivate(store){
7+
subscriptions=newatom_1.CompositeDisposable;
98
subscriptions.add(atom.commands.add('atom-workspace',{
10-
'cr-viewer:toggle':function(){returnstore_1.default.dispatch({type:'WINDOW_TOGGLE'});}
9+
'cr-viewer:toggle':function(){returnstore.dispatch(actions_1.windowToggle());}
1110
}));
1211
atom.workspace.observeTextEditors(function(editor){
13-
subscriptions.add(editor.onDidSave(function(){returnstore_1.default.dispatch(actions_1.testRun());}));
12+
subscriptions.add(editor.onDidSave(function(){returnstore.dispatch(actions_1.testRun());}));
1413
});
1514
returnsubscriptions;
1615
}
1716
exports.onActivate=onActivate;
18-
functiononDeactivate(){
19-
element_1.default.unmount();
20-
store_1.default.subscribe(function(){returnnull;});
17+
functiononDeactivate(store){
18+
store.subscribe(function(){returnnull;});
2119
subscriptions.dispose();
2220
}
2321
exports.onDeactivate=onDeactivate;

‎src/actions.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@ export {
1111
editorDevToolsToggle,editorOpen,editorInsert,
1212
editorSave,editorSet,
1313
routeSet,
14-
windowToggle
14+
windowToggle,quit
1515
}from'core-coderoad';

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

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,28 @@
11
import*asReactfrom'react';
22
import{connect}from'react-redux';
3-
import{quit}from'core-coderoad';
4-
import{onDeactivate}from'../../../subscriptions';
53
importMenuItemfrom'material-ui/MenuItem';
4+
import{quit}from'../../../actions';
65

76
conststyles={
8-
textAlign:'center',
9-
padding:'0px 2px',
7+
menuItem:{
8+
textAlign:'center',
9+
padding:'0px 2px',
10+
},
1011
};
1112

12-
constQuit=()=>(
13-
<MenuItem
14-
style={styles}
15-
key='quit'
16-
onClick={onDeactivate}
17-
>
18-
quit
19-
</MenuItem>
20-
);
21-
exportdefaultQuit;
13+
@connect(null,{quit})
14+
exportdefaultclassQuitextendsReact.Component<{
15+
quit?:()=>Redux.ActionCreator
16+
},{}>{
17+
render(){
18+
return(
19+
<MenuItem
20+
style={styles.menuItem}
21+
key='quit'
22+
onClick={this.props.quit}
23+
>
24+
quit
25+
</MenuItem>
26+
);
27+
}
28+
}

‎src/components/SidePanel/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
export{defaultasSideRoot}from'./SideRoot';
2+
export{defaultassideElement}from'./sideElement';

‎src/components/SidePanel/element.tsrenamed to‎src/components/SidePanel/sideElement.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import*asReactDOMfrom'react-dom';
22

3-
constsidePanelElement={
3+
constsideElement={
44
root:null,
55
init(){
66
this.root=document.createElement('div');
@@ -11,4 +11,4 @@ const sidePanelElement = {
1111
ReactDOM.unmountComponentAtNode(this.root);
1212
}
1313
};
14-
exportdefaultsidePanelElement;
14+
exportdefaultsideElement;

‎src/index.ts

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import*asReactfrom'react';
2-
importsidePanelElementfrom'./components/SidePanel/element';
3-
importsidePanelRootfrom'./components/SidePanel/root';
2+
import*asReactDOMfrom'react-dom';
3+
import{sideElement,SideRoot}from'./components/SidePanel';
44
import{loadPolyfills,render}from'core-coderoad';
55
import{onActivate,onDeactivate,addToStatusBar}from'./subscriptions';
66
// activate Redux
@@ -9,24 +9,27 @@ import {setupVerify} from './modules/setup';
99
import*asinjectTapEventPluginfrom'react-tap-event-plugin';
1010

1111
classMain{
12-
root:HTMLElement;
12+
side:HTMLElement;
1313
statusBarTile:StatusBar.IStatusBarView;
1414
constructor(){
1515
injectTapEventPlugin();// remove later
1616
loadPolyfills();
1717
// run startup checks
1818
store.dispatch(setupVerify());
19-
this.root=sidePanelElement.init();
19+
this.side=sideElement.init();
2020
}
2121
activate():void{
2222
// create atom panel
2323
atom.workspace.addRightPanel({
24-
item:this.root,
24+
item:this.side,
2525
priority:0,
2626
});
27-
onActivate();
27+
28+
// activate subscriptions
29+
onActivate(store);
30+
2831
// render React component
29-
render(this.root,sidePanelRoot(store));
32+
ReactDOM.render(SideRoot(store),this.side);
3033
}
3134
consumeStatusBar(statusBar){
3235
this.statusBarTile=addToStatusBar(statusBar);
@@ -38,7 +41,9 @@ class Main {
3841
this.statusBarTile=null;
3942
}
4043
// remove subscriptions & unmount react app
41-
onDeactivate();
44+
onDeactivate(store);
45+
// unmount React
46+
sideElement.unmount();
4247
}
4348
};
4449
export=newMain();

‎src/subscriptions.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,16 @@
1-
constCompositeDisposable=require('atom').CompositeDisposable;
1+
import{CompositeDisposable}from'atom';
22
importstorefrom'./store';
3-
import{testRun,alertReplay}from'./actions';
4-
importsidePanelElementfrom'./components/SidePanel/element';
3+
import{testRun,alertReplay,windowToggle}from'./actions';
54

65
letsubscriptions=null;
76

8-
exportfunctiononActivate():AtomCore.Disposable{
7+
exportfunctiononActivate(store:Redux.Store):AtomCore.Disposable{
98
// Atom Listeners
109
subscriptions=newCompositeDisposable;
1110

1211
subscriptions.add(
1312
atom.commands.add('atom-workspace',{
14-
'cr-viewer:toggle':()=>store.dispatch({type:'WINDOW_TOGGLE'})
13+
'cr-viewer:toggle':()=>store.dispatch(windowToggle())
1514
})
1615
);
1716

@@ -23,9 +22,7 @@ export function onActivate(): AtomCore.Disposable {
2322
returnsubscriptions;
2423
}
2524

26-
exportfunctiononDeactivate():void{
27-
// unmount React
28-
sidePanelElement.unmount();
25+
exportfunctiononDeactivate(store:Redux.Store):void{
2926
// unsubscribe from Redux store
3027
store.subscribe(()=>null);
3128
// cleanup subscriptions

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp