labo-components
Version:
47 lines (43 loc) • 1.25 kB
JavaScript
const ExternalAPI = {
//autocomplete for EXTERNAL APIs only. Autocomplete for the Media Suite
//API is in the SearchAPI class
autocomplete: function(vocabulary, term, conceptScheme, callback) {
let url = '/autocomplete?vocab=' + vocabulary + '&term=' + term;
if (conceptScheme != '')
{
url += '&cs=' + conceptScheme
}
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if(xhr.status === 200) {
callback(JSON.parse(xhr.responseText));
} else {
callback(null);
}
}
};
xhr.open("GET", url);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.send(null);
return xhr;
},
search: function(api, searchTerm, callback) {
const url = '/link/' + api + '/search?q=' + searchTerm;
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if(xhr.status === 200) {
callback(JSON.parse(xhr.responseText));
} else {
callback(null);
}
}
};
xhr.open("GET", url);
xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
xhr.send(null);
return xhr;
}
};
export default ExternalAPI;