@collectionspace/cspace-public-browser
Version:
CollectionSpace public browser
42 lines (41 loc) • 1.58 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = ClearSearchParamsLink;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactIntl = require("react-intl");
var _reactRouterDom = require("react-router-dom");
var _immutable = _interopRequireDefault(require("immutable"));
var _ids = require("../../../constants/ids");
var _urlHelpers = require("../../../helpers/urlHelpers");
var _SearchParamLink = _interopRequireDefault(require("../../../../styles/cspace/SearchParamLink.css"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const propTypes = {
params: _propTypes.default.instanceOf(_immutable.default.Map).isRequired
};
const messages = (0, _reactIntl.defineMessages)({
label: {
"id": "clearSearchParamsLink.label",
"defaultMessage": "Clear all"
}
});
function ClearSearchParamsLink(props) {
const {
params
} = props;
const sortParam = params.filter((value, key) => key === _ids.SORT_ID);
const hasNonSortParam = params.size > sortParam.size;
if (hasNonSortParam) {
const queryString = (0, _urlHelpers.searchParamsToQueryString)(sortParam);
return /*#__PURE__*/_react.default.createElement(_reactRouterDom.Link, {
className: _SearchParamLink.default.common,
to: {
search: `?${queryString}`
}
}, /*#__PURE__*/_react.default.createElement(_reactIntl.FormattedMessage, messages.label));
}
return null;
}
ClearSearchParamsLink.propTypes = propTypes;