diff options
author | Indrajith K L | 2019-12-12 19:31:50 +0530 |
---|---|---|
committer | Indrajith K L | 2019-12-12 19:31:50 +0530 |
commit | 8883eacd2a5e2f3f5637a6b71123dfcb2a64c3d5 (patch) | |
tree | fe0fb8f601f2272f9bf2a7d2b365c7812acb6e63 /src/modules | |
parent | f41d980fd83ab7da5804efd8aa7e914e820797d6 (diff) | |
download | react-redux-saga-starter-8883eacd2a5e2f3f5637a6b71123dfcb2a64c3d5.tar.gz react-redux-saga-starter-8883eacd2a5e2f3f5637a6b71123dfcb2a64c3d5.tar.bz2 react-redux-saga-starter-8883eacd2a5e2f3f5637a6b71123dfcb2a64c3d5.zip |
:fire: :zap: Major Update
* Adds Actions, Redicers and Middlewares
* Adds Http Service
* Adds Cancel option for Http Service
* Adds HOC's for API Loader, Sidebar and Headers
* Adds Random key generator for Routes
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/admin/admin.container.js | 33 | ||||
-rw-r--r-- | src/modules/dashboard/dashboard.container.js | 30 | ||||
-rw-r--r-- | src/modules/login/login.container.js | 50 | ||||
-rw-r--r-- | src/modules/login/login.service.js | 9 | ||||
-rw-r--r-- | src/modules/superadmin/superadmin.container.js | 57 |
5 files changed, 152 insertions, 27 deletions
diff --git a/src/modules/admin/admin.container.js b/src/modules/admin/admin.container.js index bd6e1dc..91b0d1c 100644 --- a/src/modules/admin/admin.container.js +++ b/src/modules/admin/admin.container.js @@ -1,16 +1,33 @@ -import React, {Component} from 'react'; - -class AdminContainer extends Component{ - constructor(props){ +import React, { Component } from 'react'; +import { connect } from "react-redux"; +import WithHeaderFooter from '../../shared/header_footer.hoc'; +import WithSidebar from '../../shared/sidebar.hoc'; +class AdminContainer extends Component { + constructor(props) { console.log(props); super(props); } - render(){ - return( - <div>Admin Container</div> + render() { + return ( + <div className="container-fluid"> + <div className="row"> + <div className="col-md-12"> + Admin Container + </div> + </div> + </div> ); } } -export default AdminContainer;
\ No newline at end of file +const mapStateToProps = state => { + return { + + }; +}; + + +export default connect(mapStateToProps)( + WithSidebar(WithHeaderFooter(AdminContainer)) +);
\ No newline at end of file diff --git a/src/modules/dashboard/dashboard.container.js b/src/modules/dashboard/dashboard.container.js index 595aa9f..f792c20 100644 --- a/src/modules/dashboard/dashboard.container.js +++ b/src/modules/dashboard/dashboard.container.js @@ -1,12 +1,28 @@ -import React, {Component} from 'react'; +import React, { Component } from 'react'; +import { connect } from "react-redux"; +import WithHeaderFooter from '../../shared/header_footer.hoc'; +import WithSidebar from '../../shared/sidebar.hoc'; +class DashBoardContainer extends Component { -class DashBoardContainer extends Component{ - - render(){ - return( - <div>Dashboard</div> + render() { + return ( + <div className="container-fluid"> + <div className="row"> + <div className="col-md-12"> + Dashboard + </div> + </div> + </div> ); } } -export default DashBoardContainer;
\ No newline at end of file +const mapStateToProps = state => { + return { + + }; +}; + +export default connect(mapStateToProps)( + WithSidebar(WithHeaderFooter(DashBoardContainer)) +);
\ No newline at end of file diff --git a/src/modules/login/login.container.js b/src/modules/login/login.container.js index 705284e..2bf05b1 100644 --- a/src/modules/login/login.container.js +++ b/src/modules/login/login.container.js @@ -1,12 +1,50 @@ -import React,{Component} from 'react'; +import React, { Component } from 'react'; +import { connect } from "react-redux"; +import WithFooter from '../../shared/footer.hoc'; +import { loginMock } from './login.service'; +import { loginRequest } from '../../actions/login.action'; +import HttpService from '../../services/http.service'; +class LoginContainer extends Component { -class LoginContainer extends Component{ + state = { - render(){ - return( - <div>Login</div> + }; + + onLogin = ()=>{ + let params = { + email: "eve.holt@reqres.in", + password: "cityslicka" + }; + + // loginMock(params).then(res=>{ + // console.log(res); + // }) + this.props.dispatch(loginRequest(params)); + // HttpService.cancelRequest(); + } + + render() { + return ( + <div className="container-fluid"> + <div className="row"> + <div className="col-md-12"> + Login + </div> + <div className="col-md-12"> + <button className="btn btn-primary" onClick={this.onLogin}>Login</button> + </div> + </div> + </div> ); } } -export default LoginContainer;
\ No newline at end of file +const mapStateToProps = state => { + return { + + }; +}; + +export default connect(mapStateToProps)( + WithFooter(LoginContainer) +);
\ No newline at end of file diff --git a/src/modules/login/login.service.js b/src/modules/login/login.service.js new file mode 100644 index 0000000..15fc3cc --- /dev/null +++ b/src/modules/login/login.service.js @@ -0,0 +1,9 @@ +import HttpService from '../../services/http.service'; + +export const loginMock = (params)=>{ + return HttpService.fetch({ + url: 'https://reqres.in/api/login', + method: 'post', + data: params + }); +}
\ No newline at end of file diff --git a/src/modules/superadmin/superadmin.container.js b/src/modules/superadmin/superadmin.container.js index a82608d..ef83a52 100644 --- a/src/modules/superadmin/superadmin.container.js +++ b/src/modules/superadmin/superadmin.container.js @@ -1,12 +1,57 @@ -import React, {Component} from 'react'; +import React, { Component } from 'react'; +import { connect } from "react-redux"; +import WithHeaderFooter from '../../shared/header_footer.hoc'; +import WithSidebar from '../../shared/sidebar.hoc'; +import { COMMON_REQUEST, COMMON_CANCEL } from '../../utils/constants'; +import HttpService from '../../services/http.service'; +class SuperAdminContainer extends Component { -class SuperAdminContainer extends Component{ + componentDidMount() { - render(){ - return( - <div>SuperAdminContainer</div> + } + + startRequest = () => { + this.props.dispatch({ + type: COMMON_REQUEST + }); + let params = { + url: 'https://reqres.in/api/users?page=2' + } + HttpService.fetch(params).then(res=>{ + console.log(res); + }) + } + + stopRequest = () => { + // this.props.dispatch({ + // type: COMMON_CANCEL + // }) + HttpService.cancelRequest(); + } + + render() { + return ( + <div className="container-fluid"> + <div className="row"> + <div className="col-md-12"> + SuperAdminContainer + </div> + </div> + <div className="row"> + <div className="col-md-1"><button className="btn btn-primary" onClick={this.startRequest}>Start Request</button></div> + <div className="col-md-1"><button className="btn btn btn-danger" onClick={this.stopRequest}>Stop Request</button></div> + </div> + </div> ); } } -export default SuperAdminContainer;
\ No newline at end of file +const mapStateToProps = state => { + return { + + }; +}; + +export default connect(mapStateToProps)( + WithSidebar(WithHeaderFooter(SuperAdminContainer)) +);
\ No newline at end of file |