Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 | import { GlToast } from '@gitlab/ui'; import Vue from 'vue'; import InviteGroupsModal from '~/invite_members/components/invite_groups_modal.vue'; import { parseBoolean } from '~/lib/utils/common_utils'; Vue.use(GlToast); let initedInviteGroupsModal; export default function initInviteGroupsModal() { if (initedInviteGroupsModal) { // if we already loaded this in another part of the dom, we don't want to do it again // else we will stack the modals return false; } // https://gitlab.com/gitlab-org/gitlab/-/issues/344955 // bug lying in wait here for someone to put group and project invite in same screen // once that happens we'll need to mount these differently, perhaps split // group/project to each mount one, with many ways to open it. const el = document.querySelector('.js-invite-groups-modal'); if (!el) { return false; } initedInviteGroupsModal = true; return new Vue({ el, provide: { freeUsersLimit: parseInt(el.dataset.freeUsersLimit, 10), }, render: (createElement) => createElement(InviteGroupsModal, { props: { ...el.dataset, isProject: parseBoolean(el.dataset.isProject), accessLevels: JSON.parse(el.dataset.accessLevels), defaultAccessLevel: parseInt(el.dataset.defaultAccessLevel, 10), groupSelectFilter: el.dataset.groupsFilter, groupSelectParentId: parseInt(el.dataset.parentId, 10), invalidGroups: JSON.parse(el.dataset.invalidGroups || '[]'), freeUserCapEnabled: parseBoolean(el.dataset.freeUserCapEnabled), reloadPageOnSubmit: parseBoolean(el.dataset.reloadPageOnSubmit), }, }), }); } |