Changeset View
Changeset View
Standalone View
Standalone View
swh/web/assets/src/bundles/admin/origin-save.js
Show First 20 Lines • Show All 144 Lines • ▼ Show 20 Lines | columnsData.push({ | ||||
name: 'save_task_status' | name: 'save_task_status' | ||||
}); | }); | ||||
columnsData.push({ | columnsData.push({ | ||||
name: 'info', | name: 'info', | ||||
render: (data, type, row) => { | render: (data, type, row) => { | ||||
if (row.save_task_status === 'succeed' || row.save_task_status === 'failed') { | if (row.save_task_status === 'succeed' || row.save_task_status === 'failed') { | ||||
return '<i class="mdi mdi-information-outline swh-save-request-info" aria-hidden="true" style="cursor: pointer"' + | return '<i class="mdi mdi-information-outline swh-save-request-info" aria-hidden="true" style="cursor: pointer"' + | ||||
`onclick="swh.admin.displaySaveRequestInfo(event, ${row.id})"></i>`; | `onclick="swh.save.displaySaveRequestInfo(event, ${row.id})"></i>`; | ||||
} else { | } else { | ||||
return ''; | return ''; | ||||
} | } | ||||
} | } | ||||
}); | }); | ||||
acceptedSaveRequestsTable = $('#swh-origin-save-accepted-requests').DataTable({ | acceptedSaveRequestsTable = $('#swh-origin-save-accepted-requests').DataTable({ | ||||
serverSide: true, | serverSide: true, | ||||
▲ Show 20 Lines • Show All 192 Lines • ▼ Show 20 Lines | |||||
export function removeAcceptedOriginSaveRequest() { | export function removeAcceptedOriginSaveRequest() { | ||||
removeOriginSaveRequest(acceptedSaveRequestsTable); | removeOriginSaveRequest(acceptedSaveRequestsTable); | ||||
} | } | ||||
export function removeRejectedOriginSaveRequest() { | export function removeRejectedOriginSaveRequest() { | ||||
removeOriginSaveRequest(rejectedSaveRequestsTable); | removeOriginSaveRequest(rejectedSaveRequestsTable); | ||||
} | } | ||||
export function displaySaveRequestInfo(event, saveRequestId) { | |||||
event.stopPropagation(); | |||||
const saveRequestTaskInfoUrl = Urls.admin_origin_save_task_info(saveRequestId); | |||||
$('.swh-save-request-info').popover('dispose'); | |||||
$(event.target).popover({ | |||||
'title': 'Save request task information', | |||||
'content': `<div class="swh-popover"> | |||||
<div class="text-center"> | |||||
<img src=${swhSpinnerSrc}></img> | |||||
<p>Fetching task information ...</p> | |||||
</div> | |||||
</div>`, | |||||
'html': true, | |||||
'placement': 'left', | |||||
'sanitizeFn': swh.webapp.filterXSS | |||||
}); | |||||
$(event.target).popover('show'); | |||||
fetch(saveRequestTaskInfoUrl) | |||||
.then(response => response.json()) | |||||
.then(saveRequestTaskInfo => { | |||||
let content; | |||||
if ($.isEmptyObject(saveRequestTaskInfo)) { | |||||
content = 'Not available'; | |||||
} else { | |||||
let saveRequestInfo = []; | |||||
saveRequestInfo.push({ | |||||
key: 'Task type', | |||||
value: saveRequestTaskInfo.type | |||||
}); | |||||
if (saveRequestTaskInfo.hasOwnProperty('task_name')) { | |||||
saveRequestInfo.push({ | |||||
key: 'Task name', | |||||
value: saveRequestTaskInfo.name | |||||
}); | |||||
} | |||||
saveRequestInfo.push({ | |||||
key: 'Task arguments', | |||||
value: JSON.stringify(saveRequestTaskInfo.arguments, null, 2) | |||||
}); | |||||
saveRequestInfo.push({ | |||||
key: 'Task id', | |||||
value: saveRequestTaskInfo.id | |||||
}); | |||||
saveRequestInfo.push({ | |||||
key: 'Task backend id', | |||||
value: saveRequestTaskInfo.backend_id | |||||
}); | |||||
saveRequestInfo.push({ | |||||
key: 'Task scheduling date', | |||||
value: new Date(saveRequestTaskInfo.scheduled).toLocaleString() | |||||
}); | |||||
saveRequestInfo.push({ | |||||
key: 'Task termination date', | |||||
value: new Date(saveRequestTaskInfo.ended).toLocaleString() | |||||
}); | |||||
if (saveRequestTaskInfo.hasOwnProperty('duration')) { | |||||
saveRequestInfo.push({ | |||||
key: 'Task duration', | |||||
value: saveRequestTaskInfo.duration + ' s' | |||||
}); | |||||
} | |||||
if (saveRequestTaskInfo.hasOwnProperty('worker')) { | |||||
saveRequestInfo.push({ | |||||
key: 'Task executor', | |||||
value: saveRequestTaskInfo.worker | |||||
}); | |||||
} | |||||
if (saveRequestTaskInfo.hasOwnProperty('message')) { | |||||
saveRequestInfo.push({ | |||||
key: 'Task log', | |||||
value: saveRequestTaskInfo.message | |||||
}); | |||||
} | |||||
content = '<table class="table"><tbody>'; | |||||
for (let info of saveRequestInfo) { | |||||
content += | |||||
`<tr> | |||||
<th class="swh-metadata-table-row swh-metadata-table-key">${info.key}</th> | |||||
<td class="swh-metadata-table-row swh-metadata-table-value"> | |||||
<pre>${info.value}</pre> | |||||
</td> | |||||
</tr>`; | |||||
} | |||||
content += '</tbody></table>'; | |||||
} | |||||
$('.swh-popover').html(content); | |||||
$(event.target).popover('update'); | |||||
}); | |||||
} |