summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/notes/stores/modules/index.js
blob: 317fe6442d4286a5c9b9c346255e1ce83c5a1765 (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
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
import { ASC, MR_FILTER_OPTIONS } from '../../constants';
import * as actions from '../actions';
import * as getters from '../getters';
import mutations from '../mutations';

export default () => ({
  state: {
    discussions: [],
    discussionSortOrder: ASC,
    persistSortOrder: true,
    convertedDisscussionIds: [],
    targetNoteHash: null,
    lastFetchedAt: null,
    currentDiscussionId: null,
    batchSuggestionsInfo: [],
    currentlyFetchingDiscussions: false,
    doneFetchingBatchDiscussions: false,
    /**
     * selectedCommentPosition & selectedCommentPositionHover structures are the same as `position.line_range`:
     * {
     *  start: { line_code: string, new_line: number, old_line:number, type: string },
     *  end: { line_code: string, new_line: number, old_line:number, type: string },
     * }
     */
    selectedCommentPosition: null,
    selectedCommentPositionHover: null,

    // View layer
    isToggleStateButtonLoading: false,
    isNotesFetched: false,
    isLoading: true,
    isLoadingDescriptionVersion: false,
    isPromoteCommentToTimelineEventInProgress: false,

    // holds endpoints and permissions provided through haml
    notesData: {
      markdownDocsPath: '',
    },
    userData: {},
    noteableData: {
      discussion_locked: false,
      confidential: false, // TODO: Move data like this to Issue Store, should not be apart of notes.
      current_user: {},
      preview_note_path: 'path/to/preview',
    },
    isResolvingDiscussion: false,
    commentsDisabled: false,
    resolvableDiscussionsCount: 0,
    unresolvedDiscussionsCount: 0,
    descriptionVersions: {},
    isTimelineEnabled: false,
    isFetching: false,
    isPollingInitialized: false,
    mergeRequestFilters: MR_FILTER_OPTIONS.map((f) => f.value),
  },
  actions,
  getters,
  mutations,
});