UNPKG

admin-on-rest-fr05t1k

Version:

A frontend Framework for building admin applications on top of REST services, using ES6, React and Material UI

62 lines (50 loc) 2.76 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _reactRouterDom = require('react-router-dom'); var _Restricted = require('./auth/Restricted'); var _Restricted2 = _interopRequireDefault(_Restricted); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var CrudRoute = function CrudRoute(_ref) { var resource = _ref.resource, list = _ref.list, create = _ref.create, edit = _ref.edit, show = _ref.show, remove = _ref.remove, options = _ref.options; var commonProps = { resource: resource, options: options, hasList: !!list, hasEdit: !!edit, hasShow: !!show, hasCreate: !!create, hasDelete: !!remove }; var RestrictedPage = function RestrictedPage(component, route) { return function (routeProps) { return _react2.default.createElement( _Restricted2.default, (0, _extends3.default)({ authParams: { resource: resource, route: route } }, routeProps), (0, _react.createElement)(component, (0, _extends3.default)({}, commonProps, routeProps)) ); }; }; return _react2.default.createElement( _reactRouterDom.Switch, null, list ? _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/' + resource, render: RestrictedPage(list, 'list') }) : _react2.default.createElement(_reactRouterDom.Route, { path: 'dummy' }), create ? _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/' + resource + '/create', render: RestrictedPage(create, 'create') }) : _react2.default.createElement(_reactRouterDom.Route, { path: 'dummy' }), edit ? _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/' + resource + '/:id', render: RestrictedPage(edit, 'edit') }) : _react2.default.createElement(_reactRouterDom.Route, { path: 'dummy' }), show ? _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/' + resource + '/:id/show', render: RestrictedPage(show, 'show') }) : _react2.default.createElement(_reactRouterDom.Route, { path: 'dummy' }), remove ? _react2.default.createElement(_reactRouterDom.Route, { exact: true, path: '/' + resource + '/:id/delete', render: RestrictedPage(remove, 'delete') }) : _react2.default.createElement(_reactRouterDom.Route, { path: 'dummy' }) ); }; exports.default = CrudRoute; module.exports = exports['default'];