From 8883eacd2a5e2f3f5637a6b71123dfcb2a64c3d5 Mon Sep 17 00:00:00 2001 From: Indrajith K L Date: Thu, 12 Dec 2019 19:31:50 +0530 Subject: :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 --- src/modules/admin/admin.container.js | 33 +++++++++++---- src/modules/dashboard/dashboard.container.js | 30 ++++++++++---- src/modules/login/login.container.js | 50 +++++++++++++++++++--- src/modules/login/login.service.js | 9 ++++ src/modules/superadmin/superadmin.container.js | 57 +++++++++++++++++++++++--- 5 files changed, 152 insertions(+), 27 deletions(-) create mode 100644 src/modules/login/login.service.js (limited to 'src/modules') 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( -
Admin Container
+ render() { + return ( +
+
+
+ Admin Container +
+
+
); } } -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( -
Dashboard
+ render() { + return ( +
+
+
+ Dashboard +
+
+
); } } -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( -
Login
+ }; + + 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 ( +
+
+
+ Login +
+
+ +
+
+
); } } -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( -
SuperAdminContainer
+ } + + 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 ( +
+
+
+ SuperAdminContainer +
+
+
+
+
+
+
); } } -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 -- cgit v1.2.3