UNPKG

@bootstrap-styled/ra-ui

Version:
150 lines (118 loc) 5.17 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 _classnames = _interopRequireDefault(require("classnames")); var _raCore = require("ra-core"); var _FormInput = _interopRequireDefault(require("./FormInput")); 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 hiddenStyle = { display: 'none' }; var FormTab = function (_Component) { (0, _inherits2.default)(FormTab, _Component); function FormTab() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, FormTab); 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)(FormTab)).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"]); var to = { pathname: value, state: { skipFormReset: true } }; return _react.default.createElement(_Tab.default, (0, _extends2.default)({ key: label, label: translate(label, { _: label }), value: value, icon: icon, className: (0, _classnames.default)('form-tab', className), component: _reactRouterDom.Link, to: to }, sanitizeRestProps(rest))); }); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "renderContent", function (_ref3) { var children = _ref3.children, hidden = _ref3.hidden, basePath = _ref3.basePath, record = _ref3.record, resource = _ref3.resource; return _react.default.createElement("span", { style: hidden ? hiddenStyle : null }, _react.default.Children.map(children, function (input) { return input && _react.default.createElement(_FormInput.default, { basePath: basePath, input: input, record: record, resource: resource }); })); }); return _this; } (0, _createClass2.default)(FormTab, [{ 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 FormTab; }(_react.Component); FormTab.propTypes = { className: _propTypes.default.string, children: _propTypes.default.node, context: _propTypes.default.oneOf(['header', 'content']), hidden: _propTypes.default.bool, icon: _propTypes.default.element, label: _propTypes.default.string.isRequired, path: _propTypes.default.string, translate: _propTypes.default.func.isRequired, value: _propTypes.default.string }; FormTab.displayName = 'FormTab'; var _default = (0, _raCore.translate)(FormTab); exports.default = _default; module.exports = exports.default;