@bootstrap-styled/ra-ui
Version:
UI components for react-admin
122 lines (107 loc) • 4 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.ReferenceManyField = exports.ReferenceManyFieldView = 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 _raCore = require("ra-core");
var ReferenceManyFieldView = function ReferenceManyFieldView(_ref) {
var children = _ref.children,
className = _ref.className,
currentSort = _ref.currentSort,
data = _ref.data,
ids = _ref.ids,
loadedOnce = _ref.loadedOnce,
page = _ref.page,
pagination = _ref.pagination,
perPage = _ref.perPage,
reference = _ref.reference,
referenceBasePath = _ref.referenceBasePath,
setPage = _ref.setPage,
setPerPage = _ref.setPerPage,
setSort = _ref.setSort,
total = _ref.total;
return _react.default.createElement(_react.Fragment, null, (0, _react.cloneElement)(_react.Children.only(children), {
className: className,
resource: reference,
ids: ids,
loadedOnce: loadedOnce,
data: data,
basePath: referenceBasePath,
currentSort: currentSort,
setSort: setSort,
total: total
}), pagination && (0, _react.cloneElement)(pagination, {
page: page,
perPage: perPage,
setPage: setPage,
setPerPage: setPerPage,
total: total
}));
};
exports.ReferenceManyFieldView = ReferenceManyFieldView;
ReferenceManyFieldView.propTypes = {
children: _propTypes.default.element,
className: _propTypes.default.string,
currentSort: _propTypes.default.shape({
field: _propTypes.default.string,
order: _propTypes.default.string
}),
data: _propTypes.default.object,
ids: _propTypes.default.array,
loadedOnce: _propTypes.default.bool,
pagination: _propTypes.default.element,
reference: _propTypes.default.string,
referenceBasePath: _propTypes.default.string,
setSort: _propTypes.default.func
};
var ReferenceManyField = function ReferenceManyField(_ref2) {
var children = _ref2.children,
props = (0, _objectWithoutProperties2.default)(_ref2, ["children"]);
if (_react.default.Children.count(children) !== 1) {
throw new Error('<ReferenceManyField> only accepts a single child (like <Datagrid>)');
}
return _react.default.createElement(_raCore.ReferenceManyFieldController, props, function (controllerProps) {
return _react.default.createElement(ReferenceManyFieldView, (0, _extends2.default)({}, props, (0, _objectSpread2.default)({
children: children
}, controllerProps)));
});
};
exports.ReferenceManyField = ReferenceManyField;
ReferenceManyField.propTypes = {
addLabel: _propTypes.default.bool,
basePath: _propTypes.default.string,
children: _propTypes.default.element.isRequired,
className: _propTypes.default.string,
filter: _propTypes.default.object,
label: _propTypes.default.string,
perPage: _propTypes.default.number,
record: _propTypes.default.object,
reference: _propTypes.default.string.isRequired,
resource: _propTypes.default.string,
sortBy: _propTypes.default.string,
source: _propTypes.default.string.isRequired,
sort: _propTypes.default.shape({
field: _propTypes.default.string,
order: _propTypes.default.string
}),
target: _propTypes.default.string.isRequired
};
ReferenceManyField.defaultProps = {
filter: {},
perPage: 25,
sort: {
field: 'id',
order: 'DESC'
},
source: 'id',
addLabel: true
};
var _default = ReferenceManyField;
exports.default = _default;