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

Commita37bd85

Browse files
committed
Merge branch 'wip-redux'
2 parents9886cca +d6e6dfa commita37bd85

39 files changed

+1801
-1091
lines changed

‎.gitignore‎

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,38 @@
1-
node_modules
1+
# Logs
2+
logs
3+
*.log
4+
npm-debug.log*
5+
6+
# Runtime data
7+
pids
8+
*.pid
9+
*.seed
10+
*.pid.lock
11+
12+
# Directory for instrumented libs generated by jscoverage/JSCover
13+
lib-cov
14+
15+
# Coverage directory used by tools like istanbul
16+
coverage
17+
18+
# nyc test coverage
19+
.nyc_output
20+
21+
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
22+
.grunt
23+
24+
# node-waf configuration
25+
.lock-wscript
26+
27+
# Compiled binary addons (http://nodejs.org/api/addons.html)
228
build
29+
30+
# Dependency directories
31+
node_modules
32+
jspm_packages
33+
34+
# Optional npm cache directory
35+
.npm
36+
37+
# Optional REPL history
38+
.node_repl_history

‎package.json‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,16 @@
55
"build":"webpack --config webpack.dev.config.js --progress --colors"
66
},
77
"dependencies": {
8-
"material-ui":"^0.15.2",
8+
"material-ui":"^0.15.4",
99
"react":"^15.2.1",
1010
"react-dom":"^15.2.1",
11+
"react-redux":"^4.4.5",
1112
"react-router":"^2.6.1",
12-
"react-tap-event-plugin":"^1.0.0"
13+
"react-router-redux":"^4.0.5",
14+
"react-tap-event-plugin":"^1.0.0",
15+
"redux":"^3.5.2",
16+
"redux-thunk":"^2.1.0",
17+
"ts-helpers":"^1.1.1"
1318
},
1419
"devDependencies": {
1520
"html-webpack-plugin":"^2.22.0",
@@ -22,4 +27,4 @@
2227
"webpack":"^1.13.1",
2328
"webpack-dev-server":"^1.14.1"
2429
}
25-
}
30+
}

‎src/app/actions/index.ts‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import{ChangeTheme}from"./layoutActions"
2+
3+
export{
4+
ChangeTheme
5+
}

‎src/app/actions/layoutActions.ts‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import{Action,BaseAction}from'../utils/actionHelpers'
2+
3+
4+
@Action("CHANGE_THEME")
5+
exportclassChangeThemeextendsBaseAction{}

‎src/app/app.tsx‎

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import*asReactfrom'react';
22
import*asReactDOMfrom'react-dom';
3+
34
import*asinjectTapEventPluginfrom'react-tap-event-plugin';
4-
importRouterfrom"./routes/router"
5+
import'ts-helpers'
6+
7+
importRootfrom'./containers/Root'
58

69

7-
// import * as todos from "./todos"
810
// Needed for onTouchTap
911
// http://stackoverflow.com/a/34015469/988941
1012
injectTapEventPlugin();
1113

12-
ReactDOM.render(<Router/>,document.getElementById('app'));
13-
14-
// todos.test();
14+
ReactDOM.render(<Root/>,document.getElementById('app'));

‎src/app/components/mpTable.tsx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ interface MpTableProps extends __MaterialUI.Table.TableProps {
77
}
88

