Changeset View
Changeset View
Standalone View
Standalone View
swh/web/assets/src/bundles/browse/origin-search.js
Show First 20 Lines • Show All 146 Lines • ▼ Show 20 Lines | .catch(response => { | ||||
$('#swh-origin-search-results').hide(); | $('#swh-origin-search-results').hide(); | ||||
$('#swh-no-result').text(`Error ${response.status}: ${response.statusText}`); | $('#swh-no-result').text(`Error ${response.status}: ${response.statusText}`); | ||||
$('#swh-no-result').show(); | $('#swh-no-result').show(); | ||||
}); | }); | ||||
} | } | ||||
function doSearch() { | function doSearch() { | ||||
$('#swh-no-result').hide(); | $('#swh-no-result').hide(); | ||||
let searchQueryText = $('#origins-url-patterns').val(); | let searchQueryText = $('#swh-origins-url-patterns').val(); | ||||
inSearch = true; | inSearch = true; | ||||
if (searchQueryText.startsWith('swh:')) { | if (searchQueryText.startsWith('swh:')) { | ||||
// searchQueryText may be a PID so sending search queries to PID resolve endpoint | // searchQueryText may be a PID so sending search queries to PID resolve endpoint | ||||
let resolveSWHIDUrl = Urls.api_1_resolve_swhid(searchQueryText); | let resolveSWHIDUrl = Urls.api_1_resolve_swhid(searchQueryText); | ||||
fetch(resolveSWHIDUrl) | fetch(resolveSWHIDUrl) | ||||
.then(handleFetchError) | .then(handleFetchError) | ||||
.then(response => response.json()) | .then(response => response.json()) | ||||
.then(data => { | .then(data => { | ||||
Show All 19 Lines | if (searchQueryText.startsWith('swh:')) { | ||||
searchOriginsFirst(searchQueryText, limit); | searchOriginsFirst(searchQueryText, limit); | ||||
} | } | ||||
} | } | ||||
export function initOriginSearch() { | export function initOriginSearch() { | ||||
$(document).ready(() => { | $(document).ready(() => { | ||||
$('#swh-search-origins').submit(event => { | $('#swh-search-origins').submit(event => { | ||||
event.preventDefault(); | event.preventDefault(); | ||||
let searchQueryText = $('#origins-url-patterns').val().trim(); | let searchQueryText = $('#swh-origins-url-patterns').val().trim(); | ||||
let withVisit = $('#swh-search-origins-with-visit').prop('checked'); | let withVisit = $('#swh-search-origins-with-visit').prop('checked'); | ||||
let withContent = $('#swh-filter-empty-visits').prop('checked'); | let withContent = $('#swh-filter-empty-visits').prop('checked'); | ||||
let searchMetadata = $('#swh-search-origin-metadata').prop('checked'); | let searchMetadata = $('#swh-search-origin-metadata').prop('checked'); | ||||
let queryParameters = new URLSearchParams(); | let queryParameters = new URLSearchParams(); | ||||
queryParameters.append('q', searchQueryText); | queryParameters.append('q', searchQueryText); | ||||
if (withVisit) { | if (withVisit) { | ||||
queryParameters.append('with_visit', withVisit); | queryParameters.append('with_visit', withVisit); | ||||
} | } | ||||
Show All 27 Lines | $(document).ready(() => { | ||||
}); | }); | ||||
let urlParams = new URLSearchParams(window.location.search); | let urlParams = new URLSearchParams(window.location.search); | ||||
let query = urlParams.get('q'); | let query = urlParams.get('q'); | ||||
let withVisit = urlParams.has('with_visit'); | let withVisit = urlParams.has('with_visit'); | ||||
let withContent = urlParams.has('with_content'); | let withContent = urlParams.has('with_content'); | ||||
let searchMetadata = urlParams.has('search_metadata'); | let searchMetadata = urlParams.has('search_metadata'); | ||||
if (query) { | if (query) { | ||||
$('#origins-url-patterns').val(query); | $('#swh-origins-url-patterns').val(query); | ||||
$('#swh-search-origins-with-visit').prop('checked', withVisit); | $('#swh-search-origins-with-visit').prop('checked', withVisit); | ||||
$('#swh-filter-empty-visits').prop('checked', withContent); | $('#swh-filter-empty-visits').prop('checked', withContent); | ||||
$('#swh-search-origin-metadata').prop('checked', searchMetadata); | $('#swh-search-origin-metadata').prop('checked', searchMetadata); | ||||
doSearch(); | doSearch(); | ||||
} | } | ||||
}); | }); | ||||
} | } |