Changeset View
Changeset View
Standalone View
Standalone View
swh/web/assets/src/bundles/browse/origin-search.js
Show All 30 Lines | if (origins.length > 0) { | ||||
$('#swh-origin-search-results').show(); | $('#swh-origin-search-results').show(); | ||||
$('#swh-no-result').hide(); | $('#swh-no-result').hide(); | ||||
clearOriginSearchResultsTable(); | clearOriginSearchResultsTable(); | ||||
let table = $('#origin-search-results tbody'); | let table = $('#origin-search-results tbody'); | ||||
for (let i = localOffset; i < localOffset + perPage && i < origins.length; ++i) { | for (let i = localOffset; i < localOffset + perPage && i < origins.length; ++i) { | ||||
let origin = origins[i]; | let origin = origins[i]; | ||||
let browseUrl = Urls.browse_origin(origin.url); | let browseUrl = Urls.browse_origin(origin.url); | ||||
let tableRow = `<tr id="origin-${i}" class="swh-search-result-entry swh-tr-hover-highlight">`; | let tableRow = `<tr id="origin-${i}" class="swh-search-result-entry swh-tr-hover-highlight">`; | ||||
tableRow += `<td style="width: 120px;">${origin.type}</td>`; | |||||
tableRow += `<td style="white-space: nowrap;"><a href="${encodeURI(browseUrl)}">${encodeURI(origin.url)}</a></td>`; | tableRow += `<td style="white-space: nowrap;"><a href="${encodeURI(browseUrl)}">${encodeURI(origin.url)}</a></td>`; | ||||
tableRow += `<td id="visit-type-origin-${i}" style="width: 120px;"></td>`; | |||||
tableRow += `<td class="swh-visit-status" id="visit-status-origin-${i}"><i title="Checking visit status" class="fa fa-refresh fa-spin"></i></td>`; | tableRow += `<td class="swh-visit-status" id="visit-status-origin-${i}"><i title="Checking visit status" class="fa fa-refresh fa-spin"></i></td>`; | ||||
tableRow += '</tr>'; | tableRow += '</tr>'; | ||||
table.append(tableRow); | table.append(tableRow); | ||||
// get async latest visit snapshot and update visit status icon | // get async latest visit snapshot and update visit status icon | ||||
let latestSnapshotUrl = Urls.api_1_origin_visit_latest(origin.url); | let latestSnapshotUrl = Urls.api_1_origin_visit_latest(origin.url); | ||||
latestSnapshotUrl += '?require_snapshot=true'; | latestSnapshotUrl += '?require_snapshot=true'; | ||||
fetch(latestSnapshotUrl) | fetch(latestSnapshotUrl) | ||||
.then(response => response.json()) | .then(response => response.json()) | ||||
.then(data => { | .then(data => { | ||||
$(`#visit-type-origin-${i}`).text(data.type); | |||||
$(`#visit-status-origin-${i}`).children().remove(); | $(`#visit-status-origin-${i}`).children().remove(); | ||||
if (data) { | if (data) { | ||||
$(`#visit-status-origin-${i}`).append('<i title="Origin has at least one full visit by Software Heritage" class="fa fa-check"></i>'); | $(`#visit-status-origin-${i}`).append('<i title="Origin has at least one full visit by Software Heritage" class="fa fa-check"></i>'); | ||||
} else { | } else { | ||||
$(`#visit-status-origin-${i}`).append('<i title="Origin has not yet been visited by Software Heritage or does not have at least one full visit" class="fa fa-times"></i>'); | $(`#visit-status-origin-${i}`).append('<i title="Origin has not yet been visited by Software Heritage or does not have at least one full visit" class="fa fa-times"></i>'); | ||||
if ($('#swh-filter-empty-visits').prop('checked')) { | if ($('#swh-filter-empty-visits').prop('checked')) { | ||||
$(`#origin-${i}`).remove(); | $(`#origin-${i}`).remove(); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 175 Lines • Show Last 20 Lines |