summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/sidebar/components/assignees/sidebar_invite_members.vue
blob: 9952c6db5822f08405edab5a13664d601123b576 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<script>
import InviteMemberModal from '~/invite_member/components/invite_member_modal.vue';
import InviteMemberTrigger from '~/invite_member/components/invite_member_trigger.vue';
import InviteMembersTrigger from '~/invite_members/components/invite_members_trigger.vue';
import { __ } from '~/locale';

export default {
  displayText: __('Invite members'),
  dataTrackLabel: 'edit_assignee',
  components: {
    InviteMemberTrigger,
    InviteMemberModal,
    InviteMembersTrigger,
  },
  inject: {
    projectMembersPath: {
      default: '',
    },
    directlyInviteMembers: {
      default: false,
    },
  },
  computed: {
    trackEvent() {
      return this.directlyInviteMembers ? 'click_invite_members' : 'click_invite_members_version_b';
    },
  },
};
</script>

<template>
  <div>
    <invite-members-trigger
      v-if="directlyInviteMembers"
      trigger-element="anchor"
      :display-text="$options.displayText"
      :event="trackEvent"
      :label="$options.dataTrackLabel"
      classes="gl-display-block gl-pl-6 gl-hover-text-decoration-none gl-hover-text-blue-800!"
    />
    <template v-else>
      <invite-member-trigger
        :display-text="$options.displayText"
        :event="trackEvent"
        :label="$options.dataTrackLabel"
        class="gl-display-block gl-pl-6 gl-hover-text-decoration-none gl-hover-text-blue-800!"
      />
      <invite-member-modal :members-path="projectMembersPath" />
    </template>
  </div>
</template>