chayns-components
Version:
A set of beautiful React components for developing chayns® applications.
84 lines (82 loc) • 2.76 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _propTypes = _interopRequireDefault(require("prop-types"));
var _react = _interopRequireDefault(require("react"));
var _LoadMore = _interopRequireDefault(require("./LoadMore"));
var _PersonFinderResultItem = _interopRequireDefault(require("./PersonFinderResultItem"));
var _WaitCursor = _interopRequireDefault(require("./WaitCursor"));
const ResultItemList = _ref => {
let {
data = [],
hasMore = false,
orm,
group = 'default',
showWaitCursor = false,
onLoadMore,
onClick,
focusIndex,
roundIcons = false,
hideFriendsIcon = false,
onRemoveTag,
showCheckbox = false,
tags = [],
inputValue = '',
hideVerifiedIcon = false
} = _ref;
if (!data || data.length === 0) {
return null;
}
return [data.map((item, index) => /*#__PURE__*/_react.default.createElement(_PersonFinderResultItem.default, {
key: item[orm.identifier],
data: item,
orm: orm,
onClick: onClick,
isFocused: focusIndex !== null && focusIndex === index,
roundIcons: roundIcons,
hideFriendsIcon: hideFriendsIcon,
tags: tags,
onRemoveTag: onRemoveTag,
showCheckbox: showCheckbox,
inputValue: inputValue,
hideVerifiedIcon: hideVerifiedIcon
})), hasMore && showWaitCursor && /*#__PURE__*/_react.default.createElement(_WaitCursor.default, {
style: {
padding: '24px 0'
},
key: `${group}-wait`
}), onLoadMore && hasMore && /*#__PURE__*/_react.default.createElement(_LoadMore.default, {
key: `${group}-more`,
group: group,
hide: showWaitCursor,
onClick: onLoadMore
})];
};
ResultItemList.propTypes = {
data: _propTypes.default.arrayOf(_propTypes.default.object),
orm: _propTypes.default.shape({
identifier: _propTypes.default.string,
showName: _propTypes.default.string,
imageUrl: _propTypes.default.string
}).isRequired,
group: _propTypes.default.string,
onLoadMore: _propTypes.default.func,
showWaitCursor: _propTypes.default.bool,
hasMore: _propTypes.default.bool,
onClick: _propTypes.default.func,
focusIndex: _propTypes.default.number,
roundIcons: _propTypes.default.bool,
hideFriendsIcon: _propTypes.default.bool,
onRemoveTag: _propTypes.default.func.isRequired,
tags: _propTypes.default.arrayOf(_propTypes.default.shape({
value: _propTypes.default.shape({})
})),
showCheckbox: _propTypes.default.bool,
inputValue: _propTypes.default.string,
hideVerifiedIcon: _propTypes.default.bool
};
ResultItemList.displayName = 'ResultItemList';
var _default = ResultItemList;
exports.default = _default;
//# sourceMappingURL=ResultItemList.js.map