Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/members/components/action_buttons/remove_member_button.vue')
-rw-r--r--app/assets/javascripts/members/components/action_buttons/remove_member_button.vue57
1 files changed, 57 insertions, 0 deletions
diff --git a/app/assets/javascripts/members/components/action_buttons/remove_member_button.vue b/app/assets/javascripts/members/components/action_buttons/remove_member_button.vue
new file mode 100644
index 00000000000..b0b7ff4ce9a
--- /dev/null
+++ b/app/assets/javascripts/members/components/action_buttons/remove_member_button.vue
@@ -0,0 +1,57 @@
+<script>
+import { mapState } from 'vuex';
+import { GlButton, GlTooltipDirective } from '@gitlab/ui';
+
+export default {
+ name: 'RemoveMemberButton',
+ components: { GlButton },
+ directives: {
+ GlTooltip: GlTooltipDirective,
+ },
+ props: {
+ memberId: {
+ type: Number,
+ required: true,
+ },
+ message: {
+ type: String,
+ required: true,
+ },
+ title: {
+ type: String,
+ required: true,
+ },
+ icon: {
+ type: String,
+ required: false,
+ default: 'remove',
+ },
+ isAccessRequest: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
+ },
+ computed: {
+ ...mapState(['memberPath']),
+ computedMemberPath() {
+ return this.memberPath.replace(':id', this.memberId);
+ },
+ },
+};
+</script>
+
+<template>
+ <gl-button
+ v-gl-tooltip.hover
+ class="js-remove-member-button"
+ variant="danger"
+ :title="title"
+ :aria-label="title"
+ :icon="icon"
+ :data-member-path="computedMemberPath"
+ :data-is-access-request="isAccessRequest"
+ :data-message="message"
+ data-qa-selector="delete_member_button"
+ />
+</template>