Changeset View
Changeset View
Standalone View
Standalone View
swh/web/assets/src/bundles/origin/visits-reporting.js
Show First 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | function updateVisitsList(year) { | ||||
let visitsCpt = 0; | let visitsCpt = 0; | ||||
let nbVisitsByRow = 4; | let nbVisitsByRow = 4; | ||||
let visitsListHtml = '<div class="swh-visits-list-row">'; | let visitsListHtml = '<div class="swh-visits-list-row">'; | ||||
for (let i = 0; i < visitsByYear.length; ++i) { | for (let i = 0; i < visitsByYear.length; ++i) { | ||||
if (visitsCpt > 0 && visitsCpt % nbVisitsByRow === 0) { | if (visitsCpt > 0 && visitsCpt % nbVisitsByRow === 0) { | ||||
visitsListHtml += '</div><div class="swh-visits-list-row">'; | visitsListHtml += '</div><div class="swh-visits-list-row">'; | ||||
} | } | ||||
visitsListHtml += '<div class="swh-visits-list-column" style="width: ' + 100 / nbVisitsByRow + '%;">'; | visitsListHtml += '<div class="swh-visits-list-column" style="width: ' + 100 / nbVisitsByRow + '%;">'; | ||||
visitsListHtml += '<a class="swh-visit-' + visitsByYear[i].status + '" title="' + visitsByYear[i].status + | visitsListHtml += '<a class="swh-visit-icon swh-visit-' + visitsByYear[i].status + '" title="' + visitsByYear[i].status + | ||||
' visit" href="' + visitsByYear[i].url + '">' + visitsByYear[i].formatted_date + '</a>'; | ' visit" href="' + visitsByYear[i].url + '">' + visitsByYear[i].formatted_date + '</a>'; | ||||
visitsListHtml += '</div>'; | visitsListHtml += '</div>'; | ||||
++visitsCpt; | ++visitsCpt; | ||||
} | } | ||||
visitsListHtml += '</div>'; | visitsListHtml += '</div>'; | ||||
$('#swh-visits-list').append($(visitsListHtml)); | $('#swh-visits-list').append($(visitsListHtml)); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 45 Lines • ▼ Show 20 Lines | |||||
export function initVisitsReporting(visits) { | export function initVisitsReporting(visits) { | ||||
$(document).ready(() => { | $(document).ready(() => { | ||||
allVisits = visits; | allVisits = visits; | ||||
// process input visits | // process input visits | ||||
let firstFullVisit; | let firstFullVisit; | ||||
allVisits.forEach((v, i) => { | allVisits.forEach((v, i) => { | ||||
// Turn Unix epoch into Javascript Date object | // Turn Unix epoch into Javascript Date object | ||||
v.date = new Date(Math.floor(v.date * 1000)); | v.date = new Date(Math.floor(v.date * 1000)); | ||||
let visitLink = '<a class="swh-visit-' + v.status + '" href="' + v.url + '">' + v.formatted_date + '</a>'; | let visitLink = '<a class="swh-visit-icon swh-visit-' + v.status + '" href="' + v.url + '">' + v.formatted_date + '</a>'; | ||||
if (v.status === 'full') { | if (v.status === 'full') { | ||||
if (!firstFullVisit) { | if (!firstFullVisit) { | ||||
firstFullVisit = v; | firstFullVisit = v; | ||||
$('#swh-first-full-visit').append($(visitLink)); | $('#swh-first-full-visit').append($(visitLink)); | ||||
if (allVisits.length === 1) { | if (allVisits.length === 1) { | ||||
$('#swh-last-full-visit')[0].innerHTML = visitLink; | $('#swh-last-full-visit')[0].innerHTML = visitLink; | ||||
} | } | ||||
} else { | } else { | ||||
Show All 13 Lines |