summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/visual_review_toolbar/components/comment_mr_note.js
blob: da67763261cf3c021d9d285fbb1fa1c67ca95785 (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
30
31
import { nextView } from '../store';
import { localStorage, CHANGE_MR_ID_BUTTON, COMMENT_BOX, STORAGE_MR_ID } from '../shared';
import { clearNote } from './note';
import { buttonClearStyles } from './utils';
import { addForm } from './wrapper';

const selectedMrNote = state => {
  const { mrUrl, projectPath, mergeRequestId } = state;

  const mrLink = `${mrUrl}/${projectPath}/merge_requests/${mergeRequestId}`;

  return `
    <p class="gitlab-metadata-note">
      This posts to merge request <a class="gitlab-link" href="${mrLink}">!${mergeRequestId}</a>.
      <button style="${buttonClearStyles}" type="button" id="${CHANGE_MR_ID_BUTTON}" class="gitlab-link gitlab-link-button">Change</button>
    </p>
  `;
};

const clearMrId = state => {
  localStorage.removeItem(STORAGE_MR_ID);
  state.mergeRequestId = '';
};

const changeSelectedMr = state => {
  clearMrId(state);
  clearNote();
  addForm(nextView(state, COMMENT_BOX));
};

export { changeSelectedMr, selectedMrNote };