@bootstrap-styled/ra-ui
Version:
UI components for react-admin
51 lines (40 loc) • 1.77 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _Tabs = _interopRequireDefault(require("@material-ui/core/Tabs"));
var getTabFullPath = function getTabFullPath(tab, index, baseUrl) {
return "".concat(baseUrl).concat(tab.props.path ? "/".concat(tab.props.path) : index > 0 ? "/".concat(index) : '');
};
var TabbedShowLayoutTabs = function TabbedShowLayoutTabs(_ref) {
var children = _ref.children,
match = _ref.match,
value = _ref.value,
rest = (0, _objectWithoutProperties2.default)(_ref, ["children", "match", "value"]);
return _react.default.createElement(_Tabs.default, (0, _extends2.default)({
indicatorColor: "primary",
value: value
}, rest), _react.Children.map(children, function (tab, index) {
if (!tab || !(0, _react.isValidElement)(tab)) return null;
var tabPath = getTabFullPath(tab, index, match.url);
return (0, _react.cloneElement)(tab, {
context: 'header',
value: tabPath
});
}));
};
TabbedShowLayoutTabs.propTypes = {
children: _propTypes.default.node,
match: _propTypes.default.object,
value: _propTypes.default.string
};
var _default = TabbedShowLayoutTabs;
exports.default = _default;
module.exports = exports.default;