summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/notes
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/notes')
-rw-r--r--app/assets/javascripts/notes/stores/modules/index.js52
-rw-r--r--app/assets/javascripts/notes/stores/state.js53
2 files changed, 55 insertions, 50 deletions
diff --git a/app/assets/javascripts/notes/stores/modules/index.js b/app/assets/javascripts/notes/stores/modules/index.js
index 317fe6442d4..7eba491430b 100644
--- a/app/assets/javascripts/notes/stores/modules/index.js
+++ b/app/assets/javascripts/notes/stores/modules/index.js
@@ -1,58 +1,10 @@
-import { ASC, MR_FILTER_OPTIONS } from '../../constants';
import * as actions from '../actions';
import * as getters from '../getters';
import mutations from '../mutations';
+import createState from '../state';
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),
- },
+ state: createState(),
actions,
getters,
mutations,
diff --git a/app/assets/javascripts/notes/stores/state.js b/app/assets/javascripts/notes/stores/state.js
new file mode 100644
index 00000000000..8e49cd861a1
--- /dev/null
+++ b/app/assets/javascripts/notes/stores/state.js
@@ -0,0 +1,53 @@
+import { ASC, MR_FILTER_OPTIONS } from '../constants';
+
+const createState = () => ({
+ 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),
+});
+
+export default createState;