@bootstrap-styled/ra-ui
Version:
UI components for react-admin
150 lines (118 loc) • 5.17 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 _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;