UNPKG

labo-components

Version:
47 lines (43 loc) 1.25 kB
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;