Changeset View
Changeset View
Standalone View
Standalone View
assets/src/bundles/browse/origin-search.js
Show First 20 Lines • Show All 194 Lines • ▼ Show 20 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(); | ||||
if (event.target.checkValidity()) { | |||||
$(event.target).removeClass('was-validated'); | |||||
let searchQueryText = $('#swh-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'); | ||||
const visitType = $('#swh-search-visit-type').val(); | const visitType = $('#swh-search-visit-type').val(); | ||||
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); | ||||
} | } | ||||
if (withContent) { | if (withContent) { | ||||
queryParameters.append('with_content', withContent); | queryParameters.append('with_content', withContent); | ||||
} | } | ||||
if (searchMetadata) { | if (searchMetadata) { | ||||
queryParameters.append('search_metadata', searchMetadata); | queryParameters.append('search_metadata', searchMetadata); | ||||
} | } | ||||
if (visitType !== 'any') { | if (visitType !== 'any') { | ||||
queryParameters.append('visit_type', visitType); | queryParameters.append('visit_type', visitType); | ||||
} | } | ||||
// Update the url, triggering page reload and effective search | // Update the url, triggering page reload and effective search | ||||
window.location = `${Urls.browse_search()}?${queryParameters.toString()}`; | window.location = `${Urls.browse_search()}?${queryParameters.toString()}`; | ||||
} else { | |||||
$(event.target).addClass('was-validated'); | |||||
} | |||||
}); | }); | ||||
$('#origins-next-results-button').click(event => { | $('#origins-next-results-button').click(event => { | ||||
if ($('#origins-next-results-button').hasClass('disabled') || inSearch) { | if ($('#origins-next-results-button').hasClass('disabled') || inSearch) { | ||||
return; | return; | ||||
} | } | ||||
inSearch = true; | inSearch = true; | ||||
linksPrev.push(linkCurrent); | linksPrev.push(linkCurrent); | ||||
Show All 31 Lines |