aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorIndrajith K L2019-12-12 19:31:50 +0530
committerIndrajith K L2019-12-12 19:31:50 +0530
commit8883eacd2a5e2f3f5637a6b71123dfcb2a64c3d5 (patch)
treefe0fb8f601f2272f9bf2a7d2b365c7812acb6e63 /src/core
parentf41d980fd83ab7da5804efd8aa7e914e820797d6 (diff)
downloadreact-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/core')
-rw-r--r--src/core/app.routes.js6
-rw-r--r--src/core/custom.router.js4
-rw-r--r--src/core/permission.router.js17
-rw-r--r--src/core/routes.js43
4 files changed, 48 insertions, 22 deletions
diff --git a/src/core/app.routes.js b/src/core/app.routes.js
index 5d06e63..b581d2e 100644
--- a/src/core/app.routes.js
+++ b/src/core/app.routes.js
@@ -1,5 +1,6 @@
import AdminContainer from "../modules/admin/admin.container";
import SuperAdminContainer from "../modules/superadmin/superadmin.container";
+import DashBoardContainer from "../modules/dashboard/dashboard.container";
export const AppRoutes = [
{
@@ -11,5 +12,10 @@ export const AppRoutes = [
path: '/superadmin',
component: SuperAdminContainer,
permission: ['admin', 'superadmin', 'user']
+ },
+ {
+ path: '/dashboard',
+ component: DashBoardContainer,
+ permission: ['user']
}
];
diff --git a/src/core/custom.router.js b/src/core/custom.router.js
index c6b2859..9fcd4f6 100644
--- a/src/core/custom.router.js
+++ b/src/core/custom.router.js
@@ -1,6 +1,8 @@
import React from "react";
import { Route, Redirect } from "react-router-dom";
import Storage from "../services/storage.service";
+import Permissions from "./permission.router";
+import { RandomKey } from "../utils/random.key";
export const CustomRouter = ({ xComponent: Component, ...xProps }) => {
return (
@@ -19,7 +21,7 @@ export const CustomRouter = ({ xComponent: Component, ...xProps }) => {
return <Redirect to="/dashboard" />;
}
- return <Component {...returnProps} />;
+ return <Permissions {...returnProps} key={RandomKey.generate()} Component={Component}/>;
}}
/>
);
diff --git a/src/core/permission.router.js b/src/core/permission.router.js
index 4047b75..d698917 100644
--- a/src/core/permission.router.js
+++ b/src/core/permission.router.js
@@ -1,4 +1,19 @@
import React from "react";
import { Route, Redirect } from "react-router-dom";
-// export const Permi \ No newline at end of file
+export const Permissions = ({Component: Component, ..._props})=>{
+
+ return (
+ <Route
+ render={props => {
+ let returnProps = {..._props, ...props};
+ // let token = Storage.get("token");
+ let pathName = props.match.path;
+ console.log(returnProps);
+ return <Component {...returnProps} />;
+ }}
+ />
+ );
+}
+
+export default Permissions; \ No newline at end of file
diff --git a/src/core/routes.js b/src/core/routes.js
index 764e793..9c2d222 100644
--- a/src/core/routes.js
+++ b/src/core/routes.js
@@ -1,33 +1,36 @@
import React, { Suspense } from "react";
-import { Provider } from "react-redux";
+import { Provider, connect } from "react-redux";
import { ConnectedRouter } from "connected-react-router";
-import { Switch, Redirect, Route } from "react-router-dom";
+import { Switch, Redirect, Route, withRouter } from "react-router-dom";
import { CustomRouter } from "./custom.router";
import LoginContainer from "../modules/login/login.container";
import DashBoardContainer from "../modules/dashboard/dashboard.container";
import { AppRoutes } from "./app.routes";
+import MasterComponent from "../master/master.component";
const Routes = ({ store, history }) => {
return (
<Provider store={store}>
- <ConnectedRouter history={history}>
- <Suspense
- fallback={<div style={{ display: "none" }}> Loading ...</div>}
- >
- <Switch>
- <CustomRouter path="/login" xComponent={LoginContainer} />
- <CustomRouter path="/dashboard" xComponent={DashBoardContainer} />
- {AppRoutes.map(_routes =>
- <CustomRouter
- key={_routes.path}
- path={_routes.path}
- xComponent={_routes.component}
- permissions={_routes.permission}
- />)}
- <Redirect from="*" to="/login" push />
- </Switch>
- </Suspense>
- </ConnectedRouter>
+ <MasterComponent>
+ <ConnectedRouter history={history}>
+ <Suspense
+ fallback={<div style={{ display: "none" }}> Loading ...</div>}
+ >
+ <Switch>
+ <CustomRouter path="/login" xComponent={LoginContainer} />
+ <CustomRouter path="/dashboard" xComponent={DashBoardContainer} />
+ {AppRoutes.map(_routes =>
+ <CustomRouter
+ key={_routes.path}
+ path={_routes.path}
+ xComponent={_routes.component}
+ permissions={_routes.permission}
+ />)}
+ <Redirect from="*" to="/login" push />
+ </Switch>
+ </Suspense>
+ </ConnectedRouter>
+ </MasterComponent>
</Provider>
);
};