UNPKG

cspace-ui

Version:
54 lines (53 loc) 2.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = QuickSearchForm; var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _reactIntl = require("react-intl"); var _immutable = _interopRequireDefault(require("immutable")); var _cspaceInput = require("cspace-input"); var _searchHelpers = require("../../helpers/searchHelpers"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } const { QuickSearchInput } = _cspaceInput.components; const messages = (0, _reactIntl.defineMessages)({ placeholder: { "id": "quickSearchForm.placeholder", "defaultMessage": "Search" }, search: { "id": "quickSearchForm.search", "defaultMessage": "Search" } }); const propTypes = { intl: _reactIntl.intlShape, config: _propTypes.default.shape({ recordTypes: _propTypes.default.object }), perms: _propTypes.default.instanceOf(_immutable.default.Map), getAuthorityVocabCsid: _propTypes.default.func }; function QuickSearchForm(props) { const { intl, config, perms, getAuthorityVocabCsid, ...remainingProps } = props; const formatRecordTypeLabel = (name, recordTypeConfig) => intl.formatMessage(recordTypeConfig.messages.record.collectionName); const formatVocabularyLabel = (name, vocabularyConfig) => intl.formatMessage(vocabularyConfig.messages.name); return /*#__PURE__*/_react.default.createElement("fieldset", null, /*#__PURE__*/_react.default.createElement(QuickSearchInput, _extends({}, remainingProps, { formatRecordTypeLabel: formatRecordTypeLabel, formatVocabularyLabel: formatVocabularyLabel, placeholder: intl.formatMessage(messages.placeholder), recordTypes: (0, _searchHelpers.getSearchableRecordTypes)(getAuthorityVocabCsid, config, perms), searchButtonLabel: intl.formatMessage(messages.search) }))); } QuickSearchForm.propTypes = propTypes;