99
exportdefaultclassMpTableextendsReact.Component<MpTableProps,any>{
10-
constructor(props:MpTableProps,state:any){
11-
super(props,state);
10+
constructor(){
11+
super();
1212
}
1313

1414
render(){

‎src/app/components/navigation.tsx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ interface NavigationState {
99
}
1010

1111
exportdefaultclassNavigationextendsReact.Component<any,NavigationState>{
12-
constructor(props:any,state:NavigationState){
13-
super(props,state);
12+
constructor(){
13+
super();
1414

1515
this.state={
1616
tab:"merchant",

‎src/app/routes/secure/main/main.tsx‎renamed to ‎src/app/components/topBar.tsx‎

Lines changed: 27 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
import*asReactfrom'react';
2-
import{IRouterContext}from'react-router'
3-
import{Router}from'../../../decorators/router'
1+
import*asReactfrom'react'
42

53
importTogglefrom'material-ui/Toggle';
64
importDrawerfrom'material-ui/Drawer';
@@ -16,41 +14,37 @@ import RaisedButton from 'material-ui/RaisedButton';
1614
importFlatButtonfrom'material-ui/FlatButton';
1715
import{Toolbar,ToolbarGroup,ToolbarSeparator,ToolbarTitle}from'material-ui/Toolbar';
1816

17+
interfaceTopBarProps{
18+
toggleTheme:()=>void;
19+
logout:()=>void;
20+
useDarkTheme:boolean;
21+
}
1922

20-
interfaceMainState{
23+
interfaceTopBarState{
2124
sideBarOpen?:boolean
2225
value?:any
2326
}
2427

25-
@Router
26-
exportdefaultclassMainextendsReact.Component<any,MainState>{
28+
exportclassTopBarextendsReact.Component<TopBarProps,TopBarState>{
2729

28-
constructor(props:any,context:any){
29-
super(props,context);
30+
constructor(){
31+
super();
3032

3133
this.state={
3234
sideBarOpen:false
3335
}
3436

35-
this.handleToggleSideMenu=this.handleToggleSideMenu.bind(this);
36-
this.logout=this.logout.bind(this);
37+
this.toggleSideMenu=this.toggleSideMenu.bind(this);
3738
}
3839

39-
context:IRouterContext;
40-
41-
handleToggleSideMenu(open:boolean){
40+
toggleSideMenu(open:boolean){
4241
this.setState({
4342
sideBarOpen:open
4443
});
4544
}
4645

47-
logout(){
48-
localStorage.removeItem("auth");
49-
this.context.router.push("dashboard");
50-
}
51-
5246
render(){
53-
vartoolbar=
47+
consttoolbar=
5448
<Toolbar>
5549
<ToolbarGroupfirstChild={true}>
5650
<DropDownMenuvalue={this.state.value}>
@@ -81,49 +75,43 @@ export default class Main extends React.Component<any, MainState>{
8175
</ToolbarGroup>
8276
</Toolbar>;
8377

84-
varsideMenu=
78+
constsideMenu=
8579
<Drawer
8680
docked={false}
8781
width={300}
8882
open={this.state.sideBarOpen}
89-
onRequestChange={this.handleToggleSideMenu}
83+
onRequestChange={this.toggleSideMenu}
9084
>
91-
<MenuItemonTouchTap={()=>this.handleToggleSideMenu(false)}>Menu Item</MenuItem>
92-
<MenuItemonTouchTap={()=>this.handleToggleSideMenu(false)}>Menu Item 2</MenuItem>
85+
<MenuItemonTouchTap={()=>this.toggleSideMenu(false)}>Menu Item</MenuItem>
86+
<MenuItemonTouchTap={()=>this.toggleSideMenu(false)}>Menu Item 2</MenuItem>
9387
</Drawer>
9488

95-
varswithTheme=
89+
constthemeToggle=
9690
<Toggle
97-
//onToggle={this.handleToggleTheme}
98-
//label={"dark:" + this.state.useDarkTheme}
99-
//toggled={!this.state.useDarkTheme}
91+
onToggle={this.props.toggleTheme}
92+
label={"dark:"+this.props.useDarkTheme}
93+
toggled={this.props.useDarkTheme}
10094
/>;
10195

102-
varlogoutButton=
96+
constlogoutButton=
10397
<FlatButton
104-
onClick={this.logout}
98+
onClick={this.props.logout}
10599
label="logout"
106100
/>
107101

108-
varappBarRightElement=
102+
constappBarRightElement=
109103
<divstyle={{display:"inline-block"}}>
110-
{swithTheme}
104+
{themeToggle}
111105
{logoutButton}
112106
</div>
113107

114-
// var childProps = {
115-
// this.props.children && React.cloneElement(this.props.children, {
116-
// onToggleTheme: this.handleToggleTheme
117-
// })
118-
// };
119108

120109
return(
121110
<div>
122111
{sideMenu}
123-
<AppBariconElementRight={appBarRightElement}onLeftIconButtonTouchTap={()=>this.handleToggleSideMenu(true)}zDepth={0}/>
112+
<AppBariconElementRight={appBarRightElement}onLeftIconButtonTouchTap={()=>this.toggleSideMenu(true)}zDepth={0}/>
124113
{toolbar}
125-
{swithTheme}
126-
{this.props.children}
114+
{themeToggle}
127115
</div>
128116
);
129117
}

‎src/app/routes/secure/dashboard/dashboard.tsx‎renamed to ‎src/app/containers/Dashboard.tsx‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import*asReactfrom'react';
22
import*as_from"lodash";
33

4+
importNavigationfrom'../components/navigation'
45

56
interfaceDashboardProps{
67
}
@@ -10,8 +11,8 @@ interface DashboardState {
1011
}
1112

1213
exportdefaultclassDashboardextendsReact.Component<DashboardProps,DashboardState>{
13-
constructor(props:DashboardProps,state:DashboardState){
14-
super(props,state);
14+
constructor(){
15+
super();
1516

1617
this.state={
1718
data:[
@@ -62,11 +63,11 @@ export default class Dashboard extends React.Component<DashboardProps, Dashboard
6263
}
6364

6465
render(){
65-
//var navigation = <Navigation data={this.state.data} onRowSelection={this.handleDataSelection}/>
66+
varnavigation=<Navigationdata={this.state.data}onRowSelection={this.handleDataSelection}/>
6667

6768
return(
6869
<div>
69-
dasboard
70+
{navigation}
7071
</div>
7172
);
7273

‎src/app/containers/Layout.tsx‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
import*asReactfrom'react';
2+
import{connect}from'react-redux'
3+
4+
importMuiThemeProviderfrom'material-ui/styles/MuiThemeProvider';
5+
import{mpTheme}from"../components/mpTheme"
6+
7+
import{StoreState}from'../reducers'
8+
9+
interfaceLayoutProps{
10+
useDarkTheme:boolean;
11+
}
12+
13+
functionmapStateToProps(state:StoreState):LayoutProps{
14+
return{
15+
useDarkTheme:state.layout.useDarkTheme
16+
};
17+
}
18+
19+
classLayoutextendsReact.Component<LayoutProps,any>{
20+
21+
render(){
22+
return(
23+
<divstyle={{textAlign:"center"}}>
24+
<MuiThemeProvidermuiTheme={mpTheme(this.props.useDarkTheme)}>
25+
{this.props.children}
26+
</MuiThemeProvider>
27+
</div>
28+
);
29+
}
30+
31+
}
32+
33+
34+
exportdefaultconnect(mapStateToProps)(Layout)

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp