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/vue_shared/components/remove_member_modal.vue')
-rw-r--r--app/assets/javascripts/vue_shared/components/remove_member_modal.vue116
1 files changed, 0 insertions, 116 deletions
diff --git a/app/assets/javascripts/vue_shared/components/remove_member_modal.vue b/app/assets/javascripts/vue_shared/components/remove_member_modal.vue
deleted file mode 100644
index 07272a5b8d6..00000000000
--- a/app/assets/javascripts/vue_shared/components/remove_member_modal.vue
+++ /dev/null
@@ -1,116 +0,0 @@
-<script>
-import { GlFormCheckbox, GlModal } from '@gitlab/ui';
-import * as Sentry from '@sentry/browser';
-import { parseBoolean } from '~/lib/utils/common_utils';
-import csrf from '~/lib/utils/csrf';
-import { s__, __ } from '~/locale';
-import OncallSchedulesList from '~/vue_shared/components/oncall_schedules_list.vue';
-
-export default {
- actionCancel: {
- text: __('Cancel'),
- },
- csrf,
- components: {
- GlFormCheckbox,
- GlModal,
- OncallSchedulesList,
- },
- data() {
- return {
- modalData: {},
- };
- },
- computed: {
- isAccessRequest() {
- return parseBoolean(this.modalData.isAccessRequest);
- },
- isInvite() {
- return parseBoolean(this.modalData.isInvite);
- },
- isGroupMember() {
- return this.modalData.memberType === 'GroupMember';
- },
- actionText() {
- if (this.isAccessRequest) {
- return __('Deny access request');
- } else if (this.isInvite) {
- return s__('Member|Revoke invite');
- }
-
- return __('Remove member');
- },
- actionPrimary() {
- return {
- text: this.actionText,
- attributes: {
- variant: 'danger',
- },
- };
- },
- showUnassignIssuablesCheckbox() {
- return !this.isAccessRequest && !this.isInvite;
- },
- isPartOfOncallSchedules() {
- return !this.isAccessRequest && this.oncallSchedules.schedules?.length;
- },
- oncallSchedules() {
- try {
- return JSON.parse(this.modalData.oncallSchedules);
- } catch (e) {
- Sentry.captureException(e);
- }
- return {};
- },
- },
- mounted() {
- document.addEventListener('click', this.handleClick);
- },
- beforeDestroy() {
- document.removeEventListener('click', this.handleClick);
- },
- methods: {
- handleClick(event) {
- const removeButton = event.target.closest('.js-remove-member-button');
- if (removeButton) {
- this.modalData = removeButton.dataset;
- this.$refs.modal.show();
- }
- },
- submitForm() {
- this.$refs.form.submit();
- },
- },
-};
-</script>
-
-<template>
- <gl-modal
- ref="modal"
- modal-id="remove-member-modal"
- :action-cancel="$options.actionCancel"
- :action-primary="actionPrimary"
- :title="actionText"
- data-qa-selector="remove_member_modal_content"
- @primary="submitForm"
- >
- <form ref="form" :action="modalData.memberPath" method="post">
- <p data-testid="modal-message">{{ modalData.message }}</p>
-
- <oncall-schedules-list
- v-if="isPartOfOncallSchedules"
- :schedules="oncallSchedules.schedules"
- :user-name="oncallSchedules.name"
- />
-
- <input ref="method" type="hidden" name="_method" value="delete" />
- <input :value="$options.csrf.token" type="hidden" name="authenticity_token" />
- <gl-form-checkbox v-if="isGroupMember" name="remove_sub_memberships">
- {{ __('Also remove direct user membership from subgroups and projects') }}
- </gl-form-checkbox>
- <gl-form-checkbox v-if="showUnassignIssuablesCheckbox" name="unassign_issuables">
- {{ __('Also unassign this user from related issues and merge requests') }}
- </gl-form-checkbox>
- </form>
- </gl-modal>
-</template>