diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/app.routes.js | 6 | ||||
-rw-r--r-- | src/core/custom.router.js | 4 | ||||
-rw-r--r-- | src/core/permission.router.js | 17 | ||||
-rw-r--r-- | src/core/routes.js | 43 |
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> ); }; |