All files / ee/app/assets/javascripts path_locks.js

0% Statements 0/10
0% Branches 0/4
0% Functions 0/4
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 29 30 31 32 33 34 35 36                                                                       
import $ from 'jquery';
import { createAlert } from '~/alert';
import axios from '~/lib/utils/axios_utils';
import { confirmAction } from '~/lib/utils/confirm_via_gl_modal/confirm_via_gl_modal';
import { sprintf, __ } from '~/locale';
 
export default function initPathLocks(url, path) {
  $('a.path-lock').on('click', async (e) => {
    e.preventDefault();
 
    const { dataset } = e.target;
    const message =
      dataset.state === 'lock'
        ? __('Are you sure you want to lock %{path}?')
        : __('Are you sure you want to unlock %{path}?');
 
    const confirmed = await confirmAction(sprintf(message, { path }));
    if (!confirmed) {
      return;
    }
 
    axios
      .post(url, {
        path,
      })
      .then(() => {
        window.location.reload();
      })
      .catch(() =>
        createAlert({
          message: __('An error occurred while initializing path locks'),
        }),
      );
  });
}