Skip to content
Snippets Groups Projects

Add a modal under feature flag for members invite

Closed Diana Zubova requested to merge dz/348486-additional-charge-users-modal into master
3 unresolved threads
Compare and Show latest version
7 files
+ 131
100
Compare changes
  • Side-by-side
  • Inline
Files
7
<script>
import { GlModal, GlLink } from '@gitlab/ui';
import { __, sprintf } from '~/locale';
import {
OVERAGE_MODAL_TITLE,
OVERAGE_MODAL_LINK,
OVERAGE_MODAL_INFO,
} from '~/invite_members/constants';
export default {
components: {
GlModal,
GlLink,
},
props: {
form: {
type: HTMLFormElement,
required: true,
},
totalUserCount: {
type: Number,
required: true,
},
subscriptionSeats: {
type: String,
required: true,
},
groupName: {
type: String,
required: true,
},
},
i18n: {
title: OVERAGE_MODAL_TITLE,
infoText: OVERAGE_MODAL_INFO,
url: OVERAGE_MODAL_LINK,
},
data() {
return {
actionPrimary: {
text: __('Invite'),
attributes: [{ variant: 'confirm' }, { category: 'primary' }],
},
actionCancel: {
text: __('Cancel'),
},
};
},
computed: {
modalInfoText() {
return sprintf(this.$options.i18n.infoText, {
subscriptionSeats: this.subscriptionSeats,
groupName: this.groupName,
totalSeats: this.totalUserCount,
});
},
},
methods: {
handlePrimary() {
this.form.submit();
},
handleHide() {
const formInviteButton = this.form.querySelector('input[type="submit"]');
formInviteButton.removeAttribute('disabled');
formInviteButton.classList.remove('disabled');
},
},
};
</script>
<template>
<gl-modal
visible
size="sm"
modal-id="confirmInviteMember"
:title="$options.i18n.title"
:action-primary="actionPrimary"
:action-cancel="actionCancel"
@primary="handlePrimary"
@hide="handleHide"
>
{{ modalInfoText }}
<gl-link :href="$options.i18n.url" target="_blank">{{ __('Learn more.') }}</gl-link>
</gl-modal>
</template>
Loading