shradmin
Version:
A frontend Framework for building admin application, using antd and mirrorjs.
101 lines (82 loc) • 2.36 kB
JavaScript
'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'];