UNPKG

cspace-ui

Version:
54 lines (52 loc) 2.04 kB
"use strict"; 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 };