All files / app/assets/javascripts/pages/projects/merge_requests init_merge_request_show.js

0% Statements 0/15
100% Branches 0/0
0% Functions 0/3
0% Lines 0/15

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 51 52 53 54 55 56 57 58 59 60 61                                                                                                                         
import Vue from 'vue';
import VueApollo from 'vue-apollo';
import { s__ } from '~/locale';
import { addShortcutsExtension } from '~/behaviors/shortcuts';
import ShortcutsIssuable from '~/behaviors/shortcuts/shortcuts_issuable';
import { initPipelineCountListener } from '~/commit/pipelines/utils';
import { initIssuableSidebar } from '~/issuable';
import MergeRequestHeader from '~/merge_requests/components/merge_request_header.vue';
import createDefaultClient from '~/lib/graphql';
import { parseBoolean } from '~/lib/utils/common_utils';
import initSourcegraph from '~/sourcegraph';
import ZenMode from '~/zen_mode';
import initAwardsApp from '~/emoji/awards_app';
import { initMrExperienceSurvey } from '~/surveys/merge_request_experience';
import toast from '~/vue_shared/plugins/global_toast';
import getStateQuery from './queries/get_state.query.graphql';
import initCheckoutModal from './init_checkout_modal';
 
export default function initMergeRequestShow(store) {
  new ZenMode(); // eslint-disable-line no-new
  initPipelineCountListener(document.querySelector('#commit-pipeline-table-view'));
  addShortcutsExtension(ShortcutsIssuable);
  initSourcegraph();
  initIssuableSidebar();
  initAwardsApp(document.getElementById('js-vue-awards-block'));
  initMrExperienceSurvey();
  initCheckoutModal();
 
  const el = document.querySelector('.js-mr-header');
  const { hidden, iid, projectPath, state } = el.dataset;
 
  // eslint-disable-next-line no-new
  new Vue({
    el,
    name: 'MergeRequestHeaderRoot',
    store,
    apolloProvider: new VueApollo({
      defaultClient: createDefaultClient(),
    }),
    provide: {
      query: getStateQuery,
      hidden: parseBoolean(hidden),
      iid,
      projectPath,
    },
    render(createElement) {
      return createElement(MergeRequestHeader, {
        props: {
          initialState: state,
        },
      });
    },
  });
 
  const copyReferenceButton = document.querySelector('.js-copy-reference');
 
  copyReferenceButton?.addEventListener('click', () => {
    toast(s__('MergeRequests|Reference copied'));
  });
}