From 833226f44f37c7a57e97ba770f3368422c80394d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20B=C3=B6ttcher?= <c.boettcher@fz-juelich.de> Date: Wed, 16 Aug 2023 11:34:01 +0200 Subject: [PATCH] add bulk deletion functionality to frontend --- frontend/js/apicalls.js | 13 +++++++++++++ frontend/templates/storage_content.html.jinja | 4 ++++ 2 files changed, 17 insertions(+) diff --git a/frontend/js/apicalls.js b/frontend/js/apicalls.js index f31a887..2ff84ce 100644 --- a/frontend/js/apicalls.js +++ b/frontend/js/apicalls.js @@ -273,6 +273,7 @@ async function setDatasetView() { $('#modifyDatasetButtonGroup').hide(); $('#filterForm').hide(); $('#pagingBar').hide(); + $('#deleteButtonDiv').hide(); if (window.sessionStorage.auth_token) { $('#modifyDatasetButtonGroup').show(); } @@ -450,11 +451,13 @@ async function showListingOrSingleDataset() { $('#addNewDatasetForm').show(); $('#filterForm').show(); $('#pagingBar').show(); + $('#deleteButtonDiv').show(); } listDatasets(getType(), getFilterSearch(), getFilterName(), getFilterUrl(), getFilterKeys(), getPage()); } else if (getId() == "new") { $('#datasetListTable').hide(); $('#pagingBar').hide(); + $('#deleteButtonDiv').hide(); $('#storageTypeChooser').hide(); $('#datasetViewTable').show(); $('#filterForm').hide(); @@ -538,6 +541,16 @@ function deleteMultipleDatasets(oids, datatype) { disableMetadataButtons(); } +function deleteMultipleButtonPressed() { + // collect list of oids + oids = collectDeleteOIDs(); + datatype = getType() + // query if user is sure to delete X datasets + if (confirm("Delete " + oids.length + " elements of the type " + datatype + "?")) { + deleteMultipleDatasets(oids, datatype); + } +} + function editButtonPressed() { // make all inputfields editable, enable save button, disable edit button enableButtons(true, false, true); diff --git a/frontend/templates/storage_content.html.jinja b/frontend/templates/storage_content.html.jinja index e010d1a..59066e5 100644 --- a/frontend/templates/storage_content.html.jinja +++ b/frontend/templates/storage_content.html.jinja @@ -101,6 +101,10 @@ </table> </div> + <div id ="deleteButtonDiv"> + <button type="button" class="btn btn-danger" onclick="deleteMultipleButtonPressed()">Delete Selected Datasets</button> + </div> + <div class="btn-group" role="group" id="modifyDatasetButtonGroup"> <button type="button" class="btn btn-success" disabled id="button-save" onclick="saveButtonPressed()">Save</button> <button type="button" class="btn btn-primary" id="button-edit" onclick="editButtonPressed()">Edit</button> -- GitLab