Skip to content
Snippets Groups Projects
Verified Commit 657105ab authored by Daniel Göbel's avatar Daniel Göbel
Browse files

Add delete modal to confirm deletion of permission

#13
parent e01e2b22
No related branches found
No related tags found
1 merge request!13Add modal to confirm deletion
<script setup lang="ts"> <script setup lang="ts">
import { onMounted, reactive, watch, ref, computed } from "vue"; import { onMounted, reactive, watch, ref, computed } from "vue";
import BootstrapModal from "@/components/Modals/BootstrapModal.vue"; import BootstrapModal from "@/components/Modals/BootstrapModal.vue";
import DeleteModal from "@/components/Modals/DeleteModal.vue";
import { Modal } from "bootstrap"; import { Modal } from "bootstrap";
import dayjs from "dayjs"; import dayjs from "dayjs";
import type { import type {
...@@ -248,7 +249,7 @@ function formSubmit() { ...@@ -248,7 +249,7 @@ function formSubmit() {
* @param bucketName Bucket to delete * @param bucketName Bucket to delete
* @param uid ID of grantee of the permission * @param uid ID of grantee of the permission
*/ */
function deletePermission(bucketName: string, uid: string) { function confirmedDeletePermission(bucketName: string, uid: string) {
if (!formState.loading) { if (!formState.loading) {
formState.loading = true; formState.loading = true;
BucketPermissionsService.bucketPermissionsDeletePermissionForBucket( BucketPermissionsService.bucketPermissionsDeletePermissionForBucket(
...@@ -280,6 +281,15 @@ onMounted(() => { ...@@ -280,6 +281,15 @@ onMounted(() => {
</script> </script>
<template> <template>
<DeleteModal
:modalID="'delete-permission-modal' + randomIDSuffix"
modal-label="some-label"
object-name-delete="permission"
:back-modal-id="modalID"
@confirm-delete="
confirmedDeletePermission(permission.bucket_name, permission.uid)
"
/>
<div class="toast-container position-fixed top-0 end-0 p-3"> <div class="toast-container position-fixed top-0 end-0 p-3">
<div <div
role="alert" role="alert"
...@@ -329,7 +339,8 @@ onMounted(() => { ...@@ -329,7 +339,8 @@ onMounted(() => {
fill="currentColor" fill="currentColor"
class="me-2" class="me-2"
:class="{ 'delete-icon': !formState.loading }" :class="{ 'delete-icon': !formState.loading }"
@click="deletePermission(permission.bucket_name, permission.uid)" data-bs-toggle="modal"
:data-bs-target="'#delete-permission-modal' + randomIDSuffix"
/> />
<bootstrap-icon <bootstrap-icon
v-if="formState.readonly && props.editable" v-if="formState.readonly && props.editable"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment