UNPKG

@bootstrap-styled/ra-ui

Version:
139 lines (106 loc) 5.03 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 = exports.SingleFieldList = void 0; 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 _classnames = _interopRequireDefault(require("classnames")); var _LinearProgress = _interopRequireDefault(require("@material-ui/core/LinearProgress")); var _raCore = require("ra-core"); var _Link = _interopRequireDefault(require("../Link")); var stopPropagation = function stopPropagation(e) { return e.stopPropagation(); }; var sanitizeRestProps = function sanitizeRestProps(_ref) { var currentSort = _ref.currentSort, setSort = _ref.setSort, isLoading = _ref.isLoading, loadedOnce = _ref.loadedOnce, props = (0, _objectWithoutProperties2.default)(_ref, ["currentSort", "setSort", "isLoading", "loadedOnce"]); return props; }; var SingleFieldList = function (_Component) { (0, _inherits2.default)(SingleFieldList, _Component); function SingleFieldList() { var _getPrototypeOf2; var _this; (0, _classCallCheck2.default)(this, SingleFieldList); 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)(SingleFieldList)).call.apply(_getPrototypeOf2, [this].concat(args))); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleClick", function () {}); return _this; } (0, _createClass2.default)(SingleFieldList, [{ key: "render", value: function render() { var _this2 = this; var _this$props = this.props, className = _this$props.className, ids = _this$props.ids, data = _this$props.data, loadedOnce = _this$props.loadedOnce, resource = _this$props.resource, basePath = _this$props.basePath, children = _this$props.children, linkType = _this$props.linkType, rest = (0, _objectWithoutProperties2.default)(_this$props, ["className", "ids", "data", "loadedOnce", "resource", "basePath", "children", "linkType"]); if (loadedOnce === false) { return _react.default.createElement(_LinearProgress.default, null); } return _react.default.createElement("div", (0, _extends2.default)({ className: (0, _classnames.default)(className, 'd-flex flex-wrap') }, sanitizeRestProps(rest)), ids.map(function (id) { var resourceLinkPath = !linkType ? false : (0, _raCore.linkToRecord)(basePath, id, linkType); if (resourceLinkPath) { return _react.default.createElement(_Link.default, { className: className, key: id, to: resourceLinkPath, onClick: stopPropagation }, (0, _react.cloneElement)(_react.Children.only(children), { record: data[id], resource: resource, basePath: basePath, onClick: _this2.handleClick })); } return (0, _react.cloneElement)(_react.Children.only(children), { key: id, record: data[id], resource: resource, basePath: basePath }); })); } }]); return SingleFieldList; }(_react.Component); exports.SingleFieldList = SingleFieldList; SingleFieldList.propTypes = { basePath: _propTypes.default.string, children: _propTypes.default.element.isRequired, className: _propTypes.default.string, data: _propTypes.default.object, ids: _propTypes.default.array, linkType: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]).isRequired, resource: _propTypes.default.string }; SingleFieldList.defaultProps = { linkType: 'edit' }; var _default = SingleFieldList; exports.default = _default;