Changeset View
Changeset View
Standalone View
Standalone View
swh/web/assets/src/bundles/browse/origin-search.js
Show All 33 Lines | if (origins.length > 0) { | ||||
$('#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, origin] of origins.entries()) { | for (let [i, origin] of origins.entries()) { | ||||
let browseUrl = `${Urls.browse_origin()}?origin_url=${origin.url}`; | let browseUrl = `${Urls.browse_origin()}?origin_url=${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="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 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="mdi mdi-sync mdi-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-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="mdi mdi-check-bold"></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="mdi mdi-close-thick"></i>'); | ||||
if ($('#swh-filter-empty-visits').prop('checked')) { | if ($('#swh-filter-empty-visits').prop('checked')) { | ||||
$(`#origin-${i}`).remove(); | $(`#origin-${i}`).remove(); | ||||
} | } | ||||
} | } | ||||
}); | }); | ||||
} | } | ||||
fixTableRowsStyle(); | fixTableRowsStyle(); | ||||
} else { | } else { | ||||
▲ Show 20 Lines • Show All 165 Lines • Show Last 20 Lines |