UNPKG

@bootstrap-styled/ra-ui

Version:
115 lines (95 loc) 5.12 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Avatar = _interopRequireDefault(require("@material-ui/core/Avatar")); var _List = _interopRequireDefault(require("@material-ui/core/List")); var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem")); var _ListItemAvatar = _interopRequireDefault(require("@material-ui/core/ListItemAvatar")); var _ListItemIcon = _interopRequireDefault(require("@material-ui/core/ListItemIcon")); var _ListItemSecondaryAction = _interopRequireDefault(require("@material-ui/core/ListItemSecondaryAction")); var _ListItemText = _interopRequireDefault(require("@material-ui/core/ListItemText")); var _reactRouterDom = require("react-router-dom"); var _raCore = require("ra-core"); var _styledComponents = _interopRequireDefault(require("styled-components")); var Tertiary = _styledComponents.default.span.withConfig({ displayName: "SimpleList__Tertiary", componentId: "sc-1b4ky28-0" })(["float:right;opacity:0.5;"]); var LinkOrNot = function LinkOrNot(_ref) { var linkType = _ref.linkType, basePath = _ref.basePath, id = _ref.id, children = _ref.children; return linkType === 'edit' || linkType === true ? _react.default.createElement(_reactRouterDom.Link, { to: (0, _raCore.linkToRecord)(basePath, id) }, children) : linkType === 'show' ? _react.default.createElement(_reactRouterDom.Link, { to: "".concat((0, _raCore.linkToRecord)(basePath, id), "/show") }, children) : _react.default.createElement("span", null, children); }; var SimpleList = function SimpleList(_ref2) { var basePath = _ref2.basePath, className = _ref2.className, data = _ref2.data, hasBulkActions = _ref2.hasBulkActions, ids = _ref2.ids, isLoading = _ref2.isLoading, leftAvatar = _ref2.leftAvatar, leftIcon = _ref2.leftIcon, linkType = _ref2.linkType, onToggleItem = _ref2.onToggleItem, primaryText = _ref2.primaryText, rightAvatar = _ref2.rightAvatar, rightIcon = _ref2.rightIcon, secondaryText = _ref2.secondaryText, selectedIds = _ref2.selectedIds, tertiaryText = _ref2.tertiaryText, total = _ref2.total, rest = (0, _objectWithoutProperties2.default)(_ref2, ["basePath", "className", "data", "hasBulkActions", "ids", "isLoading", "leftAvatar", "leftIcon", "linkType", "onToggleItem", "primaryText", "rightAvatar", "rightIcon", "secondaryText", "selectedIds", "tertiaryText", "total"]); return (isLoading || total > 0) && _react.default.createElement(_List.default, (0, _extends2.default)({ className: className }, (0, _raCore.sanitizeListRestProps)(rest)), ids.map(function (id) { return _react.default.createElement(LinkOrNot, { linkType: linkType, basePath: basePath, id: id, key: id }, _react.default.createElement(_ListItem.default, { button: true }, leftIcon && _react.default.createElement(_ListItemIcon.default, null, leftIcon(data[id], id)), leftAvatar && _react.default.createElement(_ListItemAvatar.default, null, _react.default.createElement(_Avatar.default, null, leftAvatar(data[id], id))), _react.default.createElement(_ListItemText.default, { primary: _react.default.createElement("div", null, primaryText(data[id], id), tertiaryText && _react.default.createElement(Tertiary, null, tertiaryText(data[id], id))), secondary: secondaryText && secondaryText(data[id], id) }), (rightAvatar || rightIcon) && _react.default.createElement(_ListItemSecondaryAction.default, null, rightAvatar && _react.default.createElement(_Avatar.default, null, rightAvatar(data[id], id)), rightIcon && _react.default.createElement(_ListItemIcon.default, null, rightIcon(data[id], id))))); })); }; SimpleList.propTypes = { basePath: _propTypes.default.string, className: _propTypes.default.string, data: _propTypes.default.object, hasBulkActions: _propTypes.default.bool.isRequired, ids: _propTypes.default.array, leftAvatar: _propTypes.default.func, leftIcon: _propTypes.default.func, linkType: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.bool]).isRequired, onToggleItem: _propTypes.default.func, primaryText: _propTypes.default.func, rightAvatar: _propTypes.default.func, rightIcon: _propTypes.default.func, secondaryText: _propTypes.default.func, selectedIds: _propTypes.default.arrayOf(_propTypes.default.any).isRequired, tertiaryText: _propTypes.default.func }; SimpleList.defaultProps = { linkType: 'edit', hasBulkActions: false, selectedIds: [] }; var _default = SimpleList; exports.default = _default; module.exports = exports.default;