Files
\
\
';
default:
return null;
}
}
function renderFilesTable(files) {
var license_link_html = "";
var license = "License: CC BY 4.0";
var logged_in = false;
var lang = "en";
var file_status_translations = {"Public": "Public", "Restricted": "Restricted"};
var cols = [{"sortable": true, "name": "name", "label": "Filename", "field_type": "string", "field": "name", "title": "Filename", "targets": 1, "visible": true}, {"sortable": true, "name": "size", "label": "Size", "field_type": "string", "field": "size", "title": "Size", "targets": 2, "visible": true}, {"sortable": true, "name": "status", "label": "Access", "field_type": "string", "enum": [{"name": "public", "label": "Public"}, {"name": "restricted", "label": "Restricted"}, {"name": "embargo", "label": "Embargo Date"}, {"name": "view_only", "label": "View only"}], "field_format": "select", "field": "status", "title": "Access", "targets": 3, "visible": true}, {"sortable": true, "name": "description", "label": "Description", "field_type": "string", "field": "description", "title": "Description", "targets": 4, "visible": true}, {"sortable": true, "name": "rec_license", "label": "License", "field_type": "string", "enum": [{"name": "copyright", "label": "Copyrighted"}, {"name": "CC BY", "label": "CC BY (Creative Commons: Attribution)"}, {"name": "CC BY-NC-ND", "label": "CC BY-NC-ND (Creative Commons: Attribution-NonCommercial-No Derivatives)"}, {"name": "CC BY-NC", "label": "CC BY-NC (Creative Commons: Attribution-NonCommercial)"}, {"name": "CC BY-ND", "label": "CC BY-ND (Creative Commons: Attribution-No Derivatives)"}, {"name": "CC BY-SA", "label": "CC BY-SA (Creative Commons: Attribution-ShareAlike)"}, {"name": "CC BY-NC-SA", "label": "CC BY-NC-SA (Creative Commons: Attribution-NonCommercial-ShareAlike)"}, {"name": "CC0", "label": "CC0 (No rights reserved)"}, {"name": "MIT License", "label": "MIT License"}, {"name": "GNU-GPL", "label": "GNU-GPL"}, {"name": "BSD", "label": "BSD"}, {"name": "Apache License", "label": "Apache License"}], "field_format": "select", "field": "rec_license", "title": "License", "targets": 5, "visible": true}];
// Define validation status column
cols.push({
sortable: false,
name: 'validation_status',
field: 'validation_status',
field_type: 'string',
visible: true,
label: ''
});
var filesData = [];
if (files.length == 1) {
$('#file-count-total').html('1 ' + 'file');
} else {
$('#file-count-total').html('' + files.length + ' ' + 'files');
}
for (var i = 0; i ')
.attr({
url: file.url,
language: lang,
'label-login': "Log in",
'label-download': "Download",
'must-login': file.status !== 'Public' && !logged_in,
'is-restricted': file.restricted,
'is-validated':file.validated,
'recid': 46277,
});
if (!file.restricted) {
onlyRestricted = false;
}
// Add action select checkbox
downloadButton = $([
$('', {
"class": "rowcb row-select",
"data-rowId": i,
"id": "rowcb_" + i,
"type": "checkbox",
"aria-label": "Select file" + ' ' + fileFullName,
"disabled": file.restricted
}).get(0),
downloadButton.get(0)
]);
// Build file row content
var fileDataToAdd = [downloadButton.map((i, element) => element.outerHTML).get().join('')];
cols.forEach(function(col) {
// Some fields need special treatment before showing
if (col.field == 'status') {
fileDataToAdd.push(renderStatus(file, col) || '-');
} else if (col.field == 'name') {
fileDataToAdd.push(file.name + file.format);
} else if (col.field == 'rec_license') {
fileDataToAdd.push(license_link_html || license || "-");
} else if (col.field == 'validation_status') {
fileDataToAdd.push(renderValidationStatus(file, col) || '');
} else {
fileDataToAdd.push(renderValue(file, col.field, col) || '-');
}
});
fileDataToAdd["validated"] = file.validated;
fileDataToAdd["validation_status"] = file.validation_status
fileDataToAdd['bibdocid'] = file.bibdocid;
fileDataToAdd['format'] = file.format;
fileDataToAdd['version'] = file.version;
filesData.push(fileDataToAdd);
}
// Set actions dropdown state if there are only restricted files
if (onlyRestricted) {
$('#files-action-dropdown').prop("disabled", true);
}
return filesData
}
});