@bootstrap-styled/ra-ui
Version:
UI components for react-admin
115 lines (95 loc) • 5.12 kB
JavaScript
"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;