@bootstrap-styled/ra-ui
Version:
UI components for react-admin
133 lines (115 loc) • 5.08 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 = exports.Create = exports.CreateView = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireWildcard(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _classnames = _interopRequireDefault(require("classnames"));
var _raCore = require("ra-core");
var _TitleForRecord = _interopRequireDefault(require("../layout/TitleForRecord"));
var _CardContentInner = _interopRequireDefault(require("../layout/CardContentInner"));
var _CardContent = _interopRequireDefault(require("../layout/CardContent"));
var sanitizeRestProps = function sanitizeRestProps(_ref) {
var actions = _ref.actions,
children = _ref.children,
className = _ref.className,
crudCreate = _ref.crudCreate,
isLoading = _ref.isLoading,
resource = _ref.resource,
title = _ref.title,
hasCreate = _ref.hasCreate,
hasEdit = _ref.hasEdit,
hasList = _ref.hasList,
hasShow = _ref.hasShow,
match = _ref.match,
location = _ref.location,
history = _ref.history,
options = _ref.options,
locale = _ref.locale,
permissions = _ref.permissions,
translate = _ref.translate,
rest = (0, _objectWithoutProperties2.default)(_ref, ["actions", "children", "className", "crudCreate", "isLoading", "resource", "title", "hasCreate", "hasEdit", "hasList", "hasShow", "match", "location", "history", "options", "locale", "permissions", "translate"]);
return rest;
};
var CreateView = function CreateView(_ref2) {
var actions = _ref2.actions,
aside = _ref2.aside,
basePath = _ref2.basePath,
children = _ref2.children,
className = _ref2.className,
defaultTitle = _ref2.defaultTitle,
hasList = _ref2.hasList,
hasShow = _ref2.hasShow,
_ref2$record = _ref2.record,
record = _ref2$record === void 0 ? {} : _ref2$record,
redirect = _ref2.redirect,
resource = _ref2.resource,
save = _ref2.save,
title = _ref2.title,
rest = (0, _objectWithoutProperties2.default)(_ref2, ["actions", "aside", "basePath", "children", "className", "defaultTitle", "hasList", "hasShow", "record", "redirect", "resource", "save", "title"]);
return _react.default.createElement("div", (0, _extends2.default)({
className: (0, _classnames.default)('create-page d-flex', className)
}, sanitizeRestProps(rest)), _react.default.createElement(_TitleForRecord.default, {
title: title,
record: record,
defaultTitle: defaultTitle
}), _react.default.createElement(_CardContent.default, null, actions && _react.default.createElement(_CardContentInner.default, null, (0, _react.cloneElement)(actions, (0, _objectSpread2.default)({
basePath: basePath,
resource: resource,
hasList: hasList
}, actions.props))), (0, _react.cloneElement)(_react.Children.only(children), {
basePath: basePath,
record: record,
redirect: typeof children.props.redirect === 'undefined' ? redirect : children.props.redirect,
resource: resource,
save: save
})), aside && (0, _react.cloneElement)(aside, {
basePath: basePath,
record: record,
resource: resource,
save: save
}));
};
exports.CreateView = CreateView;
CreateView.propTypes = {
actions: _propTypes.default.element,
aside: _propTypes.default.node,
basePath: _propTypes.default.string,
children: _propTypes.default.element,
className: _propTypes.default.string,
defaultTitle: _propTypes.default.any,
hasList: _propTypes.default.bool,
hasShow: _propTypes.default.bool,
record: _propTypes.default.object,
redirect: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]),
resource: _propTypes.default.string,
save: _propTypes.default.func,
title: _propTypes.default.any
};
var Create = function Create(props) {
return _react.default.createElement(_raCore.CreateController, props, function (controllerProps) {
return _react.default.createElement(CreateView, (0, _extends2.default)({}, props, controllerProps));
});
};
exports.Create = Create;
Create.propTypes = {
actions: _propTypes.default.element,
aside: _propTypes.default.node,
children: _propTypes.default.element,
className: _propTypes.default.string,
hasCreate: _propTypes.default.bool,
hasEdit: _propTypes.default.bool,
hasShow: _propTypes.default.bool,
resource: _propTypes.default.string.isRequired,
title: _propTypes.default.any,
record: _propTypes.default.object,
hasList: _propTypes.default.bool
};
var _default = Create;
exports.default = _default;