You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2019/05/24 18:28:44 UTC
[airavata-django-portal] 08/08: AIRAVATA-3034 Delete directories,
path
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch airavata-3016
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 87f4d831b83982c636d7911f8c429bebab39ce38
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Fri May 24 12:41:48 2019 -0400
AIRAVATA-3034 Delete directories, path
---
.../components/storage/UserStoragePathViewer.vue | 22 ++++++++++++++++++++++
.../js/containers/UserStorageContainer.vue | 19 ++++++++++++++++++-
2 files changed, 40 insertions(+), 1 deletion(-)
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/UserStoragePathViewer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/UserStoragePathViewer.vue
index 95ba055..a2286f2 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/UserStoragePathViewer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/storage/UserStoragePathViewer.vue
@@ -28,11 +28,20 @@
>
<span :title="data.item.createdTime.toString()">{{ fromNow(data.item.createdTime)}}</span>
</template>
+ <template
+ slot="actions"
+ slot-scope="data"
+ >
+ <delete-button @delete="deleteItem(data.item)">
+ Are you sure you want to delete {{ data.item.name }}?
+ </delete-button>
+ </template>
</b-table>
</div>
</template>
<script>
import UserStoragePathBreadcrumb from "./UserStoragePathBreadcrumb.vue";
+import { components } from "django-airavata-common-ui";
import moment from "moment";
export default {
@@ -43,6 +52,7 @@ export default {
}
},
components: {
+ "delete-button": components.DeleteButton,
UserStoragePathBreadcrumb
},
computed: {
@@ -63,6 +73,10 @@ export default {
label: "Created Time",
key: "createdTimestamp",
sortable: true
+ },
+ {
+ label: "Actions",
+ key: "actions"
}
];
},
@@ -82,6 +96,7 @@ export default {
return {
name: f.name,
type: "file",
+ dataProductURI: f.dataProductURI,
downloadURL: f.downloadURL,
createdTime: f.createdTime,
createdTimestamp: f.createdTime.getTime(), // for sorting
@@ -108,6 +123,13 @@ export default {
} else {
return size + " bytes";
}
+ },
+ deleteItem(item) {
+ if (item.type === "dir") {
+ this.$emit("delete-dir", item.path);
+ } else if (item.type === "file") {
+ this.$emit("delete-file", item.dataProductURI);
+ }
}
}
};
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/UserStorageContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/UserStorageContainer.vue
index 0674abd..809bcb2 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/UserStorageContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/UserStorageContainer.vue
@@ -39,7 +39,11 @@
<div class="row">
<div class="col">
<b-card>
- <router-view :user-storage-path="userStoragePath"></router-view>
+ <router-view
+ :user-storage-path="userStoragePath"
+ @delete-dir="deleteDir"
+ @delete-file="deleteFile"
+ ></router-view>
</b-card>
</div>
</div>
@@ -127,6 +131,19 @@ export default {
}
);
}
+ },
+ deleteDir(path) {
+ utils.FetchUtils.delete("/api/user-storage/~/" + path).then(result => {
+ this.loadUserStoragePath(this.storagePath);
+ });
+ },
+ deleteFile(dataProductURI) {
+ utils.FetchUtils.delete(
+ "/api/delete-file?data-product-uri=" +
+ encodeURIComponent(dataProductURI)
+ ).then(() => {
+ this.loadUserStoragePath(this.storagePath);
+ });
}
},
created() {