@bootstrap-styled/ra-ui
Version:
UI components for react-admin
145 lines (114 loc) • 5.38 kB
JavaScript
"use strict";
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 _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
var _getPrototypeOf3 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactRouterDom = require("react-router-dom");
var _Tab = _interopRequireDefault(require("@material-ui/core/Tab"));
var _raCore = require("ra-core");
var _classnames = _interopRequireDefault(require("classnames"));
var _Labeled = _interopRequireDefault(require("../input/Labeled"));
var sanitizeRestProps = function sanitizeRestProps(_ref) {
var label = _ref.label,
icon = _ref.icon,
value = _ref.value,
translate = _ref.translate,
rest = (0, _objectWithoutProperties2.default)(_ref, ["label", "icon", "value", "translate"]);
return rest;
};
var Tab = function (_Component) {
(0, _inherits2.default)(Tab, _Component);
function Tab() {
var _getPrototypeOf2;
var _this;
(0, _classCallCheck2.default)(this, Tab);
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
_this = (0, _possibleConstructorReturn2.default)(this, (_getPrototypeOf2 = (0, _getPrototypeOf3.default)(Tab)).call.apply(_getPrototypeOf2, [this].concat(args)));
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderHeader", function (_ref2) {
var className = _ref2.className,
label = _ref2.label,
icon = _ref2.icon,
value = _ref2.value,
translate = _ref2.translate,
rest = (0, _objectWithoutProperties2.default)(_ref2, ["className", "label", "icon", "value", "translate"]);
return _react.default.createElement(_Tab.default, (0, _extends2.default)({
key: label,
label: translate(label, {
_: label
}),
value: value,
icon: icon,
className: (0, _classnames.default)('show-tab', className),
component: _reactRouterDom.Link,
to: value
}, sanitizeRestProps(rest)));
});
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderContent", function (_ref3) {
var className = _ref3.className,
children = _ref3.children,
basePath = _ref3.basePath,
record = _ref3.record,
resource = _ref3.resource;
return _react.default.createElement("span", {
className: className
}, _react.default.Children.map(children, function (field) {
return field && (0, _react.isValidElement)(field) ? _react.default.createElement("div", {
key: field.props.source,
className: (0, _classnames.default)('ra-field', "ra-field-".concat(field.props.source), field.props.className)
}, field.props.addLabel ? _react.default.createElement(_Labeled.default, {
label: field.props.label,
source: field.props.source,
basePath: basePath,
record: record,
resource: resource
}, field) : typeof field.type === 'string' ? field : _react.default.cloneElement(field, {
basePath: basePath,
record: record,
resource: resource
})) : null;
}));
});
return _this;
}
(0, _createClass2.default)(Tab, [{
key: "render",
value: function render() {
var _this$props = this.props,
children = _this$props.children,
context = _this$props.context,
rest = (0, _objectWithoutProperties2.default)(_this$props, ["children", "context"]);
return context === 'header' ? this.renderHeader(rest) : this.renderContent((0, _objectSpread2.default)({
children: children
}, rest));
}
}]);
return Tab;
}(_react.Component);
Tab.propTypes = {
className: _propTypes.default.string,
children: _propTypes.default.node,
context: _propTypes.default.oneOf(['header', 'content']),
icon: _propTypes.default.element,
label: _propTypes.default.string.isRequired,
translate: _propTypes.default.func.isRequired,
value: _propTypes.default.string
};
var _default = (0, _raCore.translate)(Tab);
exports.default = _default;
module.exports = exports.default;