UNPKG

shradmin

Version:

A frontend Framework for building admin application, using antd and mirrorjs.

101 lines (82 loc) 2.36 kB
'use strict'; exports.__esModule = true; var _style2 = require('antd/lib/breadcrumb/style'); var _breadcrumb = require('antd/lib/breadcrumb'); var _breadcrumb2 = _interopRequireDefault(_breadcrumb); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _mirrorx = require('mirrorx'); var _compose = require('recompose/compose'); var _compose2 = _interopRequireDefault(_compose); var _split = require('lodash/split'); var _split2 = _interopRequireDefault(_split); var _i18n = require('../../i18n'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var BreadcrumbItem = _breadcrumb2.default.Item; var AppBreadcrumb = function AppBreadcrumb(_ref) { var translate = _ref.translate, routes = _ref.routes; return _react2.default.createElement( _breadcrumb2.default, { style: { margin: "16px 0" } }, _react2.default.createElement( BreadcrumbItem, null, _react2.default.createElement( _mirrorx.Link, { to: '/' }, translate("page.home") ) ), routes.map(function (_ref2, index) { var url = _ref2.url, name = _ref2.name; return _react2.default.createElement( BreadcrumbItem, { key: index }, url ? _react2.default.createElement( _mirrorx.Link, { to: url }, translate(name) ) : translate(name) ); }) ); }; var getRoutes = function getRoutes(_ref3) { var pathname = _ref3.pathname; var keys = (0, _split2.default)(pathname, "/", 4); var entity = keys[1]; var action = keys[2]; var routes = []; if (entity && entity !== "login") { routes.push({ name: 'models.' + entity + '.name', url: keys.length > 2 ? '/' + entity : "" }); } if (action) { if (action === "create") { routes.push({ name: 'actions.create', url: "" }); } action = keys[3]; if (action) { routes.push({ name: 'actions.' + action, url: "" }); } } return routes; }; var enhance = (0, _compose2.default)((0, _mirrorx.connect)(function (_ref4) { var location = _ref4.routing.location; return { routes: getRoutes(location) }; }), _i18n.translate); exports.default = enhance(AppBreadcrumb); module.exports = exports['default'];