cspace-ui
Version:
CollectionSpace user interface for browsers
44 lines (42 loc) • 1.48 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.setQuickSearchKeyword = exports.initiateSearch = void 0;
var _qs = _interopRequireDefault(require("qs"));
var _csidHelpers = require("../helpers/csidHelpers");
var _reducers = require("../reducers");
var _actionCodes = require("../constants/actionCodes");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const setQuickSearchKeyword = value => ({
type: _actionCodes.SET_QUICK_SEARCH_KEYWORD,
payload: value
});
exports.setQuickSearchKeyword = setQuickSearchKeyword;
const initiateSearch = push => (dispatch, getState) => {
const keyword = (0, _reducers.getQuickSearchKeyword)(getState());
const kw = keyword ? keyword.trim() : '';
const recordType = (0, _reducers.getQuickSearchRecordType)(getState());
const vocabulary = (0, _reducers.getQuickSearchVocabulary)(getState(), recordType);
let pathname;
let search;
const vocabularyPath = vocabulary ? `/${vocabulary}` : '';
if ((0, _csidHelpers.isCsid)(kw)) {
// Go straight to the record with the csid.
pathname = `/record/${recordType}${vocabularyPath}/${kw}`;
} else {
pathname = `/list/${recordType}${vocabularyPath}`;
if (kw) {
const query = {
kw
};
const queryString = _qs.default.stringify(query);
search = `?${queryString}`;
}
}
push({
pathname,
search
});
};
exports.initiateSearch = initiateSearch;
;