UNPKG

@bootstrap-styled/ra-ui

Version:
145 lines (114 loc) 5.38 kB
"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;