summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/notes/mixins/discussion_navigation.js
blob: f7c4deee1f8ea68b964a358de3db45597d0085f1 (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
import { scrollToElement } from '~/lib/utils/common_utils';

export default {
  methods: {
    jumpToDiscussion(id) {
      if (id) {
        const activeTab = window.mrTabs.currentAction;
        const selector =
          activeTab === 'diffs'
            ? `ul.notes[data-discussion-id="${id}"]`
            : `div.discussion[data-discussion-id="${id}"]`;
        const el = document.querySelector(selector);

        if (activeTab === 'commits' || activeTab === 'pipelines') {
          window.mrTabs.activateTab('show');
        }

        if (el) {
          this.expandDiscussion({ discussionId: id });

          scrollToElement(el);
          return true;
        }
      }

      return false;
    },
  },
};