diff --git a/app/server/static/components/label.vue b/app/server/static/components/label.vue
index 0768da8662..8a5037bc8d 100644
--- a/app/server/static/components/label.vue
+++ b/app/server/static/components/label.vue
@@ -111,11 +111,31 @@
span Edit
p.control
- a.button.is-text(v-on:click="removeLabel(label)")
+ a.button.is-text(v-on:click="confirmDeleteModal(label)")
span.icon.is-small
i.fas.fa-trash
span Delete
+ div.modal(
+ v-if="isDeleteModalOpen"
+ v-bind:class="{ 'is-active': isDeleteModalOpen }"
+ v-bind:data="deleteModalData"
+ )
+ div.modal-background
+ div.modal-card
+ header.modal-card-head
+ p.modal-card-title Delete Label
+ button.delete(
+ v-on:click="isDeleteModalOpen = !isDeleteModalOpen"
+ aria-label="close"
+ )
+ section.modal-card-body
+ p Are you sure you want to delete the label {{ deleteModalData.text }}?
+ footer.modal-card-foot.pt20.pb20.pr20.pl20.has-background-white-ter
+ a.button.is-primary(v-on:click="removeLabel(deleteModalData)")
+ span Delete
+ button.button(v-on:click="isDeleteModalOpen = !isDeleteModalOpen") Cancel
+
div.columns(v-show="label === editedLabel")
div.column
div.field
@@ -205,6 +225,8 @@ export default {
editedLabel: null,
messages: [],
shortKeys: 'abcdefghijklmnopqrstuvwxyz',
+ isDeleteModalOpen: false,
+ deleteModalData: null,
}),
created() {
@@ -268,8 +290,14 @@ export default {
});
},
+ confirmDeleteModal(label) {
+ this.deleteModalData = label;
+ this.isDeleteModalOpen = !this.isDeleteModalOpen;
+ },
+
removeLabel(label) {
const labelId = label.id;
+ this.isDeleteModalOpen = !this.isDeleteModalOpen;
HTTP.delete(`labels/${labelId}`).then(() => {
const index = this.labels.indexOf(label);
this.labels.splice(index, 1);
diff --git a/app/server/static/components/users.vue b/app/server/static/components/users.vue
index ff3ced47a2..cb720eb601 100644
--- a/app/server/static/components/users.vue
+++ b/app/server/static/components/users.vue
@@ -61,10 +61,30 @@
)
| {{ otherRole.name }}
b-table-column(label="Action")
- a.button.is-text(v-on:click="removeRoleMapping(props.row.id)")
+ a.button.is-text(v-on:click="confirmDeleteModal(props.row)")
span.icon.is-small
i.fas.fa-trash
span Delete
+
+ div.modal(
+ v-if="isDeleteModalOpen"
+ v-bind:class="{ 'is-active': isDeleteModalOpen }"
+ v-bind:data="deleteModalData"
+ )
+ div.modal-background
+ div.modal-card
+ header.modal-card-head
+ p.modal-card-title Delete User Role
+ button.delete(
+ v-on:click="isDeleteModalOpen = !isDeleteModalOpen"
+ aria-label="close"
+ )
+ section.modal-card-body
+ p Are you sure you want to delete the role for user {{ deleteModalData.username }}?
+ footer.modal-card-foot.pt20.pb20.pr20.pl20.has-background-white-ter
+ a.button.is-primary(v-on:click="removeRoleMapping(deleteModalData.id)")
+ span Delete
+ button.button(v-on:click="isDeleteModalOpen = !isDeleteModalOpen") Cancel