cspace-ui
Version:
CollectionSpace user interface for browsers
54 lines (52 loc) • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _reactRedux = require("react-redux");
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactIntl = require("react-intl");
var _configContextInputs = require("../../helpers/configContextInputs");
var _ConfigProvider = require("../config/ConfigProvider");
var _searchNames = require("../../constants/searchNames");
var _search = require("../../actions/search");
var _SearchTable = _interopRequireDefault(require("../../../styles/cspace-ui/SearchTable.css"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const messages = (0, _reactIntl.defineMessages)({
checkboxLabelSelect: {
"id": "searchResult.checkboxAriaLabel",
"defaultMessage": "Select item {index}"
}
});
function SearchResultCheckbox({
index,
listType,
searchDescriptor,
selected,
intl
}) {
const config = (0, _ConfigProvider.useConfig)();
const dispatch = (0, _reactRedux.useDispatch)();
// todo: use an id field (e.g. objectNumber) instead of the index
const ariaLabel = intl.formatMessage(messages.checkboxLabelSelect, {
index
});
return /*#__PURE__*/_react.default.createElement(_configContextInputs.CheckboxInput, {
embedded: true,
"aria-label": ariaLabel,
className: _SearchTable.default.detailCheckbox,
name: `${index}`,
value: selected,
onCommit: (path, value) => dispatch((0, _search.setResultItemSelected)(config, _searchNames.SEARCH_RESULT_PAGE_SEARCH_NAME, searchDescriptor, listType, parseInt(path[0], 10), value)),
onClick: event => event.stopPropagation()
});
}
var _default = exports.default = (0, _reactIntl.injectIntl)(SearchResultCheckbox);
SearchResultCheckbox.propTypes = {
index: _propTypes.default.number,
listType: _propTypes.default.string,
searchDescriptor: _propTypes.default.object,
selected: _propTypes.default.bool,
intl: _propTypes.default.object
};