Changeset View
Changeset View
Standalone View
Standalone View
assets/src/bundles/admin/deposit.js
/** | /** | ||||
* Copyright (C) 2018-2020 The Software Heritage developers | * Copyright (C) 2018-2021 The Software Heritage developers | ||||
* See the AUTHORS file at the top-level directory of this distribution | * See the AUTHORS file at the top-level directory of this distribution | ||||
* License: GNU Affero General Public License version 3, or any later version | * License: GNU Affero General Public License version 3, or any later version | ||||
* See top-level LICENSE file for more information | * See top-level LICENSE file for more information | ||||
*/ | */ | ||||
function genSwhLink(data, type) { | function genSwhLink(data, type) { | ||||
if (type === 'display') { | if (type === 'display') { | ||||
if (data && data.startsWith('swh')) { | if (data && data.startsWith('swh')) { | ||||
const browseUrl = Urls.browse_swhid(data); | const browseUrl = Urls.browse_swhid(data); | ||||
const formattedSWHID = data.replace(/;/g, ';<br/>'); | const formattedSWHID = data.replace(/;/g, ';<br/>'); | ||||
return `<a href="${browseUrl}">${formattedSWHID}</a>`; | return `<a href="${browseUrl}">${formattedSWHID}</a>`; | ||||
} | } | ||||
} | } | ||||
return data; | return data; | ||||
} | } | ||||
export function initDepositAdmin() { | export function initDepositAdmin(username, isStaff) { | ||||
let depositsTable; | let depositsTable; | ||||
$(document).ready(() => { | $(document).ready(() => { | ||||
$.fn.dataTable.ext.errMode = 'none'; | $.fn.dataTable.ext.errMode = 'none'; | ||||
depositsTable = $('#swh-admin-deposit-list') | depositsTable = $('#swh-admin-deposit-list') | ||||
.on('error.dt', (e, settings, techNote, message) => { | .on('error.dt', (e, settings, techNote, message) => { | ||||
$('#swh-admin-deposit-list-error').text(message); | $('#swh-admin-deposit-list-error').text(message); | ||||
}) | }) | ||||
.DataTable({ | .DataTable({ | ||||
Show All 11 Lines | depositsTable = $('#swh-admin-deposit-list') | ||||
'<"#list-exclude">l>rt<"bottom"ip>>', | '<"#list-exclude">l>rt<"bottom"ip>>', | ||||
// div#list-exclude is a custom filter added next to dataTable | // div#list-exclude is a custom filter added next to dataTable | ||||
// initialization below through js dom manipulation, see | // initialization below through js dom manipulation, see | ||||
// https://datatables.net/examples/advanced_init/dom_toolbar.html | // https://datatables.net/examples/advanced_init/dom_toolbar.html | ||||
ajax: { | ajax: { | ||||
url: Urls.admin_deposit_list(), | url: Urls.admin_deposit_list(), | ||||
data: d => { | data: d => { | ||||
d.excludePattern = $('#swh-admin-deposit-list-exclude-filter').val(); | d.excludePattern = $('#swh-admin-deposit-list-exclude-filter').val(); | ||||
if (!isStaff) { | |||||
d.username = username; | |||||
} | |||||
} | } | ||||
}, | }, | ||||
columns: [ | columns: [ | ||||
{ | { | ||||
data: 'id', | data: 'id', | ||||
name: 'id' | name: 'id' | ||||
}, | }, | ||||
{ | { | ||||
▲ Show 20 Lines • Show All 109 Lines • Show Last 20 Lines |