All files / app/assets/javascripts/namespaces leave_by_url.js

0% Statements 0/12
0% Branches 0/6
0% Functions 0/1
0% Lines 0/10

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                                                       
import { createAlert } from '~/alert';
import { initRails } from '~/lib/utils/rails_ujs';
import { getParameterByName } from '~/lib/utils/url_utility';
import { __, sprintf } from '~/locale';
 
const PARAMETER_NAME = 'leave';
const LEAVE_LINK_SELECTOR = '.js-leave-link';
 
export default function leaveByUrl(namespaceType) {
  if (!namespaceType) throw new Error('namespaceType not provided');
 
  const param = getParameterByName(PARAMETER_NAME);
  if (!param) return;
 
  initRails();
 
  const leaveLink = document.querySelector(LEAVE_LINK_SELECTOR);
  if (leaveLink) {
    leaveLink.click();
  } else {
    createAlert({
      message: sprintf(__('You do not have permission to leave this %{namespaceType}.'), {
        namespaceType,
      }),
    });
  }
